internal static Script Parse(string text, Func<ITokenStream, MovimentumParser> createParser = null) { ICharStream chars = new ANTLRStringStream(text); MovimentumLexer lexer = new MovimentumLexer(chars); ITokenStream tokens = new CommonTokenStream(lexer); MovimentumParser parser = createParser == null ? new MovimentumParser(tokens) : createParser(tokens); Script script = parser.script(); //if (parser.Errors.Count > 0) { // throw new InvalidOperationException("Parse-Fehler: " + string.Join("\r\n", parser.Errors.ToArray())); //} script.AddRigidBodyAnd2DConstraints(); return script; }
private static MovimentumParser CreateParserForSyntacticTests(string scriptSnippet) { ICharStream chars = new ANTLRStringStream(scriptSnippet); MovimentumLexer lexer = new MovimentumLexer(chars); ITokenStream tokens = new CommonTokenStream(lexer); MovimentumParser parser = new TestMovimentumParser(tokens); return parser; }