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