beta-0.89.2
[luatex.git] / source / texk / web2c / web2c / web2c.h
blob408d6430a44a1bc003c98ebba25e8c3e52b3ebdd
1 /* web2c.h: general includes for the Web2c program itself. Public domain. */
3 #include <w2c/config.h>
5 #define ex_32 2
6 #define ex_real 3
8 #undef max
9 #define max(a,b) ((a>b)?a:b)
11 extern int indent;
12 extern int line_pos;
13 extern int last_brace;
14 extern int block_level;
15 extern int ii;
16 extern int last_tok;
18 extern char safe_string[80];
19 extern char var_list[200];
20 extern char field_list[200];
21 extern char last_id[80];
22 extern char z_id[80];
23 extern char next_temp[];
25 extern long last_i_num;
26 extern int ii, l_s;
27 extern long lower_bound, upper_bound;
28 extern FILE *out;
29 extern int pf_count;
31 /* A symbol table entry. */
32 struct sym_entry {
33 char *id; /* points to the identifier */
34 int typ; /* token type */
35 int next; /* next symbol entry */
36 long val; /* constant : value
37 subrange type : lower bound */
38 long upper; /* subrange type : upper bound
39 variable, function, type or field : type length */
40 int val_sym, upper_sym; /* Sym table entries of symbols for lower
41 and upper bounds
43 boolean var_formal; /* Is this a formal parameter by reference? */
44 boolean var_not_needed;
45 /* True if VAR token should be ignored for this type */
48 extern char strings[];
49 extern int hash_list[];
50 extern short global;
51 extern struct sym_entry sym_table[];
52 extern int next_sym_free, next_string_free;
53 extern int mark_sym_free, mark_string_free;
55 extern void find_next_temp (void);
56 extern void normal (void);
57 extern void new_line (void);
58 extern void my_output (const_string);
59 extern void semicolon (void);
60 extern void remove_locals (void);
61 extern void mark (void);
62 extern void initialize (void);
63 extern int add_to_table (string);
64 extern int search_table (const_string);
65 extern int yyerror (const_string);
67 extern void get_string_literal (char*);
68 extern void get_single_char (char*);
69 extern void get_result_type (char*);
70 extern void get_return_type (char*);
72 extern int yylex(void), yyparse(void);