diff options
Diffstat (limited to 'src/nb_token.h')
-rw-r--r-- | src/nb_token.h | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/src/nb_token.h b/src/nb_token.h new file mode 100644 index 0000000..6f92dcb --- /dev/null +++ b/src/nb_token.h @@ -0,0 +1,104 @@ +#ifndef NB_TOKEN_H +#define NB_TOKEN_H + +#define TOKEN_INDEX_START 32 + +typedef enum { + TK_NULL = TOKEN_INDEX_START, // null + + TK_PLUS, // + + TK_PLUSPLUS, // ++ + TK_PLUSEQ, // += + TK_MINUS, // - + TK_MINUSMINUS, // -- + TK_MINUSEQ, // -= + TK_MULTIPLY, // * + TK_MULTIEQ, // *= + TK_SLASH, // / + TK_SLASHEQ, // /= + TK_CARET, // ^ + TK_CARETEQ, // ^= + TK_PERSENT, // % + TK_PERSENTEQ, // %= + TK_BANG, // ! + //TK_AT, // @ + //TK_QUOT, // " + TK_COMMA, // , + TK_DOT, // . + TK_DOTS, // ... + TK_COLON, // : + TK_SEMICOLON, // ; + TK_QUESTION, // ? + TK_RSHIFT, // >> + TK_RSHIFTEQ, // >>= + TK_LSHIFT, // << + TK_LSHIFTEQ, // <<= + + TK_AMP, // & + TK_AMPAMP, // && + TK_AMPEQ, // &= + TK_PIPE, // | + TK_PIPEPIPE, // || + TK_PIPEEQ, // |= + + TK_EQ, // = + TK_GT, // > + TK_GTEQ, // >= + TK_LT, // < + TK_LTEQ, // <= + TK_EQEQ, // == + TK_NOTEQ, // != + + TK_LEFT_PAREN, // ( + TK_RIGHT_PAREN, // ) + TK_LEFT_BRACKET, // [ + TK_RIGHT_BRACKET, // ] + TK_LEFT_BRACE, // { + TK_RIGHT_BRACE, // } + + TK_CLASS, // class + TK_EXTENDS, // extends + TK_NEW, // new + TK_SELF, // self + TK_TYPE, // type + TK_INTERNAL, // internal + TK_FUNCTION, // function + TK_RETURN, // return + TK_STATIC, // static + TK_VAR, // var + TK_BASE, // base + TK_IMPORT, // import + TK_AS, // as + TK_IF, // if + TK_ELSEIF, // elseif + TK_ELSE, // else + TK_FOR, // for + TK_FOREACH, // foreach + TK_IN, // in + TK_CONTINUE, // continue + TK_BREAK, // break + TK_WHILE, // while + TK_DO, // do + TK_UNTIL, // until + TK_ENUM, // enum + TK_MASK, // mask + TK_SWITCH, // switch + TK_CASE, // case + TK_DEFAULT, // default + TK_GOTO, // goto + TK_TRUE, // true + TK_FALSE, // false + + TK_TYPEOF, // typeof + TK_INSTANCEOF, // instanceof + + TK_IDENTIFIER, // <identifier> a-z A-Z 0-9 _ + TK_INT, // <int value> 0x 0c 0b + TK_DOUBLE, // <double value> + TK_STRING, // <string value> + + TK_EOF, // end of file + +} Token; + +#endif
\ No newline at end of file |