public LR1Parser(IStringTokenizer tokenizer, StateCollection states, State startState, SymbolCollection symbols) { this.tokenizer = tokenizer; this.states = states; this.startState = startState; this.symbols = symbols; storeTokens = StoreTokensMode.NoUserObject; }
private SymbolCollection CreateSymbols(CGTContent content) { SymbolCollection symbols = new SymbolCollection(); foreach (SymbolRecord symbolRecord in content.SymbolTable) { Symbol symbol = SymbolFactory.CreateSymbol(symbolRecord); symbols.Add(symbol); } return(symbols); }
private SymbolCollection FindExpectedTokens() { SymbolCollection symbols = new SymbolCollection(); State state = stateStack.Peek(); foreach (lalr.Action action in state.Actions) { if ((action is ShiftAction) || (action is ReduceAction) || (action is AcceptAction)) { symbols.Add(action.symbol); } } return(symbols); }