use of de.be4.classicalb.core.parser.exceptions.BCompoundException in project probparsers by bendisposto.
the class ParseTestUtil method parse.
private static String parse(final String input) throws BCompoundException {
final BParser parser = new BParser();
final Start ast = parser.parse(input, false);
final Ast2String ast2String = new Ast2String();
ast.apply(ast2String);
return ast2String.toString();
}
use of de.be4.classicalb.core.parser.exceptions.BCompoundException in project probparsers by bendisposto.
the class DefinitionFilesTest method testCircleReference.
/*
* test circles references between def files
*/
@Test
public void testCircleReference() throws Exception {
final String testMachine = "MACHINE Test\nDEFINITIONS \"DefFile3\"\nEND";
final BParser parser = new BParser("testcase");
try {
parser.parse(testMachine, false, this);
fail("Expected PreParseException missing");
} catch (final BCompoundException e) {
assertTrue(e.getCause() instanceof PreParseException);
}
}
use of de.be4.classicalb.core.parser.exceptions.BCompoundException in project probparsers by bendisposto.
the class DefinitionsOrderTest method testReordered.
@Test
public void testReordered() throws IOException, BCompoundException {
machine = new File(PATH + "DefinitionsOccurReordered.mch");
final BParser parser = new BParser(machine.getName());
Start start = parser.parseFile(machine, false);
assertNotNull(start);
}
use of de.be4.classicalb.core.parser.exceptions.BCompoundException in project probparsers by bendisposto.
the class ErrorMessagesTest method getTreeAsString.
private String getTreeAsString(final String testMachine) throws BCompoundException {
// System.out.println("Parsing \"" + testMachine + "\"");
final BParser parser = new BParser("testcase");
parser.getOptions().setGrammar(RulesGrammar.getInstance());
final Start startNode = parser.parse(testMachine, false);
// startNode.apply(new ASTPrinter());
final Ast2String ast2String = new Ast2String();
startNode.apply(ast2String);
final String string = ast2String.toString();
// System.out.println(string);
return string;
}
use of de.be4.classicalb.core.parser.exceptions.BCompoundException in project probparsers by bendisposto.
the class ErrorMessagesTest method testKeywordAsIdentifierInConstantsClause.
@Test
public void testKeywordAsIdentifierInConstantsClause() throws Exception {
final String testMachine = "MACHINE Test CONSTANTS right PROPERTIES right = 1 END";
try {
getTreeAsString(testMachine);
fail("Invalid identifier not detected");
} catch (BCompoundException e) {
System.out.println(e.getMessage());
BParseException e1 = (BParseException) e.getFirstException().getCause();
assertTrue(e1.getToken().getText().equals("right"));
}
}
Aggregations