| 47 |
|
constant [ANTLR_USE_NAMESPACE(antlr)RefAST id] |
| 48 |
|
{ |
| 49 |
|
int ival; |
| 50 |
< |
double dval; |
| 50 |
> |
RealType dval; |
| 51 |
|
} |
| 52 |
|
: ival=intConst {blockStack.top()->assign(id->getText(), ival);} |
| 53 |
|
| dval=floatConst {blockStack.top()->assign(id->getText(), dval);} |
| 79 |
|
| bondblock |
| 80 |
|
| bendblock |
| 81 |
|
| torsionblock |
| 82 |
+ |
| inversionblock |
| 83 |
|
| rigidbodyblock |
| 84 |
|
| cutoffgroupblock |
| 85 |
|
| fragmentblock |
| 101 |
|
|
| 102 |
|
atomstatement |
| 103 |
|
{ |
| 104 |
< |
vector<double> dvec; |
| 104 |
> |
vector<RealType> dvec; |
| 105 |
|
AtomStamp* currAtomStamp = static_cast<AtomStamp*>(blockStack.top()); |
| 106 |
|
|
| 107 |
|
} |
| 165 |
|
} |
| 166 |
|
: assignment |
| 167 |
|
| #(MEMBERS ivec=inttuple) {currTorsionStamp->setMembers(ivec);} |
| 168 |
+ |
; |
| 169 |
+ |
|
| 170 |
+ |
inversionblock : #(INVERSION {InversionStamp* currInversionStamp = new InversionStamp(); blockStack.push(currInversionStamp);} |
| 171 |
+ |
(inversionstatement)* |
| 172 |
+ |
ENDBLOCK ) { |
| 173 |
+ |
blockStack.top()->validate(); |
| 174 |
+ |
blockStack.pop(); |
| 175 |
+ |
MoleculeStamp* currMoleculeStamp = static_cast<MoleculeStamp*>(blockStack.top()); |
| 176 |
+ |
currMoleculeStamp->addInversionStamp(currInversionStamp); |
| 177 |
+ |
} |
| 178 |
+ |
; |
| 179 |
+ |
|
| 180 |
+ |
inversionstatement |
| 181 |
+ |
{ |
| 182 |
+ |
int icent; |
| 183 |
+ |
InversionStamp* currInversionStamp = static_cast<InversionStamp*>(blockStack.top()); |
| 184 |
+ |
} |
| 185 |
+ |
: assignment |
| 186 |
+ |
| #(CENTER icent=intConst) {currInversionStamp->setCenter(icent);} |
| 187 |
|
; |
| 188 |
|
|
| 189 |
|
rigidbodyblock |
| 244 |
|
|
| 245 |
|
|
| 246 |
|
|
| 247 |
< |
doubleNumberTuple returns [vector<double> dvec] |
| 247 |
> |
doubleNumberTuple returns [vector<RealType> dvec] |
| 248 |
|
{ |
| 249 |
< |
double dval; |
| 249 |
> |
RealType dval; |
| 250 |
|
} |
| 251 |
|
: (dval=doubleNumber {dvec.push_back(dval);})+ |
| 252 |
|
; |
| 265 |
|
; |
| 266 |
|
|
| 267 |
|
protected |
| 268 |
< |
doubleNumber returns [double dval] |
| 268 |
> |
doubleNumber returns [RealType dval] |
| 269 |
|
: |
| 270 |
< |
ic:intConst {dval = lexi_cast<double>(ic->getText());} |
| 271 |
< |
| fc:floatConst {dval = lexi_cast<double>(fc->getText());} |
| 270 |
> |
ic:intConst {dval = lexi_cast<RealType>(ic->getText());} |
| 271 |
> |
| fc:floatConst {dval = lexi_cast<RealType>(fc->getText());} |
| 272 |
|
|
| 273 |
|
; |
| 274 |
|
|
| 275 |
|
protected |
| 276 |
< |
floatConst returns [double dval] |
| 277 |
< |
: d1:NUM_FLOAT {dval = lexi_cast<double>(d1->getText());} |
| 278 |
< |
| d2:NUM_DOUBLE {dval = lexi_cast<double>(d2->getText());} |
| 276 |
> |
floatConst returns [RealType dval] |
| 277 |
> |
: d1:NUM_FLOAT {dval = lexi_cast<RealType>(d1->getText());} |
| 278 |
> |
| d2:NUM_DOUBLE {dval = lexi_cast<RealType>(d2->getText());} |
| 279 |
|
; |
| 280 |
|
|