public int Execute(ASTNode node, BNFGrammar grammar) { Grammar = grammar; Storage.Local.Clear(); Storage.Operative.Clear(); Storage.Output.Clear(); Translate(node); return(Error); }
//Функция возвращает истину, если в грамматике grammar есть правило, описывающее текущий узел AST public bool IsMatch(BNFGrammar grammar) { if (!grammar.Rules.ContainsKey(this.RuleName)) { return(false); } //Получаем из грамматики правило, указанное в узле BNFGrammar.BNFRule rule = grammar.Rules[RuleName]; return(IsMatch(rule)); }
public Processor(Processor parent, BNFGrammar grammar) { Parent = parent; Grammar = grammar; }
public Processor(BNFGrammar grammar) { Grammar = grammar; }
public Parser(BNFGrammar _grammar) { Grammar = _grammar; }
public Parser(BNFGrammar _grammar, string _input) { Input = _input; Grammar = _grammar; }
public CategoryProcessor(CategoryProcessor parent, BNFGrammar grammar) { Parent = parent; Grammar = grammar; }
public CategoryProcessor(BNFGrammar grammar) { Grammar = grammar; }