Пример #1
0
        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;
        }
Пример #2
0
 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;
 }