public Token(TokenType type, Lexer.LexerState lexerState, int lineNumber = -1, int columnNumber = -1, string value = null) { this.type = type; this.value = value; this.lineNumber = lineNumber; this.columnNumber = columnNumber; this.lexerState = lexerState.name; }
public static TokeniserException ExpectedTokensFromState(int lineNumber, int columnNumber, Lexer.LexerState state) { var names = new List <string> (); foreach (var tokenRule in state.tokenRules) { names.Add(tokenRule.type.ToString()); } string nameList; if (names.Count > 1) { nameList = String.Join(", ", names.ToArray(), 0, names.Count - 1); nameList += ", or " + names [names.Count - 1]; } else { nameList = names [0]; } var message = string.Format("Expected " + nameList); return(new TokeniserException(lineNumber, columnNumber, message)); }