20 #ifndef PAGESPEED_KERNEL_JS_JS_KEYWORDS_H_
21 #define PAGESPEED_KERNEL_JS_JS_KEYWORDS_H_
25 namespace net_instaweb {
114 kIsReservedNonStrict,
133 Type keyword()
const;
134 const char* name()
const;
150 static int num_keywords();
friend class net_instaweb::JsLexer
Definition: js_keywords.h:145
A regex literal, such as /foo/i or /a+b*/.
Definition: js_keywords.h:95
keywords that can be placed directly before a regex
Definition: js_keywords.h:116
Whitespace that triggers semicolon insertion.
Definition: js_keywords.h:94
keywords
Definition: js_keywords.h:40
An identifier (variable name, label, etc).
Definition: js_keywords.h:99
Flag
Definition: js_keywords.h:111
Type
Definition: js_keywords.h:33
Other types of lexical tokens; returned by lexer, but not gperf.
Definition: js_keywords.h:91
Sentinel value for gperf.
Definition: js_keywords.h:88
literals
Definition: js_keywords.h:35
reserved for future use
Definition: js_keywords.h:69
An operator or symbol, such as && or <<= or (.
Definition: js_keywords.h:98
static Type Lookup(const StringPiece &name, Flag *flag)
A string literal, such as 'foo' or "bar".
Definition: js_keywords.h:96
A numeric literal, such as 3.5 or 017 or .2e+10.
Definition: js_keywords.h:97
Definition: js_keywords.h:128
Definition: js_keywords.h:31
Whitespace with linebreaks, but no semicolon insertion.
Definition: js_keywords.h:93
static bool CanKeywordPrecedeRegEx(const StringPiece &name)
Whitespace not containing any linebreaks.
Definition: js_keywords.h:92
End of input was reached without errors.
Definition: js_keywords.h:100
A syntax error occurred.
Definition: js_keywords.h:101
reserved for future use in strict code
Definition: js_keywords.h:77