| %struct-type |
| %language=C++ |
| %global-table |
| %define initializer-suffix ,Token::IDENTIFIER |
| %define hash-function-name Hash |
| %define lookup-function-name GetToken |
| %define class-name PerfectKeywordHash |
| %define word-array-name kPerfectKeywordHashTable |
| %define length-table-name kPerfectKeywordLengthTable |
| %7bit |
| %compare-lengths |
| %enum |
| %readonly-tables |
| %compare-strncmp |
| |
| struct PerfectKeywordHashTableEntry { const char* name; Token::Value value; }; |
| %% |
| async, Token::ASYNC |
| await, Token::AWAIT |
| break, Token::BREAK |
| case, Token::CASE |
| catch, Token::CATCH |
| class, Token::CLASS |
| const, Token::CONST |
| continue, Token::CONTINUE |
| debugger, Token::DEBUGGER |
| default, Token::DEFAULT |
| delete, Token::DELETE |
| do, Token::DO |
| else, Token::ELSE |
| enum, Token::ENUM |
| export, Token::EXPORT |
| extends, Token::EXTENDS |
| false, Token::FALSE_LITERAL |
| finally, Token::FINALLY |
| for, Token::FOR |
| function, Token::FUNCTION |
| get, Token::GET |
| if, Token::IF |
| implements, Token::FUTURE_STRICT_RESERVED_WORD |
| import, Token::IMPORT |
| in, Token::IN |
| instanceof, Token::INSTANCEOF |
| interface, Token::FUTURE_STRICT_RESERVED_WORD |
| let, Token::LET |
| new, Token::NEW |
| null, Token::NULL_LITERAL |
| package, Token::FUTURE_STRICT_RESERVED_WORD |
| private, Token::FUTURE_STRICT_RESERVED_WORD |
| protected, Token::FUTURE_STRICT_RESERVED_WORD |
| public, Token::FUTURE_STRICT_RESERVED_WORD |
| return, Token::RETURN |
| set, Token::SET |
| static, Token::STATIC |
| super, Token::SUPER |
| switch, Token::SWITCH |
| this, Token::THIS |
| throw, Token::THROW |
| true, Token::TRUE_LITERAL |
| try, Token::TRY |
| typeof, Token::TYPEOF |
| var, Token::VAR |
| void, Token::VOID |
| while, Token::WHILE |
| with, Token::WITH |
| yield, Token::YIELD |