public SyntaxTree(Syntax syntax_ , Tokenizer tk) { this.syntax = syntax_; this.tokenizer = tk; }
// デバッグ用のparser public SyntaxTree ParseStatement(string program) { tokenizer = new Tokenizer(); tokenizer.SetProgram(program); return StatementSequence(); // ここ↑を適当に変えて、parseしたい文法をparseさせてテストする }
// Unrollしたいプログラムをまるごと↓のstringに突っ込んで渡す。 public string Unroll(string program) { tokenizer = new Tokenizer(); tokenizer.SetProgram(program); SyntaxTree st; try { st = Program(); }catch(UnrollerException ex) { throw new UnrollerException(ex + " @ line = " + tokenizer.Line); } return st.ToString(); }
// デバッグ用のparser public SyntaxTree ParseProgram(string program) { tokenizer = new Tokenizer(); tokenizer.SetProgram(program); return Program(); // ここ↑を適当に変えて、parseしたい文法をparseさせてテストする }