| 66 |  |  | 
| 67 |  | clausePrimitive  ::= clauseComparator | | 
| 68 |  | clauseWithin | | 
| 69 | < | clauseChemObject | | 
| 69 | > | clauseName | | 
| 70 |  | none | all | | 
| 71 |  | ( clauseOr ) | 
| 72 |  |  | 
| 75 |  | clauseWithin     ::= WITHIN ( clauseDistance , expression ) | 
| 76 |  |  | 
| 77 |  | clauseDistance   ::= integer | decimal | 
| 78 | < |  | 
| 79 | < | clauseChemObject::= {clauseMolecule} | {clauseStuntDouble} | 
| 78 | > |  | 
| 79 | > | clauseName::= *|string{.string{.string}} | 
| 80 |  |  | 
| 81 | – | clauseMolecule ::= {clauseMolName} | {clauseMolIndex} | 
| 81 |  |  | 
| 83 | – | clauseMolName ::= molname clauseName | 
| 84 | – |  | 
| 85 | – | clauseName::= *|string | 
| 86 | – |  | 
| 87 | – | clauseMolIndex ::= molindex clauseIndex | 
| 88 | – |  | 
| 89 | – | clauseIndex ::= integer {- integer } | 
| 90 | – |  | 
| 91 | – | clauseStuntDouble ::= {clauseStuntDoubleName} | {clauseStuntDoubleIndex} | 
| 92 | – |  | 
| 93 | – | clauseStuntDoubleName ::= name clauseName | 
| 94 | – |  | 
| 95 | – | clauseStuntDoubleIndex ::= index clauseIndex | 
| 96 | – |  | 
| 82 |  | * </pre> | 
| 83 |  | */ | 
| 84 |  | class SelectionCompiler{ | 
| 139 |  | bool clausePrimitive(); | 
| 140 |  | bool clauseWithin(); | 
| 141 |  | bool clauseComparator(); | 
| 142 | < | bool clauseName(int tok); | 
| 143 | < | bool clauseIndex(int tok); | 
| 142 | > | bool clauseChemObjName(); | 
| 143 | > | bool clauseName(std::string& name); | 
| 144 |  |  | 
| 145 |  | Token tokenNext(); | 
| 146 |  | boost::any valuePeek(); |