74 lines
1.3 KiB
Plaintext
74 lines
1.3 KiB
Plaintext
|
%{
|
||
|
/* 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;
|
||
|
}
|