Mercurial > ~dholland > hg > ag > index.cgi
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 |