1 /*	see copyright notice in squirrel.h */
2 #ifndef _SQCOMPILER_H_
3 #define _SQCOMPILER_H_
4 
5 struct SQVM;
6 
7 #define	TK_IDENTIFIER	258
8 #define	TK_STRING_LITERAL	259
9 #define	TK_INTEGER	260
10 #define	TK_FLOAT	261
11 #define	TK_DELEGATE	262
12 #define	TK_DELETE	263
13 #define	TK_EQ	264
14 #define	TK_NE	265
15 #define	TK_LE	266
16 #define	TK_GE	267
17 #define	TK_SWITCH	268
18 #define	TK_ARROW	269
19 #define	TK_AND	270
20 #define	TK_OR	271
21 #define	TK_IF	272
22 #define	TK_ELSE	273
23 #define	TK_WHILE	274
24 #define	TK_BREAK	275
25 #define	TK_FOR	276
26 #define	TK_DO	277
27 #define	TK_NULL	278
28 #define	TK_FOREACH	279
29 #define	TK_IN	280
30 #define	TK_NEWSLOT	281
31 #define	TK_MODULO	282
32 #define	TK_LOCAL	283
33 #define	TK_CLONE	284
34 #define	TK_FUNCTION	285
35 #define	TK_RETURN	286
36 #define	TK_TYPEOF	287
37 #define	TK_UMINUS	288
38 #define	TK_PLUSEQ	289
39 #define	TK_MINUSEQ	290
40 #define	TK_CONTINUE	291
41 #define TK_YIELD 292
42 #define TK_TRY 293
43 #define TK_CATCH 294
44 #define TK_THROW 295
45 #define TK_SHIFTL 296
46 #define TK_SHIFTR 297
47 #define TK_RESUME 298
48 #define TK_DOUBLE_COLON 299
49 #define TK_CASE 300
50 #define TK_DEFAULT 301
51 #define TK_THIS 302
52 #define TK_PLUSPLUS 303
53 #define TK_MINUSMINUS 304
54 #define TK_PARENT 305
55 #define TK_USHIFTR 306
56 #define TK_CLASS 307
57 #define TK_EXTENDS 308
58 #define TK_CONSTRUCTOR 310
59 #define TK_INSTANCEOF 311
60 #define TK_VARPARAMS 312
61 #define TK_VARGC 313
62 #define TK_VARGV 314
63 #define TK_TRUE 315
64 #define TK_FALSE 316
65 #define TK_MULEQ 317
66 #define TK_DIVEQ 318
67 #define TK_MODEQ 319
68 #define TK_ATTR_OPEN 320
69 #define TK_ATTR_CLOSE 321
70 
71 
72 typedef void(*CompilerErrorFunc)(void *ud, const SQChar *s);
73 bool Compile(SQVM *vm, SQLEXREADFUNC rg, SQUserPointer up, const SQChar *sourcename, SQObjectPtr &out, bool raiseerror, bool lineinfo);
74 #endif //_SQCOMPILER_H_
75