internal void Push(Token token) { tokenList.Insert(0, token); }
private void HandleSyntaxError(LRActionList actionList, Token read) { List<Symbol> expectedSymbols = new List<Symbol>(); for (int i = 0; i < actionList.Count; i++) { Symbol actionSymbol = actionList[i]; switch (actionSymbol.Type) { case SymbolType.Content: case SymbolType.End: case SymbolType.GroupStart: case SymbolType.GroupEnd: expectedSymbols.Add(actionSymbol); break; } } OnSyntaxError(read.EndPosition, read.Data, String.Join(",", expectedSymbols)); }
internal void Enqueue(Token token) { tokenList.Add(token); }
protected virtual void OnTokenRead(Token token) { if (TokenRead != null) { TokenRead(token); } }