comparison lwlib/lw_expr.h @ 399:6153cb49403c

Initial commit of pragma newsource pragma newsource enables a source code variant as follows: 1. no line numbers 2. no implied comments at the end of lines 3. all comments must be introduced by a comment character 4. spaces are allowed in operands (4) is not quite complete. This commit handles "operandless" instructions (anything where the parser calls skip_operand()) and expression parsing.
author William Astle <lost@l-w.ca>
date Tue, 13 Oct 2015 23:38:02 -0600
parents 4c5d3b990a3f
children
comparison
equal deleted inserted replaced
398:4cf907aa634c 399:6153cb49403c
88 void lw_expr_set_special_handler(lw_expr_fn_t *fn); 88 void lw_expr_set_special_handler(lw_expr_fn_t *fn);
89 void lw_expr_set_var_handler(lw_expr_fn2_t *fn); 89 void lw_expr_set_var_handler(lw_expr_fn2_t *fn);
90 void lw_expr_set_term_parser(lw_expr_fn3_t *fn); 90 void lw_expr_set_term_parser(lw_expr_fn3_t *fn);
91 91
92 lw_expr_t lw_expr_parse(char **p, void *priv); 92 lw_expr_t lw_expr_parse(char **p, void *priv);
93 lw_expr_t lw_expr_parse_compact(char **p, void *priv);
93 int lw_expr_istype(lw_expr_t e, int t); 94 int lw_expr_istype(lw_expr_t e, int t);
94 int lw_expr_intval(lw_expr_t e); 95 int lw_expr_intval(lw_expr_t e);
95 int lw_expr_specint(lw_expr_t e); 96 int lw_expr_specint(lw_expr_t e);
96 void *lw_expr_specptr(lw_expr_t e); 97 void *lw_expr_specptr(lw_expr_t e);
97 int lw_expr_whichop(lw_expr_t e); 98 int lw_expr_whichop(lw_expr_t e);