Пример #1
0
        public ITree Analyze()
        {
            Errors.Clear();
            _la = null;

            Get();
            var p = C__();
            Expect(Terminals.EOF);

            if (Errors.Count == 0)
            {
                var tree = new Tree();
                tree.AddRoot(p);
                return tree;
            }
            return null;
        }
Пример #2
0
 private Symbol Expect(Symbol n)
 {
     Symbol r = null;
     if (_la == n)
     {
         r = _la;
         Get();
     }
     else
         SynErr(Terminals.OrderNums[n]);
     return r;
 }
Пример #3
0
 void Get()
 {
     _la = _scanner.Scan();
 }
Пример #4
0
 public void AddRightPart(Symbol symbol)
 {
     Right.Add(symbol);
 }