Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
7641 views
1
#ifndef js_lex_h
2
#define js_lex_h
3
4
enum
5
{
6
TK_IDENTIFIER = 256,
7
TK_NUMBER,
8
TK_STRING,
9
TK_REGEXP,
10
11
/* multi-character punctuators */
12
TK_LE,
13
TK_GE,
14
TK_EQ,
15
TK_NE,
16
TK_STRICTEQ,
17
TK_STRICTNE,
18
TK_SHL,
19
TK_SHR,
20
TK_USHR,
21
TK_AND,
22
TK_OR,
23
TK_ADD_ASS,
24
TK_SUB_ASS,
25
TK_MUL_ASS,
26
TK_DIV_ASS,
27
TK_MOD_ASS,
28
TK_SHL_ASS,
29
TK_SHR_ASS,
30
TK_USHR_ASS,
31
TK_AND_ASS,
32
TK_OR_ASS,
33
TK_XOR_ASS,
34
TK_INC,
35
TK_DEC,
36
37
/* keywords */
38
TK_BREAK,
39
TK_CASE,
40
TK_CATCH,
41
TK_CONTINUE,
42
TK_DEBUGGER,
43
TK_DEFAULT,
44
TK_DELETE,
45
TK_DO,
46
TK_ELSE,
47
TK_FALSE,
48
TK_FINALLY,
49
TK_FOR,
50
TK_FUNCTION,
51
TK_IF,
52
TK_IN,
53
TK_INSTANCEOF,
54
TK_NEW,
55
TK_NULL,
56
TK_RETURN,
57
TK_SWITCH,
58
TK_THIS,
59
TK_THROW,
60
TK_TRUE,
61
TK_TRY,
62
TK_TYPEOF,
63
TK_VAR,
64
TK_VOID,
65
TK_WHILE,
66
TK_WITH,
67
};
68
69
int jsY_iswhite(int c);
70
int jsY_isnewline(int c);
71
int jsY_ishex(int c);
72
int jsY_tohex(int c);
73
74
const char *jsY_tokenstring(int token);
75
int jsY_findword(const char *s, const char **list, int num);
76
77
void jsY_initlex(js_State *J, const char *filename, const char *source);
78
int jsY_lex(js_State *J);
79
int jsY_lexjson(js_State *J);
80
81
#endif
82
83