%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