public void Setup() { ICharStream stream = CharStreams.fromString(TestCode); ITokenSource lexer = new DazelLexer(stream); ITokenStream tokens = new CommonTokenStream(lexer); parseTree = new DazelParser(tokens) { BuildParseTree = true }.start(); }
private IEnumerable <IParseTree> BuildParseTrees() { List <IParseTree> parseTrees = new List <IParseTree>(); foreach (string file in files) { ICharStream stream = fromFile ? CharStreams.fromPath(file) : CharStreams.fromString(file); ITokenSource lexer = new DazelLexer(stream); ITokenStream tokens = new CommonTokenStream(lexer); DazelParser parser = new DazelParser(tokens) { BuildParseTree = true }; parser.AddErrorListener(new DazelErrorListener()); parseTrees.Add(parser.start()); } return(parseTrees); }
public static AbstractSyntaxTree BuildAst(params string[] code) { List <IParseTree> parseTrees = new List <IParseTree>(); DazelLogger.ThrowExceptions = true; foreach (string s in code) { ICharStream stream = CharStreams.fromString(s); ITokenSource lexer = new DazelLexer(stream); ITokenStream tokens = new CommonTokenStream(lexer); DazelParser parser = new DazelParser(tokens) { BuildParseTree = true }; parser.AddErrorListener(new DazelErrorListener()); parseTrees.Add(parser.start()); } AbstractSyntaxTree ast = new AstBuilder().BuildAst(parseTrees); return(ast); }