Well this is my second mail having this subject line.
i have added the test result on our wiki .http://cdk.sourceforge.net/wiki/
developer documentation -->> parsertest out put for current parser.
                 I have tested 150 very complex kind of expression and the atom container coming out of that is 
                 telling the parser not only parser but matcher too!
                 I mean the substructure API is ready.
Here are some key points.
the code is now able to make a atom container from very complex expression too!
1) any kind of bracket "[ ]"expression is successfully parsed.
       every thing inside the [] is considered as a bracket expression.
2) any kind of column "( )" expression( infinite nested even) is also successfully parsed.
3) all kind of symbols are identified.(like v or only number(Mass atom) etc)
4) Any kind of atom expresion
         like AH4X4+ or even more complex.
Recursive smarts
5) Recursive smarts are also parsed and i am treating them like a regular smart expression.
   See the atom container on wiki.
   ( i thought to make a ChemicalEnvironment container but after all the process is same)
   i will sure put some images on the web page of my graphical tester about this.
   well if any body have a objection ?,please talk .
5) Dot operator is not implemented.(it is mostly needed for reaction and our aim is substructure search)
6) The only thing remain is @ , @@ / , \  to implement this i will first have to experiment
    with the streochemistry related function of IATOM.
Please experiment with this so that we will be able to remove any logical errors and bugs.
Dear egon,
    Please see the file SMARTParser.jj in smarts package you will be surprise with this design.
    and let me tell you one secret.
    no user of cdk has checked the chlorine atom with our parser before, you forgot to add the token
    <CL> in twocharecterelement function.( i have corrected it)
     Also the magical SMARTSOperatorAtom class is really doing a greate job.
How about writting a  cdk new on this substructure search and some instructions on smarts input.
well don't parse expression like C-C "carbon single bond carbon"
 the negetive charge and single bond were in conflict so i removed the single bond
 and forgot to add it again.( soon it will be corrected).
sushil ronghe
Center of Pharmacoinformatics