summaryrefslogtreecommitdiff
path: root/src/nb_token.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/nb_token.h')
-rw-r--r--src/nb_token.h104
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