--- trunk/src/mdParser/MDTreeParser.g 2006/05/17 21:51:42 963 +++ trunk/src/mdParser/MDTreeParser.g 2008/07/04 20:54:29 1275 @@ -79,6 +79,7 @@ moleculestatement : assignment | bondblock | bendblock | torsionblock + | inversionblock | rigidbodyblock | cutoffgroupblock | fragmentblock @@ -164,6 +165,25 @@ torsionstatement } : assignment | #(MEMBERS ivec=inttuple) {currTorsionStamp->setMembers(ivec);} + ; + +inversionblock : #(INVERSION {InversionStamp* currInversionStamp = new InversionStamp(); blockStack.push(currInversionStamp);} + (inversionstatement)* + ENDBLOCK ) { + blockStack.top()->validate(); + blockStack.pop(); + MoleculeStamp* currMoleculeStamp = static_cast(blockStack.top()); + currMoleculeStamp->addInversionStamp(currInversionStamp); + } + ; + +inversionstatement +{ + int icent; + InversionStamp* currInversionStamp = static_cast(blockStack.top()); +} + : assignment + | #(CENTER icent=intConst) {currInversionStamp->setCenter(icent);} ; rigidbodyblock