git @ Cat's Eye Technologies Bhuna / master src / lib / parse.h
master

Tree @master (Download .tar.gz)

parse.h @masterraw · history · blame

/*
 * 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_ */