Fixed behavior of VTerm when driver is set at runtime
[tpg/acess2.git] / Usermode / Libraries / libspiderscript.so_src / tokens.h
1 /*
2  */
3 #ifndef _TOKENS_H_
4 #define _TOKENS_H_
5
6 // === TYPES ===
7 typedef struct
8 {       
9         // Lexer State
10         char    *BufStart;
11         char    *CurPos;
12         
13          int    LastToken, LastTokenLen;
14         char    *LastTokenStr;
15         
16          int    NextToken, NextTokenLen;
17         char    *NextTokenStr;
18         
19          int    Token, TokenLen;
20         char    *TokenStr;
21 }       tParser;
22
23 // === FUNCTIONS ===
24  int    GetToken(tParser *File);
25 void    PutBack(tParser *File);
26  int    LookAhead(tParser *File);
27
28 // === CONSTANTS ===
29 enum eTokens
30 {
31         TOK_INVAL,
32         TOK_EOF,
33         
34         TOK_STR,
35         TOK_INTEGER,
36         TOK_VARIABLE,
37         TOK_IDENT,
38         
39         TOK_RWD_FUNCTION,
40         TOK_RWD_STRING,
41         TOK_RWD_INTEGER,
42         TOK_RWD_REAL,
43         
44         TOK_ASSIGN,
45         TOK_SEMICOLON,
46         TOK_COMMA,
47         TOK_SCOPE,
48         TOK_ELEMENT,
49         
50         TOK_EQUALS,
51         TOK_LT, TOK_LTE,
52         TOK_GT, TOK_GTE,
53         
54         TOK_DIV,        TOK_MUL,
55         TOK_PLUS,       TOK_MINUS,
56         TOK_SHL,        TOK_SHR,
57         TOK_LOGICAND,   TOK_LOGICOR,    TOK_LOGICXOR,
58         TOK_AND,        TOK_OR, TOK_XOR,
59         
60         TOK_PAREN_OPEN,
61         TOK_PAREN_CLOSE,
62         TOK_BRACE_OPEN,
63         TOK_BRACE_CLOSE,
64         TOK_SQUARE_OPEN,
65         TOK_SQUARE_CLOSE,
66         
67         TOK_LAST
68 };
69
70 #endif

UCC git Repository :: git.ucc.asn.au