11cb0ef41Sopenharmony_ci%struct-type
21cb0ef41Sopenharmony_ci%language=C++
31cb0ef41Sopenharmony_ci%global-table
41cb0ef41Sopenharmony_ci%define initializer-suffix ,Token::IDENTIFIER
51cb0ef41Sopenharmony_ci%define hash-function-name Hash
61cb0ef41Sopenharmony_ci%define lookup-function-name GetToken
71cb0ef41Sopenharmony_ci%define class-name PerfectKeywordHash
81cb0ef41Sopenharmony_ci%define word-array-name kPerfectKeywordHashTable
91cb0ef41Sopenharmony_ci%define length-table-name kPerfectKeywordLengthTable
101cb0ef41Sopenharmony_ci%7bit
111cb0ef41Sopenharmony_ci%compare-lengths
121cb0ef41Sopenharmony_ci%enum
131cb0ef41Sopenharmony_ci%readonly-tables
141cb0ef41Sopenharmony_ci%compare-strncmp
151cb0ef41Sopenharmony_ci
161cb0ef41Sopenharmony_cistruct PerfectKeywordHashTableEntry { const char* name; Token::Value value; };
171cb0ef41Sopenharmony_ci%%
181cb0ef41Sopenharmony_ciasync, Token::ASYNC
191cb0ef41Sopenharmony_ciawait, Token::AWAIT
201cb0ef41Sopenharmony_cibreak, Token::BREAK
211cb0ef41Sopenharmony_cicase, Token::CASE
221cb0ef41Sopenharmony_cicatch, Token::CATCH
231cb0ef41Sopenharmony_ciclass, Token::CLASS
241cb0ef41Sopenharmony_ciconst, Token::CONST
251cb0ef41Sopenharmony_cicontinue, Token::CONTINUE
261cb0ef41Sopenharmony_cidebugger, Token::DEBUGGER
271cb0ef41Sopenharmony_cidefault, Token::DEFAULT
281cb0ef41Sopenharmony_cidelete, Token::DELETE
291cb0ef41Sopenharmony_cido, Token::DO
301cb0ef41Sopenharmony_cielse, Token::ELSE
311cb0ef41Sopenharmony_cienum, Token::ENUM
321cb0ef41Sopenharmony_ciexport, Token::EXPORT
331cb0ef41Sopenharmony_ciextends, Token::EXTENDS
341cb0ef41Sopenharmony_cifalse, Token::FALSE_LITERAL
351cb0ef41Sopenharmony_cifinally, Token::FINALLY
361cb0ef41Sopenharmony_cifor, Token::FOR
371cb0ef41Sopenharmony_cifunction, Token::FUNCTION
381cb0ef41Sopenharmony_ciget, Token::GET
391cb0ef41Sopenharmony_ciif, Token::IF
401cb0ef41Sopenharmony_ciimplements, Token::FUTURE_STRICT_RESERVED_WORD
411cb0ef41Sopenharmony_ciimport, Token::IMPORT
421cb0ef41Sopenharmony_ciin, Token::IN
431cb0ef41Sopenharmony_ciinstanceof, Token::INSTANCEOF
441cb0ef41Sopenharmony_ciinterface, Token::FUTURE_STRICT_RESERVED_WORD
451cb0ef41Sopenharmony_cilet, Token::LET
461cb0ef41Sopenharmony_cinew, Token::NEW
471cb0ef41Sopenharmony_cinull, Token::NULL_LITERAL
481cb0ef41Sopenharmony_cipackage, Token::FUTURE_STRICT_RESERVED_WORD
491cb0ef41Sopenharmony_ciprivate, Token::FUTURE_STRICT_RESERVED_WORD
501cb0ef41Sopenharmony_ciprotected, Token::FUTURE_STRICT_RESERVED_WORD
511cb0ef41Sopenharmony_cipublic, Token::FUTURE_STRICT_RESERVED_WORD
521cb0ef41Sopenharmony_cireturn, Token::RETURN
531cb0ef41Sopenharmony_ciset, Token::SET
541cb0ef41Sopenharmony_cistatic, Token::STATIC
551cb0ef41Sopenharmony_cisuper, Token::SUPER
561cb0ef41Sopenharmony_ciswitch, Token::SWITCH
571cb0ef41Sopenharmony_cithis, Token::THIS
581cb0ef41Sopenharmony_cithrow, Token::THROW
591cb0ef41Sopenharmony_citrue, Token::TRUE_LITERAL
601cb0ef41Sopenharmony_citry, Token::TRY
611cb0ef41Sopenharmony_citypeof, Token::TYPEOF
621cb0ef41Sopenharmony_civar, Token::VAR
631cb0ef41Sopenharmony_civoid, Token::VOID
641cb0ef41Sopenharmony_ciwhile, Token::WHILE
651cb0ef41Sopenharmony_ciwith, Token::WITH
661cb0ef41Sopenharmony_ciyield, Token::YIELD
67