comparison lwbasic/lwbasic.h @ 35:cdb0175e1063

More work on expressions
author Lost Wizard (lost@starbug3)
date Sat, 05 Feb 2011 14:22:54 -0700
parents bfea77812e64
children 5325b640424d
comparison
equal deleted inserted replaced
34:bfea77812e64 35:cdb0175e1063
51 char *lexer_token_string; 51 char *lexer_token_string;
52 union lexer_numbers lexer_token_number; 52 union lexer_numbers lexer_token_number;
53 int lexer_token; 53 int lexer_token;
54 int lexer_curchar; 54 int lexer_curchar;
55 int lexer_ignorechar; 55 int lexer_ignorechar;
56 56 int expression;
57 int parser_state; 57 int parser_state;
58 58
59 void *input_state; 59 void *input_state;
60 60
61 char *currentsub; 61 char *currentsub;
85 token_kw_integer, /* INTEGER keyword */ 85 token_kw_integer, /* INTEGER keyword */
86 token_kw_endsub, /* ENDSUB keyword */ 86 token_kw_endsub, /* ENDSUB keyword */
87 token_kw_endfunction, /* ENDFUNCTION keyword */ 87 token_kw_endfunction, /* ENDFUNCTION keyword */
88 token_kw_dim, /* DIM keyword */ 88 token_kw_dim, /* DIM keyword */
89 token_op_assignment, /* assignment operator */ 89 token_op_assignment, /* assignment operator */
90 token_op_equality, /* equality test */
91 token_op_greater, /* greater than */
92 token_op_less, /* less than */
93 token_op_greaterequal, /* greater or equal */
94 token_op_lessequal, /* less or equal */
95 token_op_notequal, /* not equal */
96 token_op_and, /* boolean and */
97 token_op_or, /* boolean or */
98 token_op_xor, /* boolean exlusive or */
99 token_op_band, /* bitwise and */
100 token_op_bor, /* bitwise or */
101 token_op_bxor, /* bitwise xor */
102 token_op_plus, /* plus */
103 token_op_minus, /* minus */
104 token_op_times, /* times */
105 token_op_divide, /* divide */
106 token_op_modulus, /* modulus */
90 token_identifier, /* an identifier (variable, function, etc. */ 107 token_identifier, /* an identifier (variable, function, etc. */
91 token_char, /* single character; fallback */ 108 token_char, /* single character; fallback */
92 token_uint, /* unsigned integer up to 32 bits */ 109 token_uint, /* unsigned integer up to 32 bits */
93 token_int, /* signed integer up to 32 bits */ 110 token_int, /* signed integer up to 32 bits */
94 token_eol, /* end of line */ 111 token_eol, /* end of line */