1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
|
%{
/* Command-line: gperf -k'1,2,$' -t -p -K 'name' -H 'js_kw_hash' -N 'js_kw_lookup' -a -g jscript.gperf */
%}
struct js_keyword {
char * name;
int token;
}
%%
# Javascript reserved words, see "keywords.html"
abstract, TK_ABSTRACT
boolean, TK_BOOLEAN
break, TK_BREAK
byte, TK_BYTE
case, TK_CASE
catch, TK_CATCH
char, TK_CHAR
class, TK_CLASS
const, TK_CONST
continue, TK_CONTINUE
default, TK_DEFAULT
do, TK_DO
double, TK_DOUBLE
else, TK_ELSE
extends, TK_EXTENDS
false, TK_FALSE
final, TK_FINAL
finally, TK_FINALLY
float, TK_FLOAT
for, TK_FOR
function, TK_FUNCTION
goto, TK_GOTO
if, TK_IF
implements, TK_IMPLEMENTS
import, TK_IMPORT
in, TK_IN
instanceof, TK_INSTANCEOF
int, TK_INT
interface, TK_INTERFACE
long, TK_LONG
native, TK_NATIVE
new, TK_NEW
null, TK_NULL
package, TK_PACKAGE
private, TK_PRIVATE
protected, TK_PROTECTED
public, TK_PUBLIC
return, TK_RETURN
short, TK_SHORT
static, TK_STATIC
super, TK_SUPER
switch, TK_SWITCH
synchronized, TK_SYNCHRONIZED
this, TK_THIS
throw, TK_THROW
throws, TK_THROWS
transient, TK_TRANSIENT
true, TK_TRUE
try, TK_TRY
var, TK_VAR
void, TK_VOID
while, TK_WHILE
with, TK_WITH
%%
int js_keyword_lookup (register const char *str, register int len)
{
struct js_keyword * keyword = js_kw_lookup(str,len);
if (keyword)
return keyword->token;
else
return TK_IDENT;
}
|