Exemple #1
0
 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;
 }
Exemple #2
0
        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));
        }