public static object parse(string filename, System.IO.TextReader r, bool Verbose) { CharEnumerator ce = new File2CharEnumerator(r); InputElementEnumerator iee = new Char2InputElementEnumerator(ce, filename); if (Verbose) { iee = new EchoInputEnumerator(iee, "raw> "); } iee = new PreprocessorEnumerator(iee); iee = new SkipWhiteEnumerator(iee); if (Verbose) { iee = new EchoInputEnumerator(iee, "ppd> "); } Parser p = new Parser(iee); nonterminalState parse = p.parse(System.Console.Error); if (parse != null) { if (Verbose) { System.Console.WriteLine("DERIVATION:"); System.Console.WriteLine(parse.ToString("")); } object ast = parse.rewrite2AST(); return(ast); } else { return(null); } }
public override string ToString(string indent) { return(root.ToString(indent)); }