Lines Matching full:token
193 { "break", KEYWORD_PREFIX, Token::BREAK },
194 { NULL, C, Token::ILLEGAL },
195 { NULL, D, Token::ILLEGAL },
196 { "else", KEYWORD_PREFIX, Token::ELSE },
197 { NULL, F, Token::ILLEGAL },
198 { NULL, UNMATCHABLE, Token::ILLEGAL },
199 { NULL, UNMATCHABLE, Token::ILLEGAL },
200 { NULL, I, Token::ILLEGAL },
201 { NULL, UNMATCHABLE, Token::ILLEGAL },
202 { NULL, UNMATCHABLE, Token::ILLEGAL },
203 { NULL, UNMATCHABLE, Token::ILLEGAL },
204 { NULL, UNMATCHABLE, Token::ILLEGAL },
205 { NULL, N, Token::ILLEGAL },
206 { NULL, UNMATCHABLE, Token::ILLEGAL },
207 { NULL, UNMATCHABLE, Token::ILLEGAL },
208 { NULL, UNMATCHABLE, Token::ILLEGAL },
209 { "return", KEYWORD_PREFIX, Token::RETURN },
210 { "switch", KEYWORD_PREFIX, Token::SWITCH },
211 { NULL, T, Token::ILLEGAL },
212 { NULL, UNMATCHABLE, Token::ILLEGAL },
213 { NULL, V, Token::ILLEGAL },
214 { NULL, W, Token::ILLEGAL }
229 keyword_token_ = first_states_[offset].token;
247 token_ = Token::IDENTIFIER;
254 if (MatchKeywordStart(input, "case", 2, Token::CASE)) return;
255 if (MatchKeywordStart(input, "catch", 2, Token::CATCH)) return;
261 if (MatchKeywordStart(input, "const", 3, Token::CONST)) return;
262 if (MatchKeywordStart(input, "continue", 3, Token::CONTINUE)) return;
266 if (MatchKeyword(input, 'o', KEYWORD_MATCHED, Token::DO)) return;
269 if (MatchKeywordStart(input, "debugger", 2, Token::DEBUGGER)) return;
270 if (MatchKeywordStart(input, "default", 2, Token::DEFAULT)) return;
271 if (MatchKeywordStart(input, "delete", 2, Token::DELETE)) return;
274 if (MatchKeywordStart(input, "false", 1, Token::FALSE_LITERAL)) return;
275 if (MatchKeywordStart(input, "finally", 1, Token::FINALLY)) return;
276 if (MatchKeywordStart(input, "for", 1, Token::FOR)) return;
277 if (MatchKeywordStart(input, "function", 1, Token::FUNCTION)) return;
280 if (MatchKeyword(input, 'f', KEYWORD_MATCHED, Token::IF)) return;
281 if (MatchKeyword(input, 'n', IN, Token::IN)) return;
284 token_ = Token::IDENTIFIER;
285 if (MatchKeywordStart(input, "instanceof", 2, Token::INSTANCEOF)) {
290 if (MatchKeywordStart(input, "native", 1, Token::NATIVE)) return;
291 if (MatchKeywordStart(input, "new", 1, Token::NEW)) return;
292 if (MatchKeywordStart(input, "null", 1, Token::NULL_LITERAL)) return;
297 if (MatchKeywordStart(input, "typeof", 1, Token::TYPEOF)) return;
300 if (MatchKeywordStart(input, "this", 2, Token::THIS)) return;
301 if (MatchKeywordStart(input, "throw", 2, Token::THROW)) return;
304 if (MatchKeywordStart(input, "true", 2, Token::TRUE_LITERAL)) return;
305 if (MatchKeyword(input, 'y', KEYWORD_MATCHED, Token::TRY)) return;
308 if (MatchKeywordStart(input, "var", 1, Token::VAR)) return;
309 if (MatchKeywordStart(input, "void", 1, Token::VOID)) return;
312 if (MatchKeywordStart(input, "while", 1, Token::WHILE)) return;
313 if (MatchKeywordStart(input, "with", 1, Token::WITH)) return;
354 // after a newline and scan first token.
366 Token::Value Scanner::Next() {
375 next_.token = Token::ILLEGAL;
379 return current_.token;
384 // Use the first buffer unless it's currently in use by the current_ token.
473 Token::Value Scanner::SkipSingleLineComment() {
485 return Token::WHITESPACE;
489 Token::Value Scanner::SkipMultiLineComment() {
505 return Token::WHITESPACE;
510 return Token::ILLEGAL;
514 Token::Value Scanner::ScanHtmlComment() {
525 return Token::LT;
532 Token::Value token;
535 // Remember the position of the next token
543 token = Token::WHITESPACE;
547 token = Token::LBRACE;
551 token = Token::RBRACE;
555 token = Token::LBRACK;
559 token = Token::RBRACK;
563 token = Token::COLON;
567 token = Token::COMMA;
570 token = ScanJsonString();
583 token = ScanJsonNumber();
586 token = ScanJsonIdentifier("true", Token::TRUE_LITERAL);
589 token = ScanJsonIdentifier("false", Token::FALSE_LITERAL);
592 token = ScanJsonIdentifier("null", Token::NULL_LITERAL);
597 token = Token::EOS;
600 token = Select(Token::ILLEGAL);
603 } while (token == Token::WHITESPACE);
606 next_.token = token;
610 Token::Value Scanner::ScanJsonString() {
616 if (c0_ < 0x20) return Token::ILLEGAL;
647 if (digit < 0) return Token::ILLEGAL;
654 return Token::ILLEGAL;
660 return Token::ILLEGAL;
664 return Token::STRING;
668 Token::Value Scanner::ScanJsonNumber() {
675 if ('0' <= c0_ && c0_ <= '9') return Token::ILLEGAL;
677 if (c0_ < '1' || c0_ > '9') return Token::ILLEGAL;
684 if (c0_ < '0' || c0_ > '9') return Token::ILLEGAL;
692 if (c0_ < '0' || c0_ > '9') return Token::ILLEGAL;
698 return Token::NUMBER;
702 Token::Value Scanner::ScanJsonIdentifier(const char* text,
703 Token::Value token) {
706 if (c0_ != *text) return Token::ILLEGAL;
710 if (kIsIdentifierPart.get(c0_)) return Token::ILLEGAL;
712 return token;
718 Token::Value token;
721 // Remember the position of the next token
728 token = Token::WHITESPACE;
734 token = Token::WHITESPACE;
738 token = ScanString();
745 token = Select(Token::LTE);
747 token = Select('=', Token::ASSIGN_SHL, Token::SHL);
749 token = ScanHtmlComment();
751 token = Token::LT;
759 token = Select(Token::GTE);
764 token = Select(Token::ASSIGN_SAR);
766 token = Select('=', Token::ASSIGN_SHR, Token::SHR);
768 token = Token::SAR;
771 token = Token::GT;
779 token = Select('=', Token::EQ_STRICT, Token::EQ);
781 token = Token::ASSIGN;
789 token = Select('=', Token::NE_STRICT, Token::NE);
791 token = Token::NOT;
799 token = Select(Token::INC);
801 token = Select(Token::ASSIGN_ADD);
803 token = Token::ADD;
815 token = SkipSingleLineComment();
817 token = Token::DEC;
820 token = Select(Token::ASSIGN_SUB);
822 token = Token::SUB;
828 token = Select('=', Token::ASSIGN_MUL, Token::MUL);
833 token = Select('=', Token::ASSIGN_MOD, Token::MOD);
840 token = SkipSingleLineComment();
842 token = SkipMultiLineComment();
844 token = Select(Token::ASSIGN_DIV);
846 token = Token::DIV;
854 token = Select(Token::AND);
856 token = Select(Token::ASSIGN_BIT_AND);
858 token = Token::BIT_AND;
866 token = Select(Token::OR);
868 token = Select(Token::ASSIGN_BIT_OR);
870 token = Token::BIT_OR;
876 token = Select('=', Token::ASSIGN_BIT_XOR, Token::BIT_XOR);
883 token = ScanNumber(true);
885 token = Token::PERIOD;
890 token = Select(Token::COLON);
894 token = Select(Token::SEMICOLON);
898 token = Select(Token::COMMA);
902 token = Select(Token::LPAREN);
906 token = Select(Token::RPAREN);
910 token = Select(Token::LBRACK);
914 token = Select(Token::RBRACK);
918 token = Select(Token::LBRACE);
922 token = Select(Token::RBRACE);
926 token = Select(Token::CONDITIONAL);
930 token = Select(Token::BIT_NOT);
935 token = ScanIdentifier();
937 token = ScanNumber(false);
939 token = Token::WHITESPACE;
941 token = Token::EOS;
943 token = Select(Token::ILLEGAL);
950 } while (token == Token::WHITESPACE);
953 next_.token = token;
1050 Token::Value Scanner::ScanString() {
1059 if (c0_ < 0) return Token::ILLEGAL;
1066 return Token::ILLEGAL;
1071 return Token::STRING;
1075 Token::Value Scanner::Select(Token::Value tok) {
1081 Token::Value Scanner::Select(uc32 next, Token::Value then, Token::Value else_) {
1099 Token::Value Scanner::ScanNumber(bool seen_period) {
1122 return Token::ILLEGAL;
1153 if (kind == OCTAL) return Token::ILLEGAL; // no exponent for octals allowed
1160 return Token::ILLEGAL;
1170 return Token::ILLEGAL;
1172 return Token::NUMBER;
1188 Token::Value Scanner::ScanIdentifier() {
1198 if (!kIsIdentifierStart.get(c)) return Token::ILLEGAL;
1212 if (!kIsIdentifierPart.get(c)) return Token::ILLEGAL;
1223 return keyword_match.token();
1243 // Previous token is either '/' or '/=', in the second case, the