0001
0002 #ifndef _PSCOMPILER_H_
0003 #define _PSCOMPILER_H_
0004
0005 struct PSVM;
0006
0007 #define TK_IDENTIFIER 258
0008 #define TK_STRING_LITERAL 259
0009 #define TK_INTEGER 260
0010 #define TK_FLOAT 261
0011 #define TK_BASE 262
0012 #define TK_DELETE 263
0013 #define TK_EQ 264
0014 #define TK_NE 265
0015 #define TK_LE 266
0016 #define TK_GE 267
0017 #define TK_SWITCH 268
0018 #define TK_ARROW 269
0019 #define TK_AND 270
0020 #define TK_OR 271
0021 #define TK_IF 272
0022 #define TK_ELSE 273
0023 #define TK_WHILE 274
0024 #define TK_BREAK 275
0025 #define TK_FOR 276
0026 #define TK_DO 277
0027 #define TK_NULL 278
0028 #define TK_FOREACH 279
0029 #define TK_IN 280
0030 #define TK_NEWSLOT 281
0031 #define TK_MODULO 282
0032 #define TK_LOCAL 283
0033 #define TK_CLONE 284
0034 #define TK_FUNCTION 285
0035 #define TK_RETURN 286
0036 #define TK_TYPEOF 287
0037 #define TK_UMINUS 288
0038 #define TK_PLUSEQ 289
0039 #define TK_MINUSEQ 290
0040 #define TK_CONTINUE 291
0041 #define TK_YIELD 292
0042 #define TK_TRY 293
0043 #define TK_CATCH 294
0044 #define TK_THROW 295
0045 #define TK_SHIFTL 296
0046 #define TK_SHIFTR 297
0047 #define TK_RESUME 298
0048 #define TK_DOUBLE_COLON 299
0049 #define TK_CASE 300
0050 #define TK_DEFAULT 301
0051 #define TK_THIS 302
0052 #define TK_PLUSPLUS 303
0053 #define TK_MINUSMINUS 304
0054 #define TK_3WAYSCMP 305
0055 #define TK_USHIFTR 306
0056 #define TK_CLASS 307
0057 #define TK_EXTENDS 308
0058 #define TK_CONSTRUCTOR 310
0059 #define TK_INSTANCEOF 311
0060 #define TK_VARPARAMS 312
0061 #define TK___LINE__ 313
0062 #define TK___FILE__ 314
0063 #define TK_TRUE 315
0064 #define TK_FALSE 316
0065 #define TK_MULEQ 317
0066 #define TK_DIVEQ 318
0067 #define TK_MODEQ 319
0068 #define TK_ATTR_OPEN 320
0069 #define TK_ATTR_CLOSE 321
0070 #define TK_STATIC 322
0071 #define TK_ENUM 323
0072 #define TK_CONST 324
0073
0074
0075
0076 typedef void(*CompilerErrorFunc)(void *ud, const PSChar *s);
0077 bool Compile(PSVM *vm, PSLEXREADFUNC rg, PSUserPointer up, const PSChar *sourcename, PSObjectPtr &out, bool raiseerror, bool lineinfo);
0078 #endif