/* * parse.h * Parser structures and prototypes for Bhuna. * $Id: parse.h 54 2004-04-23 22:51:09Z catseye $ */ #ifndef __PARSE_H_ #define __PARSE_H_ struct symbol_table; struct symbol; struct scan_st; struct ast; struct value; struct ast *parse_program(struct scan_st *, struct symbol_table *); struct ast *parse_block(struct scan_st *, struct symbol_table *, struct symbol_table **, int *); struct ast *parse_statement(struct scan_st *, struct symbol_table *, int *, int *); struct ast *parse_definition(struct scan_st *, struct symbol_table *, int, int *); struct ast *parse_command_or_assignment(struct scan_st *, struct symbol_table *, int *); struct ast *parse_expr_list(struct scan_st *, struct symbol_table *, struct symbol *, int *); struct ast *parse_expr(struct scan_st *, struct symbol_table *, int, struct symbol *, int *); struct ast *parse_primitive(struct scan_st *, struct symbol_table *, struct symbol *, int *); struct ast *parse_literal(struct scan_st *, struct symbol_table *); struct ast *parse_var(struct scan_st *, struct symbol_table *, struct symbol **, int, int, struct value *); #endif /* !__PARSE_H_ */