I have added the missing syntax checks based on the BB1.6 version.
In addition, I have fixed two more bugs that did existed in the 1.6 version.
1. the 'start' position of a set was not set correctly
2. in case of detecting eot (end of text) inside a set, the result type
was sometimes 'invalid' and sometimes 'eot'. Now it is always 'invalid'.
The Skip before parsing "}" is redundant and has been removed.
For the changes from the 1.6 version see
http://redmine.blackboxframework.org/pr ... 22ba0cbbbc.
The version can be derived easily from the 1.6 version by adding the missing
syntax checks according to the expected and legal follow-up symbols at
a particular position within the parser. Doing this with the 1.6 version
leads to an increase of an already existing code replication for parsing
the comma and the syntax checks. But with the added checks
this code replication becomes really obvious (and ugly). However,
it can be removed systematically by factoring out the comma handling leading to:
Cardinal [".." Cardinal] ParseCommaAndCheckSyntax.
The first step, i.e. the added checks in the original code, is included below.
StdCoder.Decode ..,, ...R....3QwdONl9RhOO9vRbf9b8R7fJHPNGomCrlAyIhgs,CbKBhZ
xi2,CoruKu4qouqm8rtuGfa4.hOO9vRb1Y66wb8RTfQ9vQRtIdvPZHWKqtCa.E.U5UBr.6.5Qw
dONlnayKmKKqCLLCJuGqayKm6F9vQ5nsH3.bnayKmKa2,Cor.kay4.qorGqmQCU2,CJuyKtQC9
8P9PP7ONbXmb.2.on2k5E9H.,6.kIV00.bnUGLu8ro8quGrmCLWKqt.2.w22U.EBU.U,.JFyuv
.U.2m,.9O.AU0Ky8.,..e,2Uz1,Ue.E.07c7kIl.O0w.AUZU.QKc8EElzbEc8pbCoWGoe8pW0m
dKKu0GIOpU8JECLR0mdCqkuKrKKtamRqk2aEf4Id0GrmGEqKR0mYuIeKoXKIdiHECKoeHECIY4
Idin4aEVKoXaIbqk2aktuGuaLsKKEenS0mtKKuiHESomGLICLK0mlWqIiHECLLCppaKsWmlWqI
UnhgodCv76rPTrN1HkfWoYmoW0GI8GM8GEmnS0mlWqI0GH0GICaUYbx2YWAbWAZUoYUsQR7Rn1
v76bPNaGEGobqk2ak2Cok8LmaKr4KqWmtmWiBZv2YntI.HtCPM0Ad43Ycgd7pdcQe3Zed2Ywgb
Uohd2YaEr0GSqXBBcM3ZHhcIN8,7JFOFRO1Hk2akYuoVmIICLLC5N76RP8q.akYOYX3hUgbUIY
gIYUYe6h6k2wcZZicUXVU..Ad43YX,qLF0GeW2,tQR7RERMORfR19PH9N,NFR8FPM0HM0HMFNu
IHeF,tMUiIYUYe6l4k2w6.M1M0a2..U7kX.UUQC.kV4KtG4EKghdQbUQC.M1M0A7.m0EESomG5
QA2Yn,.a2.v1kt....a.90UX2YWgjW....gV7A,HU3pd2RbBAV7M0A7WGrUhBZUoYUMP,7Dvla
..g,A,w8kq0GT0Gr0GWyIEaIbCIac9UhB3GoWCIIqqI0mWuIWU7kWmY33YnpZo,.k4ak2A,KIb
g,A,98H....HkWu2M098Ha2..00...akWu2Eag6...EbU3lRkYsQR,g566d8G9m4ktQef,M1AV
7llMD.66D0.,NFNuI90Uu.UUg6.qU3p7,tI9nRqE,5TeK45uPR9RZvPN9P9fQbf9b8RCIu8LqG
omCrl0ksH3..RtETfPd16F9vQ59.C24485Et...ktu0.Y62Um1,.d.,.HE.6..M.3Qwd0ZORNP
NZvQRtIIepZBG20ksH3.bf9ZORNPNG20EtD.0E.ses,2UXW.2.52.CLLC3b8Rn9P99F9vQ0ks,
Uikwm46.ZD00U..60cKE.cU.UiAco,gA70,E0E...7,,M.,.,.,tcpW.6.tfj1kDz41.1.,6.I
kmL,6..EBU.U,.J,2.0E65.2..yf....
--- end of encoding ---
- Josef