public ail.net.parser.GrammarSymbol AddSymbol(int xi_symbol_id, ail.net.parser.GrammarSymbol.EType xi_type, string xi_name) { ail.net.parser.GrammarSymbol result = (ail.net.parser.GrammarSymbol)PoolAttr[xi_symbol_id]; if (result == (object)null) { result = new ail.net.parser.GrammarSymbol(); result.Id = xi_symbol_id; result.Type = xi_type; result.Name = xi_name; PoolAttr[xi_symbol_id] = result; if (result.IsNonTerminal()) { NonTerminalCountAttr++; } else if (result.IsTerminal()) { TerminalCountAttr++; } } ail.net.framework.Assert.NonNullReference(result, "result"); result.AddRef(); return(result); }
public ail.net.parser.GrammarSymbol AddRhsSymbol(int xi_symbol_id, ail.net.parser.GrammarSymbol.EType xi_type, string xi_name) { ail.net.parser.GrammarSymbol result = GrammarPool.Instance.AddSymbol(xi_symbol_id, xi_type, xi_name); RhsAttr.Add(result); if (result.IsNonTerminal()) { RhsNonTerminalCountAttr++; } else if (result.IsTerminal()) { RhsTerminalCountAttr++; } return(result); }