comparison tests/agcl/contrib/good/bug-I158.h @ 0:13d2b8934445

Import AnaGram (near-)release tree into Mercurial.
author David A. Holland
date Sat, 22 Dec 2007 17:52:45 -0500
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:13d2b8934445
1 #ifndef BUG-I158_H
2 #define BUG-I158_H
3
4 typedef union {
5 double alignment;
6 char ag_vt_2[sizeof(int)];
7 char ag_vt_4[sizeof(double)];
8 char ag_vt_5[sizeof(char *)];
9 } bug-I158_vs_type;
10
11 typedef enum {
12 bug-I158_step_part_token = 1, bug-I158_const_token, bug-I158_number_token,
13 bug-I158_intnum_token, bug-I158_symbol_or_lineno_token,
14 bug-I158_hashed_number_token, bug-I158_SEP_token, bug-I158_EOFILE_token,
15 bug-I158_FNUM_token, bug-I158_simple_real_token,
16 bug-I158_exponent_token = 14, bug-I158_integer_part_token = 16,
17 bug-I158_fraction_part_token = 18, bug-I158_digit_token = 20,
18 bug-I158_name_token, bug-I158_letter_token, bug-I158_SYMBOL_token = 24,
19 bug-I158_STRSYM_token, bug-I158_DIGITS_token = 27,
20 bug-I158_digit_string_token, bug-I158_STRING_token,
21 bug-I158_string_text_token = 31, bug-I158_GOSUB_token = 33,
22 bug-I158_LABEL_token, bug-I158_ON_token, bug-I158_INTERRUPT_token,
23 bug-I158_BREAK_token, bug-I158_CONTINUE_token, bug-I158_IF_token,
24 bug-I158_THEN_token, bug-I158_ELSE_token, bug-I158_ENDIF_token,
25 bug-I158_PRINT_token, bug-I158_INPUT_token, bug-I158_LINE_token,
26 bug-I158_RETURN_token, bug-I158_DIM_token, bug-I158_END_token,
27 bug-I158_AT_token, bug-I158_SCREEN_token, bug-I158_REVERSE_token,
28 bug-I158_AND_token, bug-I158_OR_token, bug-I158_NOT_token,
29 bug-I158_NE_token, bug-I158_LE_token, bug-I158_GE_token,
30 bug-I158_LT_token, bug-I158_GT_token, bug-I158_EQ_token,
31 bug-I158_READ_token, bug-I158_DATA_token, bug-I158_RESTORE_token,
32 bug-I158_OPEN_token, bug-I158_CLOSE_token, bug-I158_WINDOW_token,
33 bug-I158_DOT_token, bug-I158_CIRCLE_token, bug-I158_TEXT_token,
34 bug-I158_CLEAR_token, bug-I158_PRINTER_token, bug-I158_WAIT_token,
35 bug-I158_BELL_token, bug-I158_MAP_token, bug-I158_XMAP_token,
36 bug-I158_YMAP_token, bug-I158_ARROW_token, bug-I158_XTICK_token,
37 bug-I158_YTICK_token, bug-I158_SIN_token, bug-I158_ASIN_token,
38 bug-I158_COS_token, bug-I158_ACOS_token, bug-I158_TAN_token,
39 bug-I158_ATAN_token, bug-I158_EXP_token, bug-I158_LOG_token,
40 bug-I158_SQRT_token, bug-I158_MYEOF_token, bug-I158_INT_token,
41 bug-I158_FRAC_token, bug-I158_MOD_token, bug-I158_RAN_token,
42 bug-I158_LEN_token, bug-I158_VAL_token, bug-I158_LEFT_token,
43 bug-I158_RIGHT_token, bug-I158_MID_token, bug-I158_MIN_token,
44 bug-I158_MAX_token, bug-I158_STR_token, bug-I158_INKEY_token,
45 bug-I158_CHR_token, bug-I158_ASC_token, bug-I158_UPPER_token,
46 bug-I158_LOWER_token, bug-I158_TRIM_token, bug-I158_LTRIM_token,
47 bug-I158_RTRIM_token, bug-I158_INSTR_token, bug-I158_SYSTEM_token,
48 bug-I158_SYSTEM2_token, bug-I158_PEEK_token, bug-I158_PEEK2_token,
49 bug-I158_POKE_token, bug-I158_DATE_token, bug-I158_TIME_token,
50 bug-I158_UMINUS_token = 121, bug-I158_NAME_token, bug-I158_program_token,
51 bug-I158_statement_list_token, bug-I158_eof_token,
52 bug-I158_statement_list_token, bug-I158_statement_token = 129,
53 bug-I158_string_assignment_token, bug-I158_assignment_token,
54 bug-I158_for_loop_token, bug-I158_if_clause_token,
55 bug-I158_expression_token = 136, bug-I158_goto_list_token = 138,
56 bug-I158_gosub_list_token = 140, bug-I158_string_expression_token = 142,
57 bug-I158_printintro_token, bug-I158_printlist_token,
58 bug-I158_semicolon_token = 146, bug-I158_inputintro_token,
59 bug-I158_inputlist_token, bug-I158_readlist_token,
60 bug-I158_datalist_token, bug-I158_dimlist_token, bug-I158_mapping_token,
61 bug-I158_indexlist_token = 160, bug-I158_string_function_token = 167,
62 bug-I158_function_token = 170, bug-I158_next_or_eofile_token = 181,
63 bug-I158_next_symbol_token, bug-I158_condition_token = 185,
64 bug-I158_else_part_token = 188, bug-I158_endif_or_eof_token = 190,
65 bug-I158_input_token, bug-I158_readitem_token = 194,
66 bug-I158_stream_token = 197, bug-I158_position_token,
67 bug-I158_prompt_token = 200
68 } bug-I158_token_type;
69
70 typedef struct bug-I158_pcb_struct{
71 bug-I158_token_type token_number, reduction_token, error_frame_token;
72 int input_code;
73 int input_value;
74 int line, column;
75 int ssx, sn, error_frame_ssx;
76 int drt, dssx, dsn;
77 int ss[128];
78 bug-I158_vs_type vs[128];
79 int ag_ap;
80 const char *error_message;
81 char read_flag;
82 char exit_flag;
83 int bts[128], btsx;
84 int lab[6], rx, fx;
85 const unsigned char *key_sp;
86 int save_index, key_state;
87 char ag_msg[82];
88 const int *ag_dtl;
89 int ag_dsn;
90 } bug-I158_pcb_type;
91
92 #ifndef PRULE_CONTEXT
93 #define PRULE_CONTEXT(pcb) (&((pcb).cs[(pcb).ssx]))
94 #define PERROR_CONTEXT(pcb) ((pcb).cs[(pcb).error_frame_ssx])
95 #define PCONTEXT(pcb) ((pcb).cs[(pcb).ssx])
96 #endif
97
98 #ifndef AG_RUNNING_CODE
99 /* PCB.exit_flag values */
100 #define AG_RUNNING_CODE 0
101 #define AG_SUCCESS_CODE 1
102 #define AG_SYNTAX_ERROR_CODE 2
103 #define AG_REDUCTION_ERROR_CODE 3
104 #define AG_STACK_ERROR_CODE 4
105 #define AG_SEMANTIC_ERROR_CODE 5
106 #endif
107
108 extern bug-I158_pcb_type bug-I158_pcb;
109 void init_bug-I158(void);
110 void bug-I158(void);
111 #endif
112