blob: b010f318d831302729c80fd7b2e7c17e54ca7537 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
/* l2xiprse.h for LTX2X interpreter parser module */
/* BASED ON: parser.h (unaltered except for common names) */
#ifndef parser_h
#define parser_h
#include "l2xicmon.h"
#include "l2xisymt.h"
/* users of a variable */
typedef enum {
EXPR_USE, TARGET_USE, VARPARM_USE,
} USE;
/* FUNCTIONS */
TYPE_STRUCT_PTR expression();
TYPE_STRUCT_PTR variable();
TYPE_STRUCT_PTR routine_call();
TYPE_STRUCT_PTR base_type();
BOOLEAN is_assign_type_compatible();
/* MACROS for parsing */
/* if_token_get if token = token_code, get the next token */
#define if_token_get(token_code) \
if (token == token_code) get_token()
/* if_token_get_else_error if token = token code, get next token, else error */
#define if_token_get_else_error(token_code, error_code) \
if (token == token_code) get_token(); \
else error(error_code)
/* ANALYSIS routine calls */
/* Unless the following statements are preceeded by #define analyze */
/* calls to the analysis routines are not compiled. */
#ifndef analyze
#define analyze_const_defn(idp)
#define analyze_var_decl(idp)
#define analyze_type_defn(idp)
#define analyze_routine_header(idp)
#define analyze_block(idp)
#endif
#endif
|