mparker | ffb154f | 2009-07-31 21:48:18 +0000 | [diff] [blame^] | 1 | grammar org.eclipse.amp.amf.testing.ATest with org.eclipse.xtext.common.Terminals |
| 2 | |
| 3 | generate aTest "http://www.eclipse.org/amp/amf/testing/ATest" |
| 4 | import "http://www.eclipse.org/emf/2002/Ecore" as ecore |
| 5 | import 'platform:/resource/org.eclipse.amp.amf.acore/src/model/metaabm.ecore' |
| 6 | |
| 7 | Model : |
| 8 | (name=STRING)? |
| 9 | (description=PLAIN_STRING)? |
| 10 | (tests=Tests)? |
| 11 | (contraints+=Constraint)*; |
| 12 | |
| 13 | Tests : |
| 14 | 'TESTS' importURI=STRING; |
| 15 | |
| 16 | Constraint : |
| 17 | measure=Measure "(" agent=[SAgent|STRING]":"attribute=[SAttribute|STRING] (":" qualifier=[SStateValue|STRING])? ")" ("=" "[" minValue=(IntValue|RealValue) "," maxValue=(IntValue|RealValue) "]"); |
| 18 | |
| 19 | enum Measure : |
| 20 | COUNT = "Count" | AVERAGE = "Average" | SUM = "Sum" | MINIMUM = "Minimum" | MAXIMUM = "Maximum"; |
| 21 | |
| 22 | IntValue : |
| 23 | value=INT; |
| 24 | |
| 25 | RealValue : |
| 26 | value=REAL; |
| 27 | |
| 28 | terminal REAL : |
| 29 | "-"? INT ("." INT)?; |
| 30 | |
| 31 | terminal PLAIN_STRING : |
| 32 | '«'( '\\' ('b'|'t'|'n'|'f'|'r'|'"'|"'"|'\\') | !('\\'|'«'|'»') )*'»'; |