#include <setjmp.h>
+// Make the scope character ('.') be a symbol, otherwise it's just
+// a ident character
+#define USE_SCOPE_CHAR 1
+
// === TYPES ===
typedef struct
{
const char *BufStart;
const char *CurPos;
- const char *Filename;
+ char *Filename;
int LastLine;
int LastToken, LastTokenLen;
jmp_buf JmpTarget;
int ErrorHit;
+
+ struct sSpiderVariant *Variant;
} tParser;
// === FUNCTIONS ===
TOK_RWD_DO,
TOK_RWD_WHILE,
TOK_RWD_FOR,
+ // - Value
+ TOK_RWD_NULL,
// - Types
TOK_RWD_VOID,
TOK_RWD_OBJECT,
TOK_ELEMENT,
// Comparisons
- TOK_EQUALS,
+ TOK_EQUALS, TOK_NOTEQUALS,
TOK_LT, TOK_LTE,
TOK_GT, TOK_GTE,
"TOK_RWD_WHILE",
"TOK_RWD_FOR",
+ "TOK_RWD_NULL",
"TOK_RWD_VOID",
"TOK_RWD_OBJECT",
"TOK_RWD_OPAUQE",
"TOK_SCOPE",
"TOK_ELEMENT",
- "TOK_EQUALS",
+ "TOK_EQUALS", "TOK_NOTEQUALS",
"TOK_LT", "TOK_LTE",
"TOK_GT", "TOK_GTE",