#include "def.h"Go to the source code of this file.
Defines | |
| #define | OPER_TYPE 401 |
| #define | EXPR_TYPE 402 |
| #define | HEAD 501 |
| #define | BODY 502 |
Functions | |
| void | ps_print (SNODE *st) |
| void | reduce (SNODE *rop) |
| void | shift (NODE *p, int type) |
| NODE * | exp_parse (int part) |
| void | parse () |
Variables | |
| static SNODE * | pstack = NULL |
| static NODE * | boe |
| static int | next_token |
| static int | token |
| double | token_val |
| char | token_prval [] |
| OP * | token_op |
| static NAME_NODE * | rule_names = NULL |
| #define BODY 502 |
| #define EXPR_TYPE 402 |
| #define HEAD 501 |
| #define OPER_TYPE 401 |
| NODE* exp_parse | ( | int | part | ) |
Definition at line 327 of file parse.c.
References op::arity, BINARY, BODY, char_copy(), error(), expr_print(), EXPR_TYPE, FALSE, global_names, HEAD, IDENT, snode::info, LEFT, MAXTOKEN, name_put(), snode::next, next_token, nnum_prim, snode::node, node_new(), NONASSOC, NULL, NULLARY, NUMBER, node::op, OPER, OPER_TYPE, op::other, OUTFIX1, OUTFIX2, op::pname, pnum_prim, POSTFIX, op::precedence, PREFIX, ps_print(), reduce(), scan(), shift(), st_free(), str_prim, STRING, token, token_prval, token_val, TRUE, TYPE, undeclared_prim, untyped_prim, and znum_prim.
Referenced by parse().
| void parse | ( | ) |
Definition at line 724 of file parse.c.
References op::arity, BODY, namenode::child, error(), exp_parse(), HEAD, namenode::interest, label_count, namenode::next, next_token, node_new(), NULL, namenode::op, node::op, op_new(), op::other, OUTFIX1, namenode::parent, op::pname, namenode::pval, namenode::refs, rule_build(), scan(), st_mem_free(), TYPE, and undeclared_prim.
Referenced by main().
| void ps_print | ( | SNODE * | st | ) |
Definition at line 34 of file parse.c.
References expr_print(), and OPER_TYPE.
Referenced by exp_parse(), and reduce().
| void reduce | ( | SNODE * | rop | ) |
Definition at line 64 of file parse.c.
References op::arity, arity_name(), BINARY, error(), expr_print(), EXPR_TYPE, snode::info, label_count, node::next, snode::next, snode::node, NULL, node::op, OP_NAME, OP_NUM, OP_TERM, OUTFIX1, op::pname, POSTFIX, PREFIX, ps_print(), st_free(), UNARY, and undeclared_prim.
Referenced by exp_parse().
| void shift | ( | NODE * | p, | |
| int | type | |||
| ) |
Definition at line 287 of file parse.c.
References expr_print(), EXPR_TYPE, snode::info, snode::next, snode::node, OPER_TYPE, and st_get().
Referenced by exp_parse().
int next_token [static] |
NAME_NODE* rule_names = NULL [static] |
int token [static] |
| char token_prval[] |
| double token_val |
1.5.4