public static ParseResult Parse(string expression) { try { var inputStream = new ANTLRStringStream(expression); var lexer = new FleeLexer(inputStream); var tokenStream = new CommonTokenStream(lexer); var parser = new FleeParser(tokenStream); var progResult = parser.prog(); var result = progResult.value; return(new ParseResult(result, parser._identifiers)); } catch (ExpressionsException) { throw; } catch (Exception ex) { throw new ExpressionsException("Compilation failed", ExpressionsExceptionType.SyntaxError, ex); } }
public static ParseResult Parse(string expression) { try { var inputStream = new ANTLRStringStream(expression); var lexer = new FleeLexer(inputStream); var tokenStream = new CommonTokenStream(lexer); var parser = new FleeParser(tokenStream); var progResult = parser.prog(); var result = progResult.value; return new ParseResult(result, parser._identifiers); } catch (ExpressionsException) { throw; } catch (Exception ex) { throw new ExpressionsException("Compilation failed", ExpressionsExceptionType.SyntaxError, ex); } }