I have a simple grammar like this:
generate ruledsl "http://www.ruledsl.com"
Model:
rules += Rule*;
Regel:
rule = 'Rule' '{' subrule += Subrule* '}'
;
Subrule: fieldA=ID opName=Operator fieldB=INT;
Operator:
'<' | '<=' | '=' | '>=' | '>'
;
If I test this language with the generated Eclipse PlugIn, everything is fine.
However, I want to unit test my DSL and therefore I tried this:
@RunWith(XtextRunner)
@InjectWith(RegelspracheInjectorProvider)
class RuledslParsingTest{
@Inject
ParseHelper<Model> parseHelper
@Test
def void loadModel() {
parseHelper.
val result = parseHelper.parse('''
Rule {
field1 > 5
field3 = test5
}
''')
println(result)
}
}
Why does the parseHelper accept this illegal input? 'test5' is clearly not a legal value for fieldB?
[Updated on: Fri, 09 September 2016 21:16]
Report message to a moderator