Mercurial > ~dholland > hg > ag > index.cgi
comparison tests/agcl/oldagsrc/good/dsl.cpp @ 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 // C Prologue | |
2 /* | |
3 AnaGram, a System for Syntax Directed Programming | |
4 | |
5 A Dos Script Language | |
6 | |
7 Copyright (c) 1993, Parsifal Software. | |
8 All Rights Reserved. | |
9 | |
10 */ | |
11 | |
12 | |
13 #include "stack.h" | |
14 #include "charsink.h" | |
15 #include "strdict.h" | |
16 #include "array.h" | |
17 #include "symbol.h" | |
18 #include "query.h" | |
19 #include <conio.h> | |
20 | |
21 | |
22 // Define stacks for temporary storage | |
23 | |
24 stack <action_pointer> as(25); // Stack actions | |
25 stack <int> is(100); // Stack string indices | |
26 stack <char *> ps(1000,20); // Stack parameter strings | |
27 stack <query_item> qs(23); // Stack query items | |
28 | |
29 | |
30 // Define data structures for symbol table | |
31 | |
32 #define N_STRINGS 2000 | |
33 | |
34 string_accumulator sa(64000U,500); | |
35 string_dictionary sd(N_STRINGS); | |
36 array <symbol_table_entry> st(N_STRINGS); | |
37 | |
38 | |
39 /* | |
40 * AnaGram, A System for Syntax Directed Programming | |
41 * File generated by: ... | |
42 * | |
43 * AnaGram Parsing Engine | |
44 * Copyright 1993-2002 Parsifal Software. All Rights Reserved. | |
45 * | |
46 * This software is provided 'as-is', without any express or implied | |
47 * warranty. In no event will the authors be held liable for any damages | |
48 * arising from the use of this software. | |
49 * | |
50 * Permission is granted to anyone to use this software for any purpose, | |
51 * including commercial applications, and to alter it and redistribute it | |
52 * freely, subject to the following restrictions: | |
53 * | |
54 * 1. The origin of this software must not be misrepresented; you must not | |
55 * claim that you wrote the original software. If you use this software | |
56 * in a product, an acknowledgment in the product documentation would be | |
57 * appreciated but is not required. | |
58 * 2. Altered source versions must be plainly marked as such, and must not be | |
59 * misrepresented as being the original software. | |
60 * 3. This notice may not be removed or altered from any source distribution. | |
61 */ | |
62 | |
63 #ifndef DSL_H | |
64 #include "dsl.h" | |
65 #endif | |
66 | |
67 #ifndef DSL_H | |
68 #error Mismatched header file | |
69 #endif | |
70 | |
71 #include <ctype.h> | |
72 #include <stdio.h> | |
73 | |
74 #define RULE_CONTEXT (&((PCB).cs[(PCB).ssx])) | |
75 #define ERROR_CONTEXT ((PCB).cs[(PCB).error_frame_ssx]) | |
76 #define CONTEXT ((PCB).cs[(PCB).ssx]) | |
77 | |
78 | |
79 | |
80 dsl_pcb_type dsl_pcb; | |
81 #define PCB dsl_pcb | |
82 #define CHANGE_REDUCTION(x) dsl_change_reduction(dsl_##x##_token) | |
83 int dsl_change_reduction(dsl_token_type); | |
84 | |
85 | |
86 #line - "dsl.syn" | |
87 #include <process.h> | |
88 #include <stdlib.h> | |
89 #include <ctype.h> | |
90 #include <sys/stat.h> | |
91 #include <fcntl.h> | |
92 #include <io.h> | |
93 #include <conio.h> | |
94 #include <dir.h> | |
95 #include <dos.h> | |
96 #include <time.h> | |
97 #include "assert.h" | |
98 | |
99 #include "edit.h" | |
100 | |
101 | |
102 #include "screen.h" | |
103 #include "util.h" | |
104 #include "redirect.h" | |
105 | |
106 #define GET_CONTEXT CONTEXT.pointer = PCB.pointer;\ | |
107 CONTEXT.line=PCB.line;\ | |
108 CONTEXT.column = PCB.column; | |
109 | |
110 | |
111 int debug_switch = 0; | |
112 char *error_msg = NULL; | |
113 unsigned errorlevel_index; | |
114 int errorlevel; | |
115 int exitcode = 0; | |
116 int exitflag = 0; | |
117 int first_line = 1; | |
118 int first_column = 1; | |
119 unsigned stderr_index; | |
120 | |
121 void display_queries(screen_descriptor *); | |
122 | |
123 #define FIRST_LINE first_line | |
124 #define FIRST_COLUMN first_column | |
125 | |
126 | |
127 /***** | |
128 | |
129 Internal Functions | |
130 | |
131 *****/ | |
132 | |
133 long file_exists(void) { | |
134 FILE *f = fopen(sa--,"r"); | |
135 if (f != NULL) fclose(f); | |
136 return f != NULL; | |
137 } | |
138 | |
139 long directory_exists(void) { | |
140 struct ffblk ff; | |
141 int result; | |
142 | |
143 sa << "\\*.*"; | |
144 result = findfirst(sa--,&ff,FA_DIREC); | |
145 return result == 0; | |
146 } | |
147 | |
148 long string_length(void) { | |
149 return size(sa--); | |
150 } | |
151 | |
152 long get_file_length(void) { | |
153 int handle = open(sa--, O_RDONLY); | |
154 long length; | |
155 if (handle < 0) return 0; | |
156 length = filelength(handle); | |
157 close(handle); | |
158 return length; | |
159 } | |
160 | |
161 long disk_space(void) { | |
162 struct dfree free; | |
163 int drive = toupper(*(char *)sa--) - 64; | |
164 long avail; | |
165 | |
166 getdfree(drive, &free); | |
167 avail = (long) free.df_avail * (long) free.df_bsec * (long) free.df_sclus; | |
168 return avail; | |
169 } | |
170 | |
171 long file_time(void) { | |
172 int handle = open(sa--, O_RDONLY); | |
173 struct ftime ft; | |
174 struct tm t; | |
175 | |
176 if (handle < 0) return 0; | |
177 getftime(handle, &ft); | |
178 close(handle); | |
179 t.tm_year = ft.ft_year + 70; | |
180 t.tm_mon = ft.ft_month; | |
181 t.tm_mday = ft.ft_day; | |
182 t.tm_hour = ft.ft_hour; | |
183 t.tm_min = ft.ft_min; | |
184 t.tm_sec = ft.ft_tsec*2; | |
185 return mktime(&t); | |
186 } | |
187 | |
188 | |
189 // Support for reduction procecures | |
190 | |
191 // Compare top strings on string accumulator | |
192 | |
193 /* | |
194 pops top two strings from string accumulator using strcmp | |
195 and returns | |
196 -1 if first string is less than top string | |
197 0 if strings match | |
198 +1 if top string is greater than first string | |
199 */ | |
200 | |
201 int string_comp(void) { | |
202 int n = size(sa); | |
203 array<char> right_string(sa--, n+1); | |
204 return strcmp(sa--,right_string); | |
205 } | |
206 | |
207 /* | |
208 replace the top string on the stack, with a substring where the index | |
209 of the first character in the substring is given by "first" and the index | |
210 of the last character is given by "last" | |
211 */ | |
212 | |
213 void extract(unsigned first, unsigned last) { | |
214 int n = last - first + 1; | |
215 assert (last >= first); | |
216 array <char> x((char *) sa-- + first, n+1); | |
217 x[n] = 0; | |
218 ++sa << x; | |
219 } | |
220 | |
221 /* | |
222 Look up the top string on the accumulator stack in the string dictionary. | |
223 If it has a value in the symbol table, replace it with the symbol table | |
224 value. If the value is numeric, convert it to integer. Otherwise, leave the | |
225 string untouched on the stack. | |
226 */ | |
227 | |
228 void lookup(void) { | |
229 unsigned index = sd[sa]; | |
230 if (index == 0) return; | |
231 switch (st[index].type) { | |
232 case string_type: | |
233 case value_type: { | |
234 --sa; // discard name | |
235 ++sa << st[index].data.text; // stack value | |
236 break; | |
237 } | |
238 case integer_type: { | |
239 --sa; // discard name | |
240 (++sa).printf("%ld", st[index].data.integer); // convert to ascii | |
241 break; | |
242 } | |
243 } | |
244 } | |
245 | |
246 /* | |
247 Find the data type of a symbol and change the reduction accordingly. | |
248 Return the dictionary index for strings, and the value itself for integers. | |
249 */ | |
250 | |
251 long name_type(void) { | |
252 unsigned index = sd << sa--; | |
253 switch (st[index].type) { | |
254 case value_type: | |
255 case string_type: { | |
256 CHANGE_REDUCTION(string_name); | |
257 return index; | |
258 } | |
259 case built_in_function_type: { | |
260 CHANGE_REDUCTION(built_in_name); | |
261 return index; | |
262 } | |
263 case undefined_type: { | |
264 CHANGE_REDUCTION(undefined_name); | |
265 return index; | |
266 } | |
267 case integer_type: return st[index].data.integer; | |
268 } | |
269 return 0; | |
270 } | |
271 | |
272 /* | |
273 Store a string formula. A string formula is a sequence of string identifiers | |
274 the values of which are to be concatenated. The parser has accumulated the | |
275 identifiers on the integer_stack, is. The formula is terminated by a zero | |
276 entry. | |
277 */ | |
278 | |
279 int *formula(void) { | |
280 int n = size(is << 0); | |
281 int *f = new int[n]; | |
282 while (n--) is >> f[n]; | |
283 return f; | |
284 } | |
285 | |
286 /* | |
287 Make a copy of an action that has been identified in the text stream. | |
288 An action pointer was stacked at the beginning of the action text on the | |
289 action stack, as. | |
290 */ | |
291 | |
292 action_pointer copy_action(void) { | |
293 action_pointer ap; | |
294 as >> ap; // pop action descriptor | |
295 unsigned length = (unsigned) (PCB.pointer - ap.pointer); | |
296 unsigned char *action = memdup(ap.pointer,length + 1); | |
297 action[length] = 0; | |
298 ap.pointer = action; | |
299 return ap; | |
300 } | |
301 | |
302 | |
303 // Internal Commands | |
304 | |
305 int echo(int n_args, char *args[]) { | |
306 int i; | |
307 char *cs = ""; | |
308 for (i = 1; args[i]; i++) printf("%s%s", cs, args[i]), cs = " "; | |
309 printf("\n"); | |
310 return 0; | |
311 } | |
312 | |
313 int pause(int n_args, char *args[]) { | |
314 int c; | |
315 while (kbhit()) getch(); // Empty buffer | |
316 printf("Press any key to continue . . .\n"); | |
317 c = getch(); | |
318 if (c == 3) exit(1); | |
319 return c; | |
320 } | |
321 | |
322 int exit_script(int n_args, char *args[]) { | |
323 if (n_args > 1) sscanf(args[1], "%ld", &exitcode); | |
324 exit(exitcode); | |
325 return exitcode; | |
326 } | |
327 | |
328 /* | |
329 int return_script(int n_args, char *args[]) { | |
330 if (n_args > 1) sscanf(args[1], "%ld", &exitcode); | |
331 PCB.exit_flag = AG_SUCCESS_CODE; | |
332 return exitcode; | |
333 } | |
334 */ | |
335 | |
336 int subdirs(int n_args, char *args[]) { | |
337 ffblk file_block; | |
338 int flag; | |
339 int length = strlen(args[1]); | |
340 array <char> name(args[1],length + 5); | |
341 | |
342 strcat(name, "\\*.*"); | |
343 for(flag = findfirst(name, &file_block, FA_DIREC); | |
344 flag == 0; flag = findnext(&file_block)) { | |
345 if ((file_block.ff_attrib & FA_DIREC) == 0) continue; | |
346 if (strcmp(file_block.ff_name, ".") == 0) continue; | |
347 if (strcmp(file_block.ff_name, "..") == 0) continue; | |
348 puts(file_block.ff_name); | |
349 } | |
350 return 0; | |
351 } | |
352 | |
353 int files(int n_args, char *args[]) { | |
354 ffblk file_block; | |
355 int flag; | |
356 int length = strlen(args[1]); | |
357 array<char> name(args[1],length + 5); | |
358 | |
359 strcat(name, "\\*.*"); | |
360 for(flag = findfirst(name, &file_block, 0); | |
361 flag == 0; flag = findnext(&file_block)) { | |
362 puts(file_block.ff_name); | |
363 } | |
364 return 0; | |
365 } | |
366 | |
367 | |
368 /***** | |
369 | |
370 Execute Command Line | |
371 | |
372 *****/ | |
373 | |
374 | |
375 void perform_action(action_pointer ap) { | |
376 dsl_pcb_type save_pcb = PCB; | |
377 | |
378 PCB.pointer = ap.pointer; | |
379 first_line = ap.line; | |
380 first_column = ap.column; | |
381 dsl(); | |
382 exitflag = PCB.exit_flag != AG_SUCCESS_CODE; | |
383 PCB = save_pcb; | |
384 if (exitflag) PCB.exit_flag = AG_SEMANTIC_ERROR_CODE; | |
385 } | |
386 | |
387 void exec(void) { | |
388 int n = size(ps << (char *) NULL); | |
389 int n_args = n - 1; | |
390 unsigned index; | |
391 char *cs; | |
392 int i; | |
393 | |
394 array <char *> args(n); | |
395 while (n--) ps >> args[n]; | |
396 | |
397 cs = args[0]; | |
398 for (i = 0; cs[i]; i++) cs[i] = toupper(cs[i]); | |
399 if (debug_switch) { | |
400 for (i = 0; args[i]; i++) fprintf(stderr, "%s ", args[i]); | |
401 fprintf(stderr,"\nPress any key to continue\n"); | |
402 while (!kbhit()); | |
403 getch(); | |
404 } | |
405 index = sd[args[0]]; | |
406 if (n_args == 1 && strlen(cs) == 2 && cs[1] == ':') { | |
407 errorlevel = system(args[0]); | |
408 } | |
409 else if ( *cs && index) switch (st[index].type) { | |
410 case internal_type: { | |
411 errorlevel = (*st[index].data.proc)(n_args, args); | |
412 break; | |
413 } | |
414 case dos_type: { | |
415 int i; | |
416 for (i = 1; args[i]; i++) args[i][-1] = ' '; | |
417 errorlevel = system(args[0]); | |
418 assert(errorlevel >= 0); | |
419 break; | |
420 } | |
421 case action_type: { | |
422 action_descriptor d = *st[index].data.action; | |
423 stack <symbol_table_entry> old_entries(d.n_args); | |
424 for (i = 0; i < d.n_args && args[i+1]; i++) { | |
425 old_entries << st[d.args[i]]; | |
426 st[d.args[i]].type = value_type; | |
427 st[d.args[i]].data.text = memdup(args[i+1], 1 + strlen(args[i+1])); | |
428 } | |
429 perform_action(d.ap); | |
430 for (i = d.n_args; i--;) { | |
431 release(st[d.args[i]]); | |
432 old_entries >> st[d.args[i]]; | |
433 } | |
434 } | |
435 } | |
436 else { | |
437 errorlevel = spawnvp(P_WAIT, args[0], args); | |
438 assert(errorlevel >= 0); | |
439 } | |
440 st[errorlevel_index].data.integer = errorlevel; | |
441 while (n_args--) --sa; | |
442 --ps; | |
443 if (kbhit()) { | |
444 int c = getch(); | |
445 if (c == 3) exit(1); | |
446 ungetch(c); | |
447 } | |
448 } | |
449 | |
450 void discard_temp_file(char *file_name) { | |
451 unlink(file_name); // Delete file | |
452 delete [] file_name; // Free storage for name | |
453 } | |
454 | |
455 | |
456 /***** | |
457 | |
458 Execute Command with piped input | |
459 | |
460 *****/ | |
461 | |
462 | |
463 void exec_pipe_in(char *file_name) { | |
464 { | |
465 redirect sin(STDIN, file_name); | |
466 exec(); | |
467 } | |
468 discard_temp_file(file_name); | |
469 } | |
470 | |
471 | |
472 /***** | |
473 | |
474 Execute Command with redirected I/O | |
475 | |
476 *****/ | |
477 | |
478 void exec_redirect_in(void) { | |
479 redirect sin(STDIN, sa--); | |
480 exec(); | |
481 } | |
482 | |
483 char *exec_pipe_out(void) { | |
484 redirect sout(STDOUT); | |
485 exec(); | |
486 return save_file(sout); | |
487 } | |
488 | |
489 char *exec_pipe_in_pipe_out(char *file_name) { | |
490 char *result; | |
491 { | |
492 redirect sin(STDIN, file_name); | |
493 redirect sout(STDOUT); | |
494 exec(); | |
495 result = save_file(sout); | |
496 } | |
497 discard_temp_file(file_name); | |
498 return result; | |
499 } | |
500 | |
501 char *exec_redirect_in_pipe_out(void) { | |
502 redirect sout(STDOUT); | |
503 exec_redirect_in(); | |
504 return save_file(sout); | |
505 } | |
506 | |
507 unsigned check_integer(void) { | |
508 unsigned index = sd << sa--; | |
509 if (st[index].type == integer_type) return index; | |
510 CHANGE_REDUCTION(undeclared_variable); | |
511 if (st[index].type == string_type) CHANGE_REDUCTION(string_variable); | |
512 return index; | |
513 } | |
514 | |
515 void assign_value(unsigned index) { | |
516 char *text = copy(sa--); | |
517 release(st[index]); | |
518 st[index].type = value_type; | |
519 st[index].data.text = text; | |
520 } | |
521 | |
522 void grab_output(char *temp_name) { | |
523 unlink(sa); // delete old file | |
524 rename(temp_name, sa--); // rename temp file | |
525 delete [] temp_name; // discard name string | |
526 } | |
527 | |
528 void append_output(char *temp_name) { | |
529 redirect sout(STDOUT, sa--, 1); // append to file named on sa | |
530 redirect sin(STDIN, temp_name); | |
531 char *buf[2000]; | |
532 int n; | |
533 while (1) { | |
534 n = read(STDIN, buf, 2000); | |
535 if (n == 0) break; | |
536 write(STDOUT, buf, n); | |
537 } | |
538 unlink(temp_name); | |
539 delete [] temp_name; | |
540 } | |
541 | |
542 void action_string(void) { | |
543 action_pointer ap; | |
544 as >> ap; | |
545 unsigned length = (unsigned)(PCB.pointer - ap.pointer); | |
546 array <unsigned char> action(ap.pointer,length + 1); | |
547 action[length] = 0; | |
548 redirect sout(STDOUT); | |
549 char *result; | |
550 | |
551 ap.pointer = action; | |
552 perform_action(ap); | |
553 result = content(sout); | |
554 ++sa << result; | |
555 delete [] result; | |
556 } | |
557 | |
558 | |
559 // Program Control functions | |
560 | |
561 // If/else statement | |
562 | |
563 int do_if(int pc, int cc) { | |
564 action_pointer ap; | |
565 as >> ap; | |
566 if (!pc && cc && exitflag == 0) { | |
567 unsigned length = (unsigned) (PCB.pointer - ap.pointer); | |
568 array<unsigned char> q(ap.pointer, length+1); | |
569 q[length] = 0; | |
570 ap.pointer = q; | |
571 perform_action(ap); | |
572 } | |
573 return pc || cc; | |
574 } | |
575 | |
576 // While statement | |
577 | |
578 void do_while(int cc) { | |
579 unsigned length; | |
580 action_pointer ap; | |
581 as >> ap; | |
582 if (cc == 0) return; | |
583 length = (unsigned) (PCB.pointer - ap.pointer); | |
584 array<unsigned char> q(ap.pointer, length+1); | |
585 q[length] = 0; | |
586 ap.pointer = q; | |
587 perform_action(ap); | |
588 if (exitflag) return; | |
589 PCB.pointer = CONTEXT.pointer; | |
590 PCB.line = CONTEXT.line; | |
591 PCB.column = CONTEXT.column; | |
592 } | |
593 | |
594 | |
595 // For Statement | |
596 // Note that this is the for statement in the DOS batch languange for, not C | |
597 | |
598 void do_for_loop(void) { | |
599 int n,k; | |
600 char *q; | |
601 char *seps = " \t\v\f\r\n"; | |
602 action_pointer ap; | |
603 as >> ap; | |
604 unsigned length = (unsigned)(PCB.pointer - ap.pointer); | |
605 array <unsigned char> action(ap.pointer, length + 1); | |
606 action[length] = 0; | |
607 | |
608 ap.pointer = action; | |
609 n = size(sa); | |
610 array<char> text(sa--, n + 1); | |
611 | |
612 | |
613 unsigned index = sd << sa--; | |
614 | |
615 ++ps; | |
616 for (q = strtok(text, seps); q != NULL; q = strtok(NULL,seps)) { | |
617 if (*q == '(') { | |
618 int k = strlen(q) - 1; | |
619 assert(q[k] == ')'); | |
620 q[k] = 0; | |
621 q++; | |
622 } | |
623 else if (*q == '"') { | |
624 int k = strlen(q) - 1; | |
625 assert(q[k] == '"'); | |
626 q[k] = 0; | |
627 q++; | |
628 } | |
629 ps << q; | |
630 } | |
631 k = n = size(ps); | |
632 array<char *> args(n); | |
633 while (k--) ps >> args[k]; | |
634 --ps; | |
635 symbol_table_entry save_table_entry = st[index]; | |
636 st[index].type = value_type; | |
637 | |
638 for (k = 0; k < n && exitflag == 0; k++) { | |
639 st[index].data.text = args[k]; | |
640 perform_action(ap); | |
641 } | |
642 st[index] = save_table_entry; | |
643 } | |
644 | |
645 void invoke_script(void) { | |
646 int handle = open(sa, O_TEXT | O_RDONLY); | |
647 long size; | |
648 unsigned n; | |
649 action_pointer ap; | |
650 | |
651 if (handle < 0) { | |
652 fprintf(stderr,"Cannot open %s\n", (char *) sa--); | |
653 exit(1); | |
654 } | |
655 --sa; | |
656 size = filelength(handle); | |
657 assert(size < 65536L); | |
658 array <unsigned char> data((unsigned) size+1); | |
659 n = (unsigned) read(handle,data,(unsigned) size); | |
660 data[n] = 0; | |
661 close(handle); | |
662 exitflag = 0; | |
663 ap.pointer = data; | |
664 ap.line = ap.column = 1; | |
665 perform_action(ap); | |
666 st[errorlevel_index].data.integer = exitcode; | |
667 exitflag = exitcode = 0; | |
668 return; | |
669 } | |
670 | |
671 internal_commands_descriptor internal_commands[] = { | |
672 {"ECHO", echo}, | |
673 {"EXIT", exit_script}, | |
674 {"FILES", files}, | |
675 {"PAUSE", pause}, | |
676 // {"RETURN", return_script}, | |
677 {"SUBDIRS", subdirs}, | |
678 {NULL, NULL} | |
679 }; | |
680 | |
681 struct built_ins_descriptor built_ins[] = { | |
682 {"file_exists", file_exists}, | |
683 {"directory_exists", directory_exists}, | |
684 {"string_length", string_length}, | |
685 {"file_length", get_file_length}, | |
686 {"disk_space", disk_space}, | |
687 {"file_time", file_time}, | |
688 {NULL, NULL} | |
689 }; | |
690 | |
691 void set_extension(char *path, char *e) { | |
692 char s[MAXPATH]; | |
693 char drive[MAXDRIVE]; | |
694 char dir[MAXDIR]; | |
695 char file[MAXFILE]; | |
696 char ext[MAXEXT]; | |
697 | |
698 fnsplit(path,drive,dir,file,ext); | |
699 fnmerge(s, drive, dir, file, e); | |
700 ++sa << s; | |
701 } | |
702 | |
703 /* | |
704 Note that if this program is called without any arguments, it looks for a | |
705 script with the same name as the executable. Thus, to make an install | |
706 program that picks up the install script without any arguments, you simply | |
707 rename DSL.EXE to INSTALL.EXE. Then when you run it without any arguments | |
708 it will run the INSTALL.DSL script. | |
709 */ | |
710 | |
711 void main(int argc, char *argv[]) { | |
712 int arg_number = 0; | |
713 int i = 1; | |
714 int j = 0; | |
715 | |
716 init_dos_internals(); | |
717 set_arg(j++, argv[0]); | |
718 if (argc > i && (argv[i][0] == '/' || argv[i][0] == '-')) { | |
719 if (toupper(argv[i][1]) != 'D') { | |
720 printf("Unrecognized switch -- /%s\n",argv[i][1]); | |
721 return; | |
722 } | |
723 debug_switch = 1; | |
724 i++; | |
725 } | |
726 if (argc > i) arg_number = i++; | |
727 set_extension(argv[arg_number], "DSL"); | |
728 set_arg(j++,copy(sa)); | |
729 while (i < argc) set_arg(j++, argv[i++]); | |
730 define_integer("argc", j); | |
731 invoke_script(); // Takes file name from sa | |
732 exit(exitcode); | |
733 } | |
734 #line - "dsl.cpp" | |
735 | |
736 #ifndef CONVERT_CASE | |
737 #define CONVERT_CASE(c) (c) | |
738 #endif | |
739 #ifndef TAB_SPACING | |
740 #define TAB_SPACING 8 | |
741 #endif | |
742 | |
743 static void ag_rp_1(void) { | |
744 #line - "dsl.syn" | |
745 lookup(); | |
746 #line - "dsl.cpp" | |
747 } | |
748 | |
749 static void ag_rp_2(void) { | |
750 #line - "dsl.syn" | |
751 sa << '['; | |
752 #line - "dsl.cpp" | |
753 } | |
754 | |
755 static void ag_rp_3(void) { | |
756 #line - "dsl.syn" | |
757 concat(sa) << ']', lookup(); | |
758 #line - "dsl.cpp" | |
759 } | |
760 | |
761 static void ag_rp_4(void) { | |
762 #line - "dsl.syn" | |
763 concat(sa); | |
764 #line - "dsl.cpp" | |
765 } | |
766 | |
767 static void ag_rp_5(void) { | |
768 #line - "dsl.syn" | |
769 concat(sa); | |
770 #line - "dsl.cpp" | |
771 } | |
772 | |
773 static void ag_rp_6(int c) { | |
774 #line - "dsl.syn" | |
775 ++sa << c; | |
776 #line - "dsl.cpp" | |
777 } | |
778 | |
779 static void ag_rp_7(int c) { | |
780 #line - "dsl.syn" | |
781 sa << c; | |
782 #line - "dsl.cpp" | |
783 } | |
784 | |
785 static void ag_rp_8(void) { | |
786 #line - "dsl.syn" | |
787 action_string(); | |
788 #line - "dsl.cpp" | |
789 } | |
790 | |
791 static void ag_rp_9(void) { | |
792 #line - "dsl.syn" | |
793 as << CONTEXT; | |
794 #line - "dsl.cpp" | |
795 } | |
796 | |
797 static void ag_rp_10(void) { | |
798 #line - "dsl.syn" | |
799 --sa; | |
800 #line - "dsl.cpp" | |
801 } | |
802 | |
803 static void ag_rp_11(void) { | |
804 #line - "dsl.syn" | |
805 action_pointer a; as >> a; | |
806 #line - "dsl.cpp" | |
807 } | |
808 | |
809 static void ag_rp_12(void) { | |
810 #line - "dsl.syn" | |
811 ++sa; | |
812 #line - "dsl.cpp" | |
813 } | |
814 | |
815 static void ag_rp_13(int c) { | |
816 #line - "dsl.syn" | |
817 sa << c; | |
818 #line - "dsl.cpp" | |
819 } | |
820 | |
821 static void ag_rp_14(void) { | |
822 #line - "dsl.syn" | |
823 sa << '('; | |
824 #line - "dsl.cpp" | |
825 } | |
826 | |
827 static void ag_rp_15(void) { | |
828 #line - "dsl.syn" | |
829 concat(sa) << ')'; | |
830 #line - "dsl.cpp" | |
831 } | |
832 | |
833 static void ag_rp_16(void) { | |
834 #line - "dsl.syn" | |
835 ++sa; | |
836 #line - "dsl.cpp" | |
837 } | |
838 | |
839 static void ag_rp_17(int c) { | |
840 #line - "dsl.syn" | |
841 sa << c; | |
842 #line - "dsl.cpp" | |
843 } | |
844 | |
845 static void ag_rp_18(int c) { | |
846 #line - "dsl.syn" | |
847 sa << c; | |
848 #line - "dsl.cpp" | |
849 } | |
850 | |
851 static int ag_rp_19(void) { | |
852 #line - "dsl.syn" | |
853 return '\a'; | |
854 #line - "dsl.cpp" | |
855 } | |
856 | |
857 static int ag_rp_20(void) { | |
858 #line - "dsl.syn" | |
859 return '\b'; | |
860 #line - "dsl.cpp" | |
861 } | |
862 | |
863 static int ag_rp_21(void) { | |
864 #line - "dsl.syn" | |
865 return '\f'; | |
866 #line - "dsl.cpp" | |
867 } | |
868 | |
869 static int ag_rp_22(void) { | |
870 #line - "dsl.syn" | |
871 return '\n'; | |
872 #line - "dsl.cpp" | |
873 } | |
874 | |
875 static int ag_rp_23(void) { | |
876 #line - "dsl.syn" | |
877 return '\r'; | |
878 #line - "dsl.cpp" | |
879 } | |
880 | |
881 static int ag_rp_24(void) { | |
882 #line - "dsl.syn" | |
883 return '\t'; | |
884 #line - "dsl.cpp" | |
885 } | |
886 | |
887 static int ag_rp_25(void) { | |
888 #line - "dsl.syn" | |
889 return '\v'; | |
890 #line - "dsl.cpp" | |
891 } | |
892 | |
893 static int ag_rp_26(void) { | |
894 #line - "dsl.syn" | |
895 return '\\'; | |
896 #line - "dsl.cpp" | |
897 } | |
898 | |
899 static int ag_rp_27(void) { | |
900 #line - "dsl.syn" | |
901 return '\?'; | |
902 #line - "dsl.cpp" | |
903 } | |
904 | |
905 static int ag_rp_28(void) { | |
906 #line - "dsl.syn" | |
907 return '\''; | |
908 #line - "dsl.cpp" | |
909 } | |
910 | |
911 static int ag_rp_29(void) { | |
912 #line - "dsl.syn" | |
913 return '"'; | |
914 #line - "dsl.cpp" | |
915 } | |
916 | |
917 static int ag_rp_30(int d) { | |
918 #line - "dsl.syn" | |
919 return d-'0'; | |
920 #line - "dsl.cpp" | |
921 } | |
922 | |
923 static int ag_rp_31(int n, int d) { | |
924 #line - "dsl.syn" | |
925 return 8*n + d-'0'; | |
926 #line - "dsl.cpp" | |
927 } | |
928 | |
929 static int ag_rp_32(int n, int d) { | |
930 #line - "dsl.syn" | |
931 return 8*n + d-'0'; | |
932 #line - "dsl.cpp" | |
933 } | |
934 | |
935 static int ag_rp_33(long n) { | |
936 #line - "dsl.syn" | |
937 return (int) n; | |
938 #line - "dsl.cpp" | |
939 } | |
940 | |
941 static long ag_rp_34(long n, long d) { | |
942 #line - "dsl.syn" | |
943 return 16*n + d; | |
944 #line - "dsl.cpp" | |
945 } | |
946 | |
947 static void ag_rp_35(void) { | |
948 #line - "dsl.syn" | |
949 exec(); | |
950 #line - "dsl.cpp" | |
951 } | |
952 | |
953 static void ag_rp_36(void) { | |
954 #line - "dsl.syn" | |
955 exec_redirect_in(); | |
956 #line - "dsl.cpp" | |
957 } | |
958 | |
959 static void ag_rp_37(char * file) { | |
960 #line - "dsl.syn" | |
961 exec_pipe_in(file); | |
962 #line - "dsl.cpp" | |
963 } | |
964 | |
965 static void ag_rp_38(char * file) { | |
966 #line - "dsl.syn" | |
967 grab_output(file); | |
968 #line - "dsl.cpp" | |
969 } | |
970 | |
971 static void ag_rp_39(char * file) { | |
972 #line - "dsl.syn" | |
973 append_output(file); | |
974 #line - "dsl.cpp" | |
975 } | |
976 | |
977 static char * ag_rp_40(void) { | |
978 #line - "dsl.syn" | |
979 return exec_pipe_out(); | |
980 #line - "dsl.cpp" | |
981 } | |
982 | |
983 static char * ag_rp_41(void) { | |
984 #line - "dsl.syn" | |
985 return exec_redirect_in_pipe_out(); | |
986 #line - "dsl.cpp" | |
987 } | |
988 | |
989 static char * ag_rp_42(char * file) { | |
990 #line - "dsl.syn" | |
991 return exec_pipe_in_pipe_out(file); | |
992 #line - "dsl.cpp" | |
993 } | |
994 | |
995 static void ag_rp_43(void) { | |
996 #line - "dsl.syn" | |
997 sa << 0, ++ps << sa; | |
998 #line - "dsl.cpp" | |
999 } | |
1000 | |
1001 static void ag_rp_44(void) { | |
1002 #line - "dsl.syn" | |
1003 ps << sa, sa << 0; | |
1004 #line - "dsl.cpp" | |
1005 } | |
1006 | |
1007 static void ag_rp_45(void) { | |
1008 #line - "dsl.syn" | |
1009 ps << sa, sa << 0; | |
1010 #line - "dsl.cpp" | |
1011 } | |
1012 | |
1013 static void ag_rp_46(int pc) { | |
1014 #line - "dsl.syn" | |
1015 do_if(pc,1); | |
1016 #line - "dsl.cpp" | |
1017 } | |
1018 | |
1019 static int ag_rp_47(int cc) { | |
1020 #line - "dsl.syn" | |
1021 return cc; | |
1022 #line - "dsl.cpp" | |
1023 } | |
1024 | |
1025 static int ag_rp_48(int cc) { | |
1026 #line - "dsl.syn" | |
1027 return cc; | |
1028 #line - "dsl.cpp" | |
1029 } | |
1030 | |
1031 static int ag_rp_49(int pc, int cc) { | |
1032 #line - "dsl.syn" | |
1033 return do_if(pc,cc!=0); | |
1034 #line - "dsl.cpp" | |
1035 } | |
1036 | |
1037 static int ag_rp_50(long cc) { | |
1038 #line - "dsl.syn" | |
1039 return (int) cc; | |
1040 #line - "dsl.cpp" | |
1041 } | |
1042 | |
1043 static int ag_rp_51(int cc) { | |
1044 #line - "dsl.syn" | |
1045 return do_if(0,cc != 0); | |
1046 #line - "dsl.cpp" | |
1047 } | |
1048 | |
1049 static void ag_rp_52(unsigned v) { | |
1050 #line - "dsl.syn" | |
1051 assign_value(v); | |
1052 #line - "dsl.cpp" | |
1053 } | |
1054 | |
1055 static void ag_rp_53(unsigned v, long x) { | |
1056 #line - "dsl.syn" | |
1057 st[v].data.integer = (int) x; | |
1058 #line - "dsl.cpp" | |
1059 } | |
1060 | |
1061 static void ag_rp_54(unsigned v) { | |
1062 #line - "dsl.syn" | |
1063 st[v].data.text = copy(sa--); | |
1064 #line - "dsl.cpp" | |
1065 } | |
1066 | |
1067 static void ag_rp_55(unsigned v, long n, long x) { | |
1068 #line - "dsl.syn" | |
1069 st[v].data.text[(unsigned)n] = (int) x; | |
1070 #line - "dsl.cpp" | |
1071 } | |
1072 | |
1073 static unsigned ag_rp_56(void) { | |
1074 #line - "dsl.syn" | |
1075 return check_integer(); | |
1076 #line - "dsl.cpp" | |
1077 } | |
1078 | |
1079 static void ag_rp_57(long cc) { | |
1080 #line - "dsl.syn" | |
1081 do_while(cc != 0); | |
1082 #line - "dsl.cpp" | |
1083 } | |
1084 | |
1085 static void ag_rp_58(void) { | |
1086 #line - "dsl.syn" | |
1087 do_for_loop(); | |
1088 #line - "dsl.cpp" | |
1089 } | |
1090 | |
1091 static void ag_rp_59(int n) { | |
1092 #line - "dsl.syn" | |
1093 define_action(n); | |
1094 #line - "dsl.cpp" | |
1095 } | |
1096 | |
1097 static void ag_rp_60(long x) { | |
1098 #line - "dsl.syn" | |
1099 define_integer(sa--, x); | |
1100 #line - "dsl.cpp" | |
1101 } | |
1102 | |
1103 static void ag_rp_61(void) { | |
1104 #line - "dsl.syn" | |
1105 define_string(); | |
1106 #line - "dsl.cpp" | |
1107 } | |
1108 | |
1109 static int ag_rp_62(void) { | |
1110 #line - "dsl.syn" | |
1111 return 0; | |
1112 #line - "dsl.cpp" | |
1113 } | |
1114 | |
1115 static int ag_rp_63(int n) { | |
1116 #line - "dsl.syn" | |
1117 return n+1; | |
1118 #line - "dsl.cpp" | |
1119 } | |
1120 | |
1121 static void ag_rp_64(int c) { | |
1122 #line - "dsl.syn" | |
1123 ++sa << c; | |
1124 #line - "dsl.cpp" | |
1125 } | |
1126 | |
1127 static void ag_rp_65(int c) { | |
1128 #line - "dsl.syn" | |
1129 sa << c; | |
1130 #line - "dsl.cpp" | |
1131 } | |
1132 | |
1133 static void ag_rp_66(int c) { | |
1134 #line - "dsl.syn" | |
1135 sa << c; | |
1136 #line - "dsl.cpp" | |
1137 } | |
1138 | |
1139 static long ag_rp_67(long c, long x, long y) { | |
1140 #line - "dsl.syn" | |
1141 return c != 0 ? x : y; | |
1142 #line - "dsl.cpp" | |
1143 } | |
1144 | |
1145 static long ag_rp_68(long x, long y) { | |
1146 #line - "dsl.syn" | |
1147 return x != 0 || y!=0; | |
1148 #line - "dsl.cpp" | |
1149 } | |
1150 | |
1151 static long ag_rp_69(long x, long y) { | |
1152 #line - "dsl.syn" | |
1153 return x != 0 && y !=0; | |
1154 #line - "dsl.cpp" | |
1155 } | |
1156 | |
1157 static long ag_rp_70(long x, long y) { | |
1158 #line - "dsl.syn" | |
1159 return x | y; | |
1160 #line - "dsl.cpp" | |
1161 } | |
1162 | |
1163 static long ag_rp_71(long x, long y) { | |
1164 #line - "dsl.syn" | |
1165 return x ^ y; | |
1166 #line - "dsl.cpp" | |
1167 } | |
1168 | |
1169 static long ag_rp_72(long x, long y) { | |
1170 #line - "dsl.syn" | |
1171 return x & y; | |
1172 #line - "dsl.cpp" | |
1173 } | |
1174 | |
1175 static long ag_rp_73(long x, long y) { | |
1176 #line - "dsl.syn" | |
1177 return x == y; | |
1178 #line - "dsl.cpp" | |
1179 } | |
1180 | |
1181 static long ag_rp_74(long x, long y) { | |
1182 #line - "dsl.syn" | |
1183 return x != y; | |
1184 #line - "dsl.cpp" | |
1185 } | |
1186 | |
1187 static long ag_rp_75(void) { | |
1188 #line - "dsl.syn" | |
1189 return string_comp() == 0; | |
1190 #line - "dsl.cpp" | |
1191 } | |
1192 | |
1193 static long ag_rp_76(void) { | |
1194 #line - "dsl.syn" | |
1195 return string_comp() != 0; | |
1196 #line - "dsl.cpp" | |
1197 } | |
1198 | |
1199 static long ag_rp_77(long x, long y) { | |
1200 #line - "dsl.syn" | |
1201 return x < y; | |
1202 #line - "dsl.cpp" | |
1203 } | |
1204 | |
1205 static long ag_rp_78(long x, long y) { | |
1206 #line - "dsl.syn" | |
1207 return x > y; | |
1208 #line - "dsl.cpp" | |
1209 } | |
1210 | |
1211 static long ag_rp_79(long x, long y) { | |
1212 #line - "dsl.syn" | |
1213 return x <= y; | |
1214 #line - "dsl.cpp" | |
1215 } | |
1216 | |
1217 static long ag_rp_80(long x, long y) { | |
1218 #line - "dsl.syn" | |
1219 return x >= y; | |
1220 #line - "dsl.cpp" | |
1221 } | |
1222 | |
1223 static long ag_rp_81(void) { | |
1224 #line - "dsl.syn" | |
1225 return string_comp() < 0; | |
1226 #line - "dsl.cpp" | |
1227 } | |
1228 | |
1229 static long ag_rp_82(void) { | |
1230 #line - "dsl.syn" | |
1231 return string_comp() > 0; | |
1232 #line - "dsl.cpp" | |
1233 } | |
1234 | |
1235 static long ag_rp_83(void) { | |
1236 #line - "dsl.syn" | |
1237 return string_comp() <= 0; | |
1238 #line - "dsl.cpp" | |
1239 } | |
1240 | |
1241 static long ag_rp_84(void) { | |
1242 #line - "dsl.syn" | |
1243 return string_comp() >= 0; | |
1244 #line - "dsl.cpp" | |
1245 } | |
1246 | |
1247 static long ag_rp_85(long x, long y) { | |
1248 #line - "dsl.syn" | |
1249 return x << y; | |
1250 #line - "dsl.cpp" | |
1251 } | |
1252 | |
1253 static long ag_rp_86(long x, long y) { | |
1254 #line - "dsl.syn" | |
1255 return x >> y; | |
1256 #line - "dsl.cpp" | |
1257 } | |
1258 | |
1259 static long ag_rp_87(long x, long y) { | |
1260 #line - "dsl.syn" | |
1261 return x + y; | |
1262 #line - "dsl.cpp" | |
1263 } | |
1264 | |
1265 static long ag_rp_88(long x, long y) { | |
1266 #line - "dsl.syn" | |
1267 return x - y; | |
1268 #line - "dsl.cpp" | |
1269 } | |
1270 | |
1271 static long ag_rp_89(long x, long y) { | |
1272 #line - "dsl.syn" | |
1273 return x * y; | |
1274 #line - "dsl.cpp" | |
1275 } | |
1276 | |
1277 static long ag_rp_90(long x, long y) { | |
1278 #line - "dsl.syn" | |
1279 return x / y; | |
1280 #line - "dsl.cpp" | |
1281 } | |
1282 | |
1283 static long ag_rp_91(long x, long y) { | |
1284 #line - "dsl.syn" | |
1285 return x % y; | |
1286 #line - "dsl.cpp" | |
1287 } | |
1288 | |
1289 static long ag_rp_92(long x) { | |
1290 #line - "dsl.syn" | |
1291 assert(x); | |
1292 return x; | |
1293 | |
1294 #line - "dsl.cpp" | |
1295 } | |
1296 | |
1297 static long ag_rp_93(long x) { | |
1298 #line - "dsl.syn" | |
1299 return x; | |
1300 #line - "dsl.cpp" | |
1301 } | |
1302 | |
1303 static long ag_rp_94(long x) { | |
1304 #line - "dsl.syn" | |
1305 return -x; | |
1306 #line - "dsl.cpp" | |
1307 } | |
1308 | |
1309 static long ag_rp_95(long x) { | |
1310 #line - "dsl.syn" | |
1311 return ~x; | |
1312 #line - "dsl.cpp" | |
1313 } | |
1314 | |
1315 static long ag_rp_96(long x) { | |
1316 #line - "dsl.syn" | |
1317 return !x; | |
1318 #line - "dsl.cpp" | |
1319 } | |
1320 | |
1321 static long ag_rp_97(long n) { | |
1322 #line - "dsl.syn" | |
1323 return ((unsigned char *) sa--)[(unsigned) n]; | |
1324 #line - "dsl.cpp" | |
1325 } | |
1326 | |
1327 static long ag_rp_98(void) { | |
1328 #line - "dsl.syn" | |
1329 long temp; | |
1330 sscanf(sa--, "%ld", &temp); | |
1331 return temp; | |
1332 | |
1333 #line - "dsl.cpp" | |
1334 } | |
1335 | |
1336 static long ag_rp_99(long x) { | |
1337 #line - "dsl.syn" | |
1338 return x; | |
1339 #line - "dsl.cpp" | |
1340 } | |
1341 | |
1342 static long ag_rp_100(long x) { | |
1343 #line - "dsl.syn" | |
1344 return (*st[(unsigned)x].data.func)(); | |
1345 #line - "dsl.cpp" | |
1346 } | |
1347 | |
1348 static long ag_rp_101(void) { | |
1349 #line - "dsl.syn" | |
1350 return name_type(); | |
1351 #line - "dsl.cpp" | |
1352 } | |
1353 | |
1354 static void ag_rp_102(void) { | |
1355 #line - "dsl.syn" | |
1356 concat(sa); | |
1357 #line - "dsl.cpp" | |
1358 } | |
1359 | |
1360 static void ag_rp_103(long first, long last) { | |
1361 #line - "dsl.syn" | |
1362 extract((unsigned)first, (unsigned) last); | |
1363 #line - "dsl.cpp" | |
1364 } | |
1365 | |
1366 static void ag_rp_104(void) { | |
1367 #line - "dsl.syn" | |
1368 sa << '['; | |
1369 #line - "dsl.cpp" | |
1370 } | |
1371 | |
1372 static void ag_rp_105(void) { | |
1373 #line - "dsl.syn" | |
1374 concat(sa) << ']', lookup(); | |
1375 #line - "dsl.cpp" | |
1376 } | |
1377 | |
1378 static void ag_rp_106(long x) { | |
1379 #line - "dsl.syn" | |
1380 ++sa << st[(unsigned)x].data.text; | |
1381 #line - "dsl.cpp" | |
1382 } | |
1383 | |
1384 static void ag_rp_107(long x) { | |
1385 #line - "dsl.syn" | |
1386 ++sa << sd[(unsigned)x]; | |
1387 #line - "dsl.cpp" | |
1388 } | |
1389 | |
1390 static void ag_rp_108(void) { | |
1391 #line - "dsl.syn" | |
1392 action_string(); | |
1393 #line - "dsl.cpp" | |
1394 } | |
1395 | |
1396 static void ag_rp_109(long x) { | |
1397 #line - "dsl.syn" | |
1398 ++sa,sa.printf("%ld",x); | |
1399 #line - "dsl.cpp" | |
1400 } | |
1401 | |
1402 static long ag_rp_110(void) { | |
1403 #line - "dsl.syn" | |
1404 return 0; | |
1405 #line - "dsl.cpp" | |
1406 } | |
1407 | |
1408 static long ag_rp_111(long x, long d) { | |
1409 #line - "dsl.syn" | |
1410 return 16*x + d-'0'; | |
1411 #line - "dsl.cpp" | |
1412 } | |
1413 | |
1414 static long ag_rp_112(int d) { | |
1415 #line - "dsl.syn" | |
1416 return (d&7) + 9; | |
1417 #line - "dsl.cpp" | |
1418 } | |
1419 | |
1420 static long ag_rp_113(void) { | |
1421 #line - "dsl.syn" | |
1422 return 0; | |
1423 #line - "dsl.cpp" | |
1424 } | |
1425 | |
1426 static long ag_rp_114(long n, int d) { | |
1427 #line - "dsl.syn" | |
1428 return 8*n + d-'0'; | |
1429 #line - "dsl.cpp" | |
1430 } | |
1431 | |
1432 static long ag_rp_115(int d) { | |
1433 #line - "dsl.syn" | |
1434 return d-'0'; | |
1435 #line - "dsl.cpp" | |
1436 } | |
1437 | |
1438 static long ag_rp_116(long n, int d) { | |
1439 #line - "dsl.syn" | |
1440 return 10*n + d-'0'; | |
1441 #line - "dsl.cpp" | |
1442 } | |
1443 | |
1444 static int ag_rp_117(int c) { | |
1445 #line - "dsl.syn" | |
1446 return c; | |
1447 #line - "dsl.cpp" | |
1448 } | |
1449 | |
1450 static void ag_rp_118(screen_descriptor * scd) { | |
1451 #line - "dsl.syn" | |
1452 display_queries(scd); | |
1453 #line - "dsl.cpp" | |
1454 } | |
1455 | |
1456 static screen_descriptor * ag_rp_119(void) { | |
1457 #line - "dsl.syn" | |
1458 return reset(qs), new screen_descriptor; | |
1459 #line - "dsl.cpp" | |
1460 } | |
1461 | |
1462 static screen_descriptor * ag_rp_120(screen_descriptor * scd) { | |
1463 #line - "dsl.syn" | |
1464 return scd->title = formula(), scd; | |
1465 #line - "dsl.cpp" | |
1466 } | |
1467 | |
1468 static screen_descriptor * ag_rp_121(screen_descriptor * scd, int c) { | |
1469 #line - "dsl.syn" | |
1470 return scd->color = c, scd; | |
1471 #line - "dsl.cpp" | |
1472 } | |
1473 | |
1474 static screen_descriptor * ag_rp_122(screen_descriptor * scd, int c) { | |
1475 #line - "dsl.syn" | |
1476 return scd->entry_color = c, scd; | |
1477 #line - "dsl.cpp" | |
1478 } | |
1479 | |
1480 static screen_descriptor * ag_rp_123(screen_descriptor * scd, int c) { | |
1481 #line - "dsl.syn" | |
1482 return scd->highlight_color = c, scd; | |
1483 #line - "dsl.cpp" | |
1484 } | |
1485 | |
1486 static screen_descriptor * ag_rp_124(screen_descriptor * scd, long w, long h) { | |
1487 #line - "dsl.syn" | |
1488 return scd->width = (unsigned)w, scd->height = (unsigned) h, scd; | |
1489 #line - "dsl.cpp" | |
1490 } | |
1491 | |
1492 static screen_descriptor * ag_rp_125(screen_descriptor * scd, long x, long y) { | |
1493 #line - "dsl.syn" | |
1494 return scd->pos.x = (unsigned) x,scd->pos.y = (unsigned) y, scd; | |
1495 #line - "dsl.cpp" | |
1496 } | |
1497 | |
1498 static screen_descriptor * ag_rp_126(screen_descriptor * scd, query_item * q) { | |
1499 #line - "dsl.syn" | |
1500 return qs << *q, delete q, scd; | |
1501 #line - "dsl.cpp" | |
1502 } | |
1503 | |
1504 static screen_descriptor * ag_rp_127(screen_descriptor * scd, query_item * q) { | |
1505 #line - "dsl.syn" | |
1506 return qs << *q, delete q, scd; | |
1507 #line - "dsl.cpp" | |
1508 } | |
1509 | |
1510 static int ag_rp_128(long fg, long bg) { | |
1511 #line - "dsl.syn" | |
1512 return COLOR((unsigned)fg,(unsigned)bg); | |
1513 #line - "dsl.cpp" | |
1514 } | |
1515 | |
1516 static query_item * ag_rp_129(void) { | |
1517 #line - "dsl.syn" | |
1518 return clear(new query_item); | |
1519 #line - "dsl.cpp" | |
1520 } | |
1521 | |
1522 static query_item * ag_rp_130(query_item * q) { | |
1523 #line - "dsl.syn" | |
1524 return q->id = sd << sa--, q; | |
1525 #line - "dsl.cpp" | |
1526 } | |
1527 | |
1528 static query_item * ag_rp_131(query_item * q) { | |
1529 #line - "dsl.syn" | |
1530 return q->value = formula(), q; | |
1531 #line - "dsl.cpp" | |
1532 } | |
1533 | |
1534 static query_item * ag_rp_132(query_item * q) { | |
1535 #line - "dsl.syn" | |
1536 return q->prompt = formula(), q; | |
1537 #line - "dsl.cpp" | |
1538 } | |
1539 | |
1540 static query_item * ag_rp_133(query_item * q) { | |
1541 #line - "dsl.syn" | |
1542 return q->explanation = formula(),q; | |
1543 #line - "dsl.cpp" | |
1544 } | |
1545 | |
1546 static query_item * ag_rp_134(void) { | |
1547 #line - "dsl.syn" | |
1548 return clear(new query_item); | |
1549 #line - "dsl.cpp" | |
1550 } | |
1551 | |
1552 static query_item * ag_rp_135(query_item * q) { | |
1553 #line - "dsl.syn" | |
1554 return q->prompt = formula(), q; | |
1555 #line - "dsl.cpp" | |
1556 } | |
1557 | |
1558 static query_item * ag_rp_136(query_item * q) { | |
1559 #line - "dsl.syn" | |
1560 return q->explanation = formula(),q; | |
1561 #line - "dsl.cpp" | |
1562 } | |
1563 | |
1564 static query_item * ag_rp_137(query_item * q) { | |
1565 #line - "dsl.syn" | |
1566 return q->action = copy_action(), q; | |
1567 #line - "dsl.cpp" | |
1568 } | |
1569 | |
1570 static void ag_rp_138(void) { | |
1571 #line - "dsl.syn" | |
1572 reset(is) << (sd << sa--); | |
1573 #line - "dsl.cpp" | |
1574 } | |
1575 | |
1576 static void ag_rp_139(void) { | |
1577 #line - "dsl.syn" | |
1578 is << (sd << sa--); | |
1579 #line - "dsl.cpp" | |
1580 } | |
1581 | |
1582 static void ag_rp_140(void) { | |
1583 #line - "dsl.syn" | |
1584 sa << '['; | |
1585 #line - "dsl.cpp" | |
1586 } | |
1587 | |
1588 static void ag_rp_141(void) { | |
1589 #line - "dsl.syn" | |
1590 concat(sa) << ']'; | |
1591 #line - "dsl.cpp" | |
1592 } | |
1593 | |
1594 | |
1595 #define READ_COUNTS | |
1596 #define WRITE_COUNTS | |
1597 #undef V | |
1598 #define V(i,t) (*t (&(PCB).vs[(PCB).ssx + i])) | |
1599 #undef VS | |
1600 #define VS(i) (PCB).vs[(PCB).ssx + i] | |
1601 | |
1602 #ifndef GET_CONTEXT | |
1603 #define GET_CONTEXT CONTEXT = (PCB).input_context | |
1604 #endif | |
1605 | |
1606 typedef enum { | |
1607 ag_action_1, | |
1608 ag_action_2, | |
1609 ag_action_3, | |
1610 ag_action_4, | |
1611 ag_action_5, | |
1612 ag_action_6, | |
1613 ag_action_7, | |
1614 ag_action_8, | |
1615 ag_action_9, | |
1616 ag_action_10, | |
1617 ag_action_11, | |
1618 ag_action_12 | |
1619 } ag_parser_action; | |
1620 | |
1621 | |
1622 #ifndef NULL_VALUE_INITIALIZER | |
1623 #define NULL_VALUE_INITIALIZER = { 0 } | |
1624 #endif | |
1625 | |
1626 static dsl_vs_type const ag_null_value NULL_VALUE_INITIALIZER; | |
1627 | |
1628 static const unsigned char far ag_rpx[] = { | |
1629 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
1630 0, 0, 0, 0, 0, 1, 2, 3, 0, 4, 0, 5, 6, 7, 0, 8, 0, 9, | |
1631 10, 0, 11, 0, 0, 12, 0, 13, 14, 15, 0, 16, 0, 17, 18, 19, 20, 21, | |
1632 22, 23, 24, 25, 26, 27, 28, 29, 0, 0, 0, 0, 0, 30, 31, 32, 33, 0, | |
1633 34, 0, 0, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 0, 0, 0, 0, | |
1634 0, 0, 0, 0, 0, 0, 0, 46, 0, 47, 48, 49, 50, 51, 0, 0, 0, 0, | |
1635 0, 0, 0, 0, 52, 0, 0, 53, 54, 55, 56, 57, 0, 0, 58, 59, 60, 61, | |
1636 62, 0, 0, 63, 64, 65, 66, 0, 67, 0, 68, 0, 69, 0, 70, 0, 71, 0, | |
1637 72, 0, 73, 74, 75, 76, 0, 77, 78, 79, 80, 81, 82, 83, 84, 0, 85, 86, | |
1638 0, 87, 88, 0, 89, 90, 91, 92, 0, 93, 94, 95, 96, 0, 0, 97, 98, 0, | |
1639 99,100, 0,101, 0,102, 0,103,104,105, 0,106,107,108,109, 0, 0, 0, | |
1640 0, 0, 0,110,111, 0,112,113,114,115,116,117, 0, 0,118,119, 0,120, | |
1641 121,122,123,124,125,126,127,128,129, 0,130,131,132,133,134, 0,135,136, | |
1642 137,138,139, 0, 0, 0,140,141 | |
1643 }; | |
1644 | |
1645 static const unsigned char far ag_key_itt[] = { | |
1646 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
1647 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
1648 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, | |
1649 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, | |
1650 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | |
1651 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
1652 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
1653 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
1654 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
1655 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
1656 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
1657 0 | |
1658 }; | |
1659 | |
1660 static const unsigned short far ag_key_pt[] = { | |
1661 0,211, 0,214, 0,218, 0,221, 0,220, 0,219, 0,223, 0,224, | |
1662 0,225, 0,162, 0,163, 0,247, 0,248, 0,249, 0,250, 0,252, | |
1663 0,253, 0,254, 0,255, 0,256, 0,257, 0,258, 0,259, 0,260, | |
1664 0 | |
1665 }; | |
1666 | |
1667 static const unsigned char far ag_key_ch[] = { | |
1668 0, 42, 47,255, 47, 97,105,115,255, 42, 47,255, 42, 47,255, 88,120,255, | |
1669 60, 61,255, 61, 62,255,101,111,255,108,110,120,255,105,111,255,116,255, | |
1670 102,110,255, 99,105,116,255, 33, 38, 46, 47, 48, 60, 61, 62, 97, 98, 99, | |
1671 100,101,102,104,105,108,112,115,116,118,119,124,255, 47, 97,105,115,255, | |
1672 47,255, 42, 47,255,110,120,255,105,111,255,102,110,255, 99,105,116,255, | |
1673 47, 97, 98, 99,100,101,102,104,105,108,112,115,116,118,119,255, 42, 47, | |
1674 255,108,110,120,255,105,111,255,102,110,255, 99,105,116,255, 47, 97, 98, | |
1675 99,100,101,102,104,105,108,112,115,116,118,119,255,102,110,255, 99,116, | |
1676 255, 47, 97,102,105,115,119,255, 42, 47,255, 60, 61,255, 61, 62,255,116, | |
1677 255,110,255,105,116,255, 33, 38, 46, 47, 60, 61, 62, 97, 98, 99,101,102, | |
1678 104,105,108,115,116,124,255,102,110,255, 99,116,255, 97,102,105,115,119, | |
1679 255, 42, 47,255, 88,120,255, 47, 48,255, 88,120,255, 48,255, 47,255, 34, | |
1680 39, 63, 92, 97, 98,102,110,114,116,118,120,255, 92,255, 42, 47,255, 60, | |
1681 61,255, 61, 62,255,105,116,255, 33, 38, 46, 47, 60, 61, 62, 97, 98, 99, | |
1682 101,102,104,105,108,115,116,124,255, 42, 47,255, 47,255, 47, 62,255, 47, | |
1683 98, 99,101,102,104,108,115,116,255, 62,255, 47,119,255, 47,101,255, 88, | |
1684 120,255, 47, 48,255, 60, 61,255, 61, 62,255, 33, 38, 46, 47, 60, 61, 62, | |
1685 124,255,105,116,255, 33, 38, 46, 47, 60, 61, 62, 97, 98, 99,101,102,104, | |
1686 105,108,115,116,124,255, 60, 61,255, 61, 62,255,105,116,255, 33, 38, 46, | |
1687 47, 60, 61, 62, 97, 98, 99,101,102,104,105,108,115,116,124,255, 33, 60, | |
1688 61, 62,255,105,116,255, 33, 38, 46, 47, 61, 97, 98, 99,101,102,104,105, | |
1689 108,115,116,124,255,105,116,255, 38, 46, 47, 97, 98, 99,101,102,104,105, | |
1690 108,115,116,124,255,105,116,255, 46, 47, 97, 98, 99,101,102,104,105,108, | |
1691 115,116,124,255, 42, 47,255, 60, 61,255, 61, 62,255,108,110,255,105,116, | |
1692 255, 33, 38, 46, 47, 60, 61, 62, 97, 98, 99,100,101,102,104,105,108,115, | |
1693 116,119,124,255, 47,101,112,255, 47,100,101,112,118,255, 47, 99,255, 99, | |
1694 255,105,255, 47, 62,100,255,102,110,255, 99,116,255, 47, 97,101,102,105, | |
1695 115,119,255,101,255, 42, 47,255, 47,105,255, 47,105,255, 60, 62,255,100, | |
1696 255,105,255, 46,255, 42, 47,255,105,116,255, 33, 38, 46, 47, 60, 61, 62, | |
1697 97, 98, 99,101,102,104,105,108,115,116,124,255 | |
1698 }; | |
1699 | |
1700 static const unsigned char far ag_key_act[] = { | |
1701 0,0,0,4,2,7,7,7,4,3,3,4,0,0,4,5,5,4,0,0,4,0,0,4,7,5,4,7,7,7,4,7,7,4,5, | |
1702 4,5,6,4,7,7,7,4,3,3,3,2,2,2,3,2,7,7,7,2,2,2,7,2,7,7,2,7,7,7,3,4,3,7,7, | |
1703 7,4,3,4,0,0,4,7,7,4,7,7,4,5,7,4,7,7,7,4,2,7,7,7,7,2,2,7,2,7,7,2,7,7,7, | |
1704 4,0,0,4,7,7,7,4,7,7,4,5,7,4,7,7,7,4,2,7,7,7,7,2,2,7,2,7,7,2,7,7,7,4,5, | |
1705 7,4,7,7,4,3,7,7,2,2,7,4,0,0,4,0,0,4,0,0,4,5,4,6,4,7,7,4,3,3,3,2,2,3,2, | |
1706 7,7,7,7,7,7,2,7,2,7,3,4,5,7,4,7,7,4,7,7,2,2,7,4,0,0,4,5,5,4,2,2,4,5,5, | |
1707 4,2,4,3,4,0,0,0,0,0,0,0,0,0,0,0,0,4,2,4,0,0,4,0,0,4,0,0,4,7,7,4,3,3,3, | |
1708 2,2,3,2,7,7,7,7,7,7,7,7,2,7,3,4,0,0,4,2,4,3,3,4,3,7,7,7,7,7,7,7,7,4,3, | |
1709 4,3,7,4,3,7,4,5,5,4,3,2,4,0,0,4,0,0,4,3,3,3,3,2,3,2,3,4,7,7,4,3,3,3,3, | |
1710 3,3,3,7,7,7,7,7,7,7,7,2,7,3,4,0,0,4,0,0,4,7,7,4,3,3,3,3,2,3,2,7,7,7,7, | |
1711 7,7,7,7,2,7,3,4,3,3,3,3,4,7,7,4,3,3,3,3,3,7,7,7,7,7,7,7,7,2,7,3,4,7,7, | |
1712 4,3,3,3,7,7,7,7,7,7,7,7,2,7,3,4,7,7,4,3,3,7,7,7,7,7,7,7,7,2,7,3,4,0,0, | |
1713 4,0,0,4,0,0,4,7,7,4,7,7,4,3,3,3,2,2,3,2,7,7,7,7,2,7,7,7,7,2,7,7,3,4,3, | |
1714 7,7,4,3,7,7,7,7,4,3,7,4,7,4,7,4,3,3,7,4,5,7,4,7,7,4,3,7,7,7,2,2,7,4,7, | |
1715 4,0,0,4,2,7,4,3,7,4,3,3,4,7,4,7,4,3,4,0,0,4,7,7,4,3,3,3,2,3,3,3,7,7,7, | |
1716 7,7,7,7,7,2,7,3,4 | |
1717 }; | |
1718 | |
1719 static const unsigned short far ag_key_parm[] = { | |
1720 0, 15, 18, 0, 0, 12, 14, 16, 0, 14, 15, 0, 15, 18, 0, 20, 18, 0, | |
1721 236,234, 0,235,210, 0, 40, 10, 0, 0, 26, 44, 0, 36, 6, 0, 14, 0, | |
1722 2, 8, 0, 22, 30, 16, 0,233,229,246, 0, 0, 0,232, 0, 12, 46, 34, | |
1723 0, 0, 0, 28, 0, 32, 42, 0, 24, 38, 4,228, 0, 18, 12, 14, 16, 0, | |
1724 15, 0, 15, 18, 0, 26, 44, 0, 36, 6, 0, 2, 14, 0, 22, 30, 16, 0, | |
1725 0, 12, 46, 34, 40, 0, 0, 28, 0, 32, 42, 0, 24, 38, 4, 0, 15, 18, | |
1726 0, 0, 26, 44, 0, 36, 6, 0, 2, 14, 0, 22, 30, 16, 0, 0, 12, 46, | |
1727 34, 40, 0, 0, 28, 0, 32, 42, 0, 24, 38, 4, 0, 2, 14, 0, 22, 16, | |
1728 0, 18, 12, 6, 0, 0, 4, 0, 15, 18, 0,236,234, 0,235,210, 0, 14, | |
1729 0, 8, 0, 30, 16, 0,233,229,246, 0, 0,232, 0, 12, 46, 34, 26, 36, | |
1730 28, 0, 32, 0, 24,228, 0, 2, 14, 0, 22, 16, 0, 12, 6, 0, 0, 4, | |
1731 0, 15, 18, 0, 20, 18, 0, 0, 0, 0, 20, 18, 0, 0, 0, 18, 0, 64, | |
1732 63, 62, 61, 54, 55, 56, 57, 58, 59, 60, 72, 0, 0, 0, 15, 18, 0,236, | |
1733 234, 0,235,210, 0, 30, 16, 0,233,229,246, 0, 0,232, 0, 12, 46, 34, | |
1734 26, 36, 28, 14, 32, 0, 24,228, 0, 15, 18, 0, 0, 0, 18,210, 0, 18, | |
1735 46, 34, 26, 36, 28, 32, 30, 24, 0,210, 0, 18, 4, 0, 18, 0, 0, 20, | |
1736 18, 0, 15, 0, 0,236,234, 0,235,210, 0,233,229,246, 18, 0,232, 0, | |
1737 228, 0, 30, 16, 0,233,229,246, 18,234,232,235, 12, 46, 34, 26, 36, 28, | |
1738 14, 32, 0, 24,228, 0,236,234, 0,235,210, 0, 30, 16, 0,233,229,246, | |
1739 18, 0,232, 0, 12, 46, 34, 26, 36, 28, 14, 32, 0, 24,228, 0,233,234, | |
1740 232,235, 0, 30, 16, 0,233,229,246, 18,232, 12, 46, 34, 26, 36, 28, 14, | |
1741 32, 0, 24,228, 0, 30, 16, 0,229,246, 18, 12, 46, 34, 26, 36, 28, 14, | |
1742 32, 0, 24,228, 0, 30, 16, 0,246, 18, 12, 46, 34, 26, 36, 28, 14, 32, | |
1743 0, 24,228, 0, 15, 18, 0,236,234, 0,235,210, 0, 0, 26, 0, 30, 16, | |
1744 0,233,229,246, 0, 0,232, 0, 12, 46, 34, 10, 0, 36, 28, 14, 32, 0, | |
1745 24, 4,228, 0, 18, 44, 42, 0, 18, 40, 44, 42, 38, 0, 15, 34, 0, 34, | |
1746 0, 8, 0, 18,210, 10, 0, 2, 14, 0, 22, 16, 0, 18, 12, 0, 6, 0, | |
1747 0, 4, 0, 0, 0, 15, 18, 0, 0, 2, 0, 18, 2, 0,234,235, 0, 10, | |
1748 0, 2, 0,246, 0, 15, 18, 0, 30, 16, 0,233,229,246, 0,234,232,235, | |
1749 12, 46, 34, 26, 36, 28, 14, 32, 0, 24,228, 0 | |
1750 }; | |
1751 | |
1752 static const unsigned short far ag_key_jmp[] = { | |
1753 0, 0, 0, 0, 1, 0, 6, 9, 0, 15, 17, 0, 0, 0, 0, 0, 0, 0, | |
1754 0, 0, 0, 0, 0, 0, 44, 0, 0, 50, 53, 57, 0, 67, 71, 0, 0, 0, | |
1755 0, 34, 0, 96,101,104, 0, 19, 21, 23, 12, 15, 18, 25, 21, 27, 33, 39, | |
1756 24, 27, 31, 73, 36, 82, 90, 39,109,114,122,127, 0,129,131,137,140, 0, | |
1757 146, 0, 0, 0, 0,172,176, 0,186,190, 0, 0,201, 0,217,222,225, 0, | |
1758 74,148,154,160,165, 77, 80,192, 83,203,211, 86,230,235,243, 0, 0, 0, | |
1759 0,272,275,279, 0,289,293, 0, 0,304, 0,320,325,328, 0,106,248,254, | |
1760 260,265,109,113,295,116,306,314,119,333,338,346, 0, 0,362, 0,364,369, | |
1761 0,351,353,359,139,142,374, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
1762 0,161, 0,431,434, 0,379,381,383,152,155,385,158,387,393,399,404,409, | |
1763 414,163,423,165,439,444, 0, 0,455, 0,457,462, 0,446,452,187,190,467, | |
1764 0, 0, 0, 0, 0, 0, 0,199,202, 0, 0, 0, 0,208, 0,472, 0, 0, | |
1765 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,215, 0, 0, 0, 0, 0, | |
1766 0, 0, 0, 0, 0,529,532, 0,474,476,478,230,233,480,236,482,488,494, | |
1767 499,504,509,518,521,239,537,542, 0, 0, 0, 0,261, 0,544,546, 0,548, | |
1768 550,556,561,566,571,580,588,592, 0,597, 0,599,601, 0,606,608, 0, 0, | |
1769 0, 0,612,287, 0, 0, 0, 0, 0, 0, 0,614,616,618,620,293,622,296, | |
1770 624, 0,687,690, 0,626,628,630,632,634,636,638,640,646,652,657,662,667, | |
1771 676,679,308,695,700, 0, 0, 0, 0, 0, 0, 0,759,762, 0,702,704,706, | |
1772 708,330,710,333,712,718,724,729,734,739,748,751,336,767,772, 0,774,776, | |
1773 778,780, 0,839,842, 0,782,784,786,788,790,792,798,804,809,814,819,828, | |
1774 831,363,847,852, 0,907,910, 0,854,856,858,860,866,872,877,882,887,896, | |
1775 899,383,915,920, 0,973,976, 0,922,924,926,932,938,943,948,953,962,965, | |
1776 401,981,986, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,1015,1018, 0,1047, | |
1777 1050, 0,988,990,992,418,421,994,424,996,1002,1008,1013,427,1022,1027, | |
1778 1036,1039,430,1055,1060,1065, 0,1067,1069,1080, 0,1086,1088,1095,1106, | |
1779 1112, 0,1120,1122, 0,1127, 0,1132, 0,1134,1136,1138, 0, 0,1155, 0, | |
1780 1157,1162, 0,1140,1142,1148,1152,475,478,1167, 0,1172, 0, 0, 0, 0, | |
1781 491,1176, 0,1178,1180, 0,1182,1184, 0,1186, 0,1188, 0,1190, 0, 0, | |
1782 0, 0,1251,1254, 0,1192,1194,1196,509,1198,1200,1202,1204,1210,1216, | |
1783 1221,1226,1231,1240,1243,512,1259,1264, 0 | |
1784 }; | |
1785 | |
1786 static const unsigned short far ag_key_index[] = { | |
1787 4, 9, 43, 67, 0, 72, 72, 72, 90,123, 0, 0, 0,145, 67, 0, 0, 0, | |
1788 168,168, 0, 0, 0, 72, 0,145,193,205, 0,211, 72,213,228, 0,242,264, | |
1789 72, 72,264,266, 72, 0, 0, 72, 0,266, 0,269, 0, 0, 0, 0,279,266, | |
1790 0,281,284,213, 0,290,299, 0,211,311, 67,228,242,242,242,264,242,242, | |
1791 290,290,290,290, 0, 0,211,211,211,211,211,339,339,358,339,358,311,366, | |
1792 386,386,386,386,404, 67, 0,205,205,205,213,433, 0, 0,228,228, 0, 72, | |
1793 0,211, 0,211, 72, 0,454, 72, 0,458, 72, 0, 72, 0,464,467,464,467, | |
1794 72, 0,213, 72, 0,469,290,211, 0,211, 0,290, 0, 0, 0,471,266,266, | |
1795 266,481,489,145, 0, 0, 0, 0, 0, 4, 0, 0,358, 0,290,211,290,211, | |
1796 290,211,211,211,211,211,290,211,290, 0,290, 0, 0, 0,290, 0,290, 0, | |
1797 211,211,211,211,211,211,290,211,290,211,211,290,211,290,211,290,211,228, | |
1798 0, 0, 0,266, 0,213, 72, 0, 72, 0,213, 0, 0, 72, 0, 72, 0,213, | |
1799 211,211,213,213,211, 0, 72, 0, 0,213,213,213,213,213,266, 0,266, 0, | |
1800 494,497,242, 0,211,311, 0,339,339,211,339,339,311,311,311,311,366,366, | |
1801 339,339,339,339,500,311,311,366,386,386,386,386, 0, 0, 0, 0, 0, 0, | |
1802 0, 0, 0, 0, 0, 0,213,213,503,211,266,266,505, 0,507,507,290,211, | |
1803 515,213,213,213,213,213,213,290,211,211,211, 0, 0, 72, 0,213, 0,290, | |
1804 211, 0,213, 0, 0 | |
1805 }; | |
1806 | |
1807 static const unsigned char far ag_key_ends[] = { | |
1808 99,116,105,111,110,0, 110,116,0, 116,114,105,110,103,0, 47,0, | |
1809 42,0, 61,0, 38,0, 46,0, 61,0, 99,116,105,111,110,0, | |
1810 117,116,116,111,110,0, 111,108,111,114,0, 102,97,117,108,116,0, | |
1811 115,101,0, 116,114,121,0, 112,108,97,110,97,116,105,111,110,0, | |
1812 101,108,100,0, 114,0, 105,103,104,108,105,103,104,116,0, | |
1813 111,99,97,116,105,111,110,0, 114,111,109,112,116,0, 114,101,101,110,0, | |
1814 122,101,0, 114,105,110,103,0, 105,116,108,101,0, | |
1815 97,114,105,97,98,108,101,0, 104,105,108,101,0, 124,0, 47,0, | |
1816 99,116,105,111,110,0, 110,116,0, 116,114,105,110,103,0, 42,0, | |
1817 99,116,105,111,110,0, 117,116,116,111,110,0, 111,108,111,114,0, | |
1818 101,102,97,117,108,116,0, 116,114,121,0, | |
1819 112,108,97,110,97,116,105,111,110,0, 101,108,100,0, 114,0, | |
1820 105,103,104,108,105,103,104,116,0, 116,0, 111,99,97,116,105,111,110,0, | |
1821 114,111,109,112,116,0, 114,101,101,110,0, 122,101,0, | |
1822 114,105,110,103,0, 105,116,108,101,0, 97,114,105,97,98,108,101,0, | |
1823 104,105,108,101,0, 99,116,105,111,110,0, 117,116,116,111,110,0, | |
1824 111,108,111,114,0, 101,102,97,117,108,116,0, 115,101,0, | |
1825 116,114,121,0, 112,108,97,110,97,116,105,111,110,0, 101,108,100,0, | |
1826 114,0, 105,103,104,108,105,103,104,116,0, 116,0, | |
1827 111,99,97,116,105,111,110,0, 114,111,109,112,116,0, 114,101,101,110,0, | |
1828 122,101,0, 114,105,110,103,0, 105,116,108,101,0, | |
1829 97,114,105,97,98,108,101,0, 104,105,108,101,0, 47,0, | |
1830 99,116,105,111,110,0, 111,114,0, 116,0, 114,101,101,110,0, | |
1831 114,105,110,103,0, 104,105,108,101,0, 61,0, 38,0, 46,0, 61,0, | |
1832 99,116,105,111,110,0, 117,116,116,111,110,0, 111,108,111,114,0, | |
1833 110,116,114,121,0, 105,101,108,100,0, 105,103,104,108,105,103,104,116,0, | |
1834 111,99,97,116,105,111,110,0, 122,101,0, 114,105,110,103,0, | |
1835 105,116,108,101,0, 124,0, 99,116,105,111,110,0, 111,114,0, 116,0, | |
1836 114,101,101,110,0, 114,105,110,103,0, 104,105,108,101,0, 47,0, | |
1837 61,0, 38,0, 46,0, 61,0, 99,116,105,111,110,0, 117,116,116,111,110,0, | |
1838 111,108,111,114,0, 110,116,114,121,0, 105,101,108,100,0, | |
1839 105,103,104,108,105,103,104,116,0, 110,116,0, | |
1840 111,99,97,116,105,111,110,0, 122,101,0, 114,105,110,103,0, | |
1841 105,116,108,101,0, 124,0, 47,0, 62,0, 47,0, 117,116,116,111,110,0, | |
1842 111,108,111,114,0, 110,116,114,121,0, 105,101,108,100,0, | |
1843 105,103,104,108,105,103,104,116,0, 111,99,97,116,105,111,110,0, | |
1844 105,122,101,0, 105,116,108,101,0, 62,0, 47,0, 104,105,108,101,0, | |
1845 47,0, 108,115,101,0, 42,0, 61,0, 38,0, 46,0, 47,0, 61,0, | |
1846 124,0, 61,0, 38,0, 46,0, 47,0, 61,0, 61,0, 61,0, | |
1847 99,116,105,111,110,0, 117,116,116,111,110,0, 111,108,111,114,0, | |
1848 110,116,114,121,0, 105,101,108,100,0, 105,103,104,108,105,103,104,116,0, | |
1849 110,116,0, 111,99,97,116,105,111,110,0, 122,101,0, 114,105,110,103,0, | |
1850 105,116,108,101,0, 124,0, 61,0, 38,0, 46,0, 47,0, 61,0, | |
1851 99,116,105,111,110,0, 117,116,116,111,110,0, 111,108,111,114,0, | |
1852 110,116,114,121,0, 105,101,108,100,0, 105,103,104,108,105,103,104,116,0, | |
1853 110,116,0, 111,99,97,116,105,111,110,0, 122,101,0, 114,105,110,103,0, | |
1854 105,116,108,101,0, 124,0, 61,0, 61,0, 61,0, 61,0, 61,0, 38,0, | |
1855 46,0, 47,0, 61,0, 99,116,105,111,110,0, 117,116,116,111,110,0, | |
1856 111,108,111,114,0, 110,116,114,121,0, 105,101,108,100,0, | |
1857 105,103,104,108,105,103,104,116,0, 110,116,0, | |
1858 111,99,97,116,105,111,110,0, 122,101,0, 114,105,110,103,0, | |
1859 105,116,108,101,0, 124,0, 38,0, 46,0, 47,0, 99,116,105,111,110,0, | |
1860 117,116,116,111,110,0, 111,108,111,114,0, 110,116,114,121,0, | |
1861 105,101,108,100,0, 105,103,104,108,105,103,104,116,0, 110,116,0, | |
1862 111,99,97,116,105,111,110,0, 122,101,0, 114,105,110,103,0, | |
1863 105,116,108,101,0, 124,0, 46,0, 47,0, 99,116,105,111,110,0, | |
1864 117,116,116,111,110,0, 111,108,111,114,0, 110,116,114,121,0, | |
1865 105,101,108,100,0, 105,103,104,108,105,103,104,116,0, 110,116,0, | |
1866 111,99,97,116,105,111,110,0, 122,101,0, 114,105,110,103,0, | |
1867 105,116,108,101,0, 124,0, 61,0, 38,0, 46,0, 61,0, | |
1868 99,116,105,111,110,0, 117,116,116,111,110,0, 111,108,111,114,0, | |
1869 111,0, 115,101,0, 116,114,121,0, 105,101,108,100,0, | |
1870 105,103,104,108,105,103,104,116,0, 110,116,0, | |
1871 111,99,97,116,105,111,110,0, 122,101,0, 114,105,110,103,0, | |
1872 105,116,108,101,0, 104,105,108,101,0, 124,0, 47,0, | |
1873 120,112,108,97,110,97,116,105,111,110,0, 114,111,109,112,116,0, | |
1874 47,0, 101,102,97,117,108,116,0, 120,112,108,97,110,97,116,105,111,110,0, | |
1875 114,111,109,112,116,0, 97,114,105,97,98,108,101,0, 42,0, | |
1876 111,108,111,114,0, 111,108,111,114,0, 110,0, 47,0, 62,0, 111,0, | |
1877 47,0, 99,116,105,111,110,0, 108,115,101,0, 111,114,0, 116,0, | |
1878 114,101,101,110,0, 114,105,110,103,0, 104,105,108,101,0, | |
1879 108,115,101,0, 102,0, 47,0, 102,0, 61,0, 61,0, 111,0, 102,0, | |
1880 46,0, 61,0, 38,0, 46,0, 61,0, 61,0, 61,0, 99,116,105,111,110,0, | |
1881 117,116,116,111,110,0, 111,108,111,114,0, 110,116,114,121,0, | |
1882 105,101,108,100,0, 105,103,104,108,105,103,104,116,0, 110,116,0, | |
1883 111,99,97,116,105,111,110,0, 122,101,0, 114,105,110,103,0, | |
1884 105,116,108,101,0, 124,0, | |
1885 }; | |
1886 | |
1887 #define AG_TCV(x) ag_tcv[(x)] | |
1888 | |
1889 static const unsigned short far ag_tcv[] = { | |
1890 28,193,193,193,193,193,193,193,193, 11, 17, 11, 11, 11,193,193,193,193, | |
1891 193,193,193,193,193,193,193,193, 28,193,193,193,193,193, 11,243, 50,204, | |
1892 193,241,231,169,213,212,239,237,251,238,193,240,167,194,194,194,194,194, | |
1893 194,194,195,195,226,216,207,215,209,227,217,261,261,261,261,261,261,262, | |
1894 262,262,262,262,262,262,262,262,262,262,262,262,262,262,262,262,262,262, | |
1895 262,203, 70,202,230,262,193,261,261,261,261,261,261,262,262,262,262,262, | |
1896 262,262,262,262,262,262,262,262,262,262,262,262,262,262,262,206,208,205, | |
1897 242,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193, | |
1898 193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193, | |
1899 193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193, | |
1900 193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193, | |
1901 193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193, | |
1902 193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193, | |
1903 193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193, | |
1904 193,193,193,193 | |
1905 }; | |
1906 | |
1907 #ifndef SYNTAX_ERROR | |
1908 #define SYNTAX_ERROR fprintf(stderr,"%s, line %d, column %d\n", \ | |
1909 (PCB).error_message, (PCB).line, (PCB).column) | |
1910 #endif | |
1911 | |
1912 #ifndef FIRST_LINE | |
1913 #define FIRST_LINE 1 | |
1914 #endif | |
1915 | |
1916 #ifndef FIRST_COLUMN | |
1917 #define FIRST_COLUMN 1 | |
1918 #endif | |
1919 | |
1920 #ifndef PARSER_STACK_OVERFLOW | |
1921 #define PARSER_STACK_OVERFLOW {fprintf(stderr, \ | |
1922 "\nParser stack overflow, line %d, column %d\n",\ | |
1923 (PCB).line, (PCB).column);} | |
1924 #endif | |
1925 | |
1926 #ifndef REDUCTION_TOKEN_ERROR | |
1927 #define REDUCTION_TOKEN_ERROR {fprintf(stderr, \ | |
1928 "\nReduction token error, line %d, column %d\n", \ | |
1929 (PCB).line, (PCB).column);} | |
1930 #endif | |
1931 | |
1932 | |
1933 #ifndef INPUT_CODE | |
1934 #define INPUT_CODE(T) (T) | |
1935 #endif | |
1936 | |
1937 typedef enum | |
1938 {ag_accept_key, ag_set_key, ag_jmp_key, ag_end_key, ag_no_match_key, | |
1939 ag_cf_accept_key, ag_cf_set_key, ag_cf_end_key} key_words; | |
1940 | |
1941 static void ag_get_key_word(int ag_k) { | |
1942 int ag_save = (int) ((PCB).la_ptr - (PCB).pointer); | |
1943 const unsigned char *ag_p; | |
1944 int ag_ch; | |
1945 while (1) { | |
1946 switch (ag_key_act[ag_k]) { | |
1947 case ag_cf_end_key: { | |
1948 const unsigned char *sp = ag_key_ends + ag_key_jmp[ag_k]; | |
1949 do { | |
1950 if ((ag_ch = *sp++) == 0) { | |
1951 int ag_k1 = ag_key_parm[ag_k]; | |
1952 int ag_k2 = ag_key_pt[ag_k1]; | |
1953 if (ag_key_itt[ag_k2 + CONVERT_CASE(*(PCB).la_ptr)]) goto ag_fail; | |
1954 (PCB).token_number = (dsl_token_type) ag_key_pt[ag_k1 + 1]; | |
1955 return; | |
1956 } | |
1957 } while (CONVERT_CASE(*(PCB).la_ptr++) == ag_ch); | |
1958 goto ag_fail; | |
1959 } | |
1960 case ag_end_key: { | |
1961 const unsigned char *sp = ag_key_ends + ag_key_jmp[ag_k]; | |
1962 do { | |
1963 if ((ag_ch = *sp++) == 0) { | |
1964 (PCB).token_number = (dsl_token_type) ag_key_parm[ag_k]; | |
1965 return; | |
1966 } | |
1967 } while (CONVERT_CASE(*(PCB).la_ptr++) == ag_ch); | |
1968 } | |
1969 case ag_no_match_key: | |
1970 ag_fail: | |
1971 (PCB).la_ptr = (PCB).pointer + ag_save; | |
1972 return; | |
1973 case ag_cf_set_key: { | |
1974 int ag_k1 = ag_key_parm[ag_k]; | |
1975 int ag_k2 = ag_key_pt[ag_k1]; | |
1976 ag_k = ag_key_jmp[ag_k]; | |
1977 if (ag_key_itt[ag_k2 + CONVERT_CASE(*(PCB).la_ptr)]) break; | |
1978 ag_save = (int) ((PCB).la_ptr - (PCB).pointer); | |
1979 (PCB).token_number = (dsl_token_type) ag_key_pt[ag_k1+1]; | |
1980 break; | |
1981 } | |
1982 case ag_set_key: | |
1983 ag_save = (int) ((PCB).la_ptr - (PCB).pointer); | |
1984 (PCB).token_number = (dsl_token_type) ag_key_parm[ag_k]; | |
1985 case ag_jmp_key: | |
1986 ag_k = ag_key_jmp[ag_k]; | |
1987 break; | |
1988 case ag_accept_key: | |
1989 (PCB).token_number = (dsl_token_type) ag_key_parm[ag_k]; | |
1990 return; | |
1991 case ag_cf_accept_key: { | |
1992 int ag_k1 = ag_key_parm[ag_k]; | |
1993 int ag_k2 = ag_key_pt[ag_k1]; | |
1994 if (ag_key_itt[ag_k2 + CONVERT_CASE(*(PCB).la_ptr)]) | |
1995 (PCB).la_ptr = (PCB).pointer + ag_save; | |
1996 else (PCB).token_number = (dsl_token_type) ag_key_pt[ag_k1+1]; | |
1997 return; | |
1998 } | |
1999 } | |
2000 ag_ch = CONVERT_CASE(*(PCB).la_ptr++); | |
2001 ag_p = &ag_key_ch[ag_k]; | |
2002 if (ag_ch <= 255) while (*ag_p < ag_ch) ag_p++; | |
2003 if (ag_ch > 255 || *ag_p != ag_ch) { | |
2004 (PCB).la_ptr = (PCB).pointer + ag_save; | |
2005 return; | |
2006 } | |
2007 ag_k = (int) (ag_p - ag_key_ch); | |
2008 } | |
2009 } | |
2010 | |
2011 | |
2012 #ifndef AG_NEWLINE | |
2013 #define AG_NEWLINE 10 | |
2014 #endif | |
2015 | |
2016 #ifndef AG_RETURN | |
2017 #define AG_RETURN 13 | |
2018 #endif | |
2019 | |
2020 #ifndef AG_FORMFEED | |
2021 #define AG_FORMFEED 12 | |
2022 #endif | |
2023 | |
2024 #ifndef AG_TABCHAR | |
2025 #define AG_TABCHAR 9 | |
2026 #endif | |
2027 | |
2028 static void ag_track(void) { | |
2029 int ag_k = (int) ((PCB).la_ptr - (PCB).pointer); | |
2030 while (ag_k--) { | |
2031 switch (*(PCB).pointer++) { | |
2032 case AG_NEWLINE: | |
2033 (PCB).column = 1, (PCB).line++; | |
2034 case AG_RETURN: | |
2035 case AG_FORMFEED: | |
2036 break; | |
2037 case AG_TABCHAR: | |
2038 (PCB).column += (TAB_SPACING) - ((PCB).column - 1) % (TAB_SPACING); | |
2039 break; | |
2040 default: | |
2041 (PCB).column++; | |
2042 } | |
2043 } | |
2044 } | |
2045 | |
2046 | |
2047 static void ag_prot(void) { | |
2048 int ag_k; | |
2049 ag_k = 128 - ++(PCB).btsx; | |
2050 if (ag_k <= (PCB).ssx) { | |
2051 (PCB).exit_flag = AG_STACK_ERROR_CODE; | |
2052 PARSER_STACK_OVERFLOW; | |
2053 return; | |
2054 } | |
2055 (PCB).bts[(PCB).btsx] = (PCB).sn; | |
2056 (PCB).bts[ag_k] = (PCB).ssx; | |
2057 (PCB).vs[ag_k] = (PCB).vs[(PCB).ssx]; | |
2058 (PCB).ss[ag_k] = (PCB).ss[(PCB).ssx]; | |
2059 (PCB).cs[ag_k] = (PCB).cs[(PCB).ssx]; | |
2060 } | |
2061 | |
2062 static void ag_undo(void) { | |
2063 if ((PCB).drt == -1) return; | |
2064 while ((PCB).btsx) { | |
2065 int ag_k = 128 - (PCB).btsx; | |
2066 (PCB).sn = (PCB).bts[(PCB).btsx--]; | |
2067 (PCB).ssx = (PCB).bts[ag_k]; | |
2068 (PCB).vs[(PCB).ssx] = (PCB).vs[ag_k]; | |
2069 (PCB).ss[(PCB).ssx] = (PCB).ss[ag_k]; | |
2070 (PCB).cs[(PCB).ssx] = (PCB).cs[ag_k]; | |
2071 } | |
2072 (PCB).token_number = (dsl_token_type) (PCB).drt; | |
2073 (PCB).ssx = (PCB).dssx; | |
2074 (PCB).sn = (PCB).dsn; | |
2075 (PCB).drt = -1; | |
2076 } | |
2077 | |
2078 | |
2079 | |
2080 static const int far ag_rtt[] = { | |
2081 102,105,100, 0,152,155,153,156, 0 | |
2082 }; | |
2083 | |
2084 static const unsigned short far ag_tstt[] = { | |
2085 225,224,223,206,28,18,17,15,11,0,2,12,13,117,197, | |
2086 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,215,213,212, | |
2087 209,208,207,206,205,204,203,202,195,194,193,169,167,70,50,17,15,14,11,0, | |
2088 12,13, | |
2089 15,11,0,2,12,13, | |
2090 225,224,223,206,28,18,17,0,8,22,23,24,25,26,27,41,114,115,116,198, | |
2091 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,215,213,212, | |
2092 209,208,207,206,205,204,203,202,195,194,193,169,167,70,50,17,11,0,20,21, | |
2093 262,261,15,11,0,2,12,13,117,197, | |
2094 262,261,15,11,0,2,12,13,117,197, | |
2095 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,195,194,193, | |
2096 169,167,70,15,11,0,2,12,13,117,197, | |
2097 262,261,260,259,258,257,256,255,254,253,252,251,250,249,248,247,243,242,241, | |
2098 240,239,238,237,231,230,227,226,225,224,223,221,218,217,216,215,214,213, | |
2099 209,208,207,206,205,204,195,194,193,169,167,70,50,18,17,15,11,0,2,12,13, | |
2100 117,197, | |
2101 262,261,260,259,258,257,256,255,254,253,252,251,250,249,248,247,243,242,241, | |
2102 240,239,238,237,231,230,227,226,225,224,223,221,218,217,216,215,214,213, | |
2103 211,209,208,207,206,205,204,195,194,193,169,167,70,50,28,18,17,15,11,0, | |
2104 2,12,13,117,197, | |
2105 262,261,0,1,166,196, | |
2106 262,261,0,1,166,196, | |
2107 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,195,194,193, | |
2108 169,167,70,0,9,201,222, | |
2109 262,261,251,247,243,242,241,240,239,238,237,231,230,227,226,225,224,223,221, | |
2110 218,217,216,214,213,205,195,194,193,169,167,70,50,18,17,0,8,84,85,198, | |
2111 225,224,223,206,18,17,0,8,23,24,25,41,114,115,116,198, | |
2112 28,0, | |
2113 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,215,213,212, | |
2114 209,208,207,206,205,204,203,202,195,194,193,169,167,70,50,11,0, | |
2115 17,0, | |
2116 262,261,260,255,254,253,252,251,250,249,248,246,241,240,239,238,237,236,235, | |
2117 234,233,232,231,230,229,228,227,226,225,224,223,220,217,216,215,213,212, | |
2118 210,209,208,207,206,205,204,203,195,194,167,28,18,17,15,11,0,2,12,13, | |
2119 117,197, | |
2120 262,261,260,255,254,253,252,251,250,249,248,246,241,240,239,238,237,236,235, | |
2121 234,233,232,231,230,229,228,227,226,225,224,223,220,217,216,215,213,212, | |
2122 210,209,208,207,206,205,204,203,195,194,167,28,18,17,15,11,0,2,12,13, | |
2123 117,197, | |
2124 262,261,215,195,194,167,0,101,119,166,196, | |
2125 262,261,215,195,194,167,0,101,119,166,196, | |
2126 262,261,251,243,242,241,240,239,238,237,231,230,227,226,216,195,194,193,169, | |
2127 167,70,0, | |
2128 15,11,0,2,12,13,117,197, | |
2129 206,0,38,39,41, | |
2130 18,17,0,8,198, | |
2131 262,261,251,247,243,242,241,240,239,238,237,231,230,227,226,225,224,223,221, | |
2132 218,217,216,214,213,205,195,194,193,169,167,70,50,0,3,5,6,10,24,33,43, | |
2133 49,75,76,80,86,87,88,89,91,92,93,95,96,97,98,99,100,102,105,109,110,114, | |
2134 115,116,172,173,199,200,201, | |
2135 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,215,213,209, | |
2136 208,207,206,205,204,195,194,193,169,167,163,162,70,50,18,17,15,11,0,2, | |
2137 12,13,117,197, | |
2138 262,261,215,213,206,50,0,1,5,38,39,41,45,49,101,106,150,151,155,156,166,196, | |
2139 200, | |
2140 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,0,1,4,5, | |
2141 7,34,38,39,41,45,49,94,101,106,108,120,123,125,127,128,130,132,135,138, | |
2142 140,141,142,143,148,149,150,151,152,153,155,156,159,160,161,164,166,196, | |
2143 200,244,245, | |
2144 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,195,194,193, | |
2145 169,167,70,15,11,0,2,12,13,201, | |
2146 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,215,213,209, | |
2147 208,207,206,205,204,195,194,193,169,167,70,50,18,17,0,3,5,6,8,10,34,38, | |
2148 39,40,41,43,49,79,81,82,101,198,199,200,201, | |
2149 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,215,213,212, | |
2150 209,208,207,206,205,204,203,202,195,194,193,169,167,72,70,64,63,62,61, | |
2151 60,59,58,57,56,55,54,50,11,0,51,53,65,66,67,68,69, | |
2152 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,215,213,212, | |
2153 209,208,207,206,205,204,203,202,195,194,193,169,167,70,50,17,11,0,46,48, | |
2154 260,255,254,253,252,251,250,249,248,246,241,240,239,238,237,236,235,234,233, | |
2155 232,231,230,229,228,227,226,225,224,223,217,216,215,212,210,209,208,207, | |
2156 206,205,204,203,28,18,17,15,11,0,2,12,13,117,197, | |
2157 204,203,18,17,15,11,0,2,12,13,117,197, | |
2158 213,15,11,0,2,12,13,117,197, | |
2159 206,15,11,0,2,12,13,117,197, | |
2160 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,215,204,203, | |
2161 195,194,193,169,167,70,18,17,15,11,0,2,12,13,117,197, | |
2162 203,0,29, | |
2163 213,15,11,0,2,12,13,117,197, | |
2164 213,0,45, | |
2165 206,0,41, | |
2166 262,261,15,11,0,2,12,13,117,197, | |
2167 217,215,0, | |
2168 204,0,34, | |
2169 213,0,45, | |
2170 260,255,254,253,252,250,249,248,205,18,17,0,8,40,174,176,177,178,179,181, | |
2171 182,183,184,185,190,198, | |
2172 262,261,0,1,166,196, | |
2173 217,215,0,101,107, | |
2174 215,0,101, | |
2175 215,0,101, | |
2176 210,209,208,0,81,82,83, | |
2177 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,213,210,209, | |
2178 208,207,206,205,195,194,193,169,167,70,50,18,17,0,3,5,6,10,31,35,38,39, | |
2179 41,43,49,77,78,199,200,201, | |
2180 206,0,38,39,41, | |
2181 218,0,98,109, | |
2182 211,205,18,17,0,8,84,85,198, | |
2183 205,18,17,0,8,84,85,198, | |
2184 205,0,40, | |
2185 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,215,213,206, | |
2186 204,195,194,193,169,167,163,162,70,50,15,11,0,2,12,13,117,197, | |
2187 262,261,195,194,167,0,119,166,196, | |
2188 262,261,215,213,206,50,0,1,5,38,39,41,45,49,101,106,150,151,155,156,166,196, | |
2189 200, | |
2190 262,261,215,213,206,204,195,194,169,167,163,162,50,0,1,4,5,7,34,38,39,41,45, | |
2191 49,101,108,150,151,152,153,155,156,159,160,161,164,166,196,200,244,245, | |
2192 217,203,0,29,107, | |
2193 225,224,223,216,206,205,204,28,18,17,0,34,103,104, | |
2194 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,215,213,212, | |
2195 209,208,207,206,205,204,203,202,195,194,193,167,72,70,64,63,62,61,60,59, | |
2196 58,57,56,55,54,50,11,0,53,65,66,67,68,69,170, | |
2197 195,194,167,0, | |
2198 194,167,0, | |
2199 261,195,194,167,0,74, | |
2200 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,215,213,209, | |
2201 208,207,206,205,204,195,194,193,169,167,70,50,18,17,15,11,0,2,12,13,117, | |
2202 197, | |
2203 260,255,254,253,252,251,250,249,248,246,241,240,239,238,237,236,235,234,233, | |
2204 232,231,230,229,228,227,226,225,224,223,217,216,215,212,210,209,208,207, | |
2205 206,205,204,203,28,18,17,15,11,0,2,12,13,117,197, | |
2206 260,255,254,253,252,251,250,249,248,246,241,240,239,238,237,236,235,234,233, | |
2207 232,231,230,229,228,227,226,225,224,223,217,216,215,212,210,209,208,207, | |
2208 206,205,204,203,28,18,17,15,11,0,2,12,13,117,197, | |
2209 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,15,11,0, | |
2210 2,12,13,117,197, | |
2211 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,15,11,0, | |
2212 2,12,13,117,197, | |
2213 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,15,11,0, | |
2214 2,12,13,117,197, | |
2215 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,15,11,0, | |
2216 2,12,13,117,197, | |
2217 213,0,45,154, | |
2218 262,261,215,213,206,50,0,1,5,38,39,41,45,49,101,151,155,156,166,196,200, | |
2219 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,0,1,4,5, | |
2220 7,34,38,39,41,45,49,101,108,141,142,143,148,149,150,151,152,153,155,156, | |
2221 159,160,161,164,166,196,200,244,245, | |
2222 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,0,1,4,5, | |
2223 7,34,38,39,41,45,49,101,108,141,142,143,148,149,150,151,152,153,155,156, | |
2224 159,160,161,164,166,196,200,244,245, | |
2225 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,0,1,4,5, | |
2226 7,34,38,39,41,45,49,101,108,141,142,143,148,149,150,151,152,153,155,156, | |
2227 159,160,161,164,166,196,200,244,245, | |
2228 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,0,1,4,5, | |
2229 7,34,38,39,41,45,49,101,108,141,142,143,148,149,150,151,152,153,155,156, | |
2230 159,160,161,164,166,196,200,244,245, | |
2231 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,0,1,4,5, | |
2232 7,34,38,39,41,45,49,94,101,106,108,120,123,125,127,128,130,132,135,138, | |
2233 140,141,142,143,148,149,150,151,152,153,155,156,159,160,161,164,166,196, | |
2234 200,244,245, | |
2235 241,240,239,0,144,145,147, | |
2236 238,237,0,141,142, | |
2237 217,203,0,29,107, | |
2238 236,210,0,83,139, | |
2239 235,234,233,232,209,207,204,0,34,79,82,133,134,136,137, | |
2240 235,234,209,207,0,79,82,136,137, | |
2241 233,232,0,133,134, | |
2242 231,0,131, | |
2243 230,0,129, | |
2244 208,0,81, | |
2245 229,0,126, | |
2246 228,227,0,121,124, | |
2247 225,224,223,216,206,205,28,18,17,0,103,104, | |
2248 262,261,251,243,242,241,240,239,238,237,231,230,227,226,216,195,194,193,169, | |
2249 167,70,0, | |
2250 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,215,213,209, | |
2251 208,207,206,205,204,195,194,193,169,167,163,162,70,50,18,17,15,11,0,2, | |
2252 12,13,117,197, | |
2253 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,215,213,209, | |
2254 208,207,206,205,204,195,194,193,169,167,163,162,70,50,18,17,15,11,0,2, | |
2255 12,13,117,197, | |
2256 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,215,213,209, | |
2257 208,207,206,205,204,195,194,193,169,167,163,162,70,50,18,17,15,11,0,2, | |
2258 12,13,117,197, | |
2259 203,0,29, | |
2260 262,261,260,255,254,253,252,251,250,249,248,246,243,242,241,240,239,238,237, | |
2261 236,235,234,233,232,231,230,229,228,227,226,225,224,223,219,218,217,216, | |
2262 215,213,212,211,210,209,208,207,206,205,204,203,202,195,194,193,169,167, | |
2263 70,50,28,18,17,15,11,0,2,12,13,117,197, | |
2264 194,167,0, | |
2265 261,195,194,167,0,73,74, | |
2266 194,167,0, | |
2267 194,167,0, | |
2268 213,0,43, | |
2269 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,213,206,195, | |
2270 194,193,169,167,70,50,15,11,0,2,12,13,117,197, | |
2271 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,213,206,195, | |
2272 194,193,169,167,70,50,0,30, | |
2273 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,0,1,4,5, | |
2274 7,34,38,39,41,45,49,94,101,106,108,120,123,125,127,128,130,132,135,138, | |
2275 140,141,142,143,148,149,150,151,152,153,155,156,159,160,161,164,166,196, | |
2276 200,244,245, | |
2277 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,213,195,194, | |
2278 193,169,167,70,50,0,3,5,6,10,43,49,199,200,201, | |
2279 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,0,1,4,5, | |
2280 7,34,38,39,41,45,49,94,101,106,108,120,123,125,127,128,130,132,135,138, | |
2281 140,141,142,143,148,149,150,151,152,153,155,156,159,160,161,164,166,196, | |
2282 200,244,245, | |
2283 206,15,11,0,2,12,13,117,197, | |
2284 206,0,41, | |
2285 259,258,206,205,18,17,0,8,38,39,40,41,188,189,198, | |
2286 206,15,11,0,2,12,13,117,197, | |
2287 206,0,41, | |
2288 259,258,257,256,205,18,17,0,8,40,186,187,188,189,198, | |
2289 215,15,11,0,2,12,13,117,197, | |
2290 215,0,101, | |
2291 215,15,11,0,2,12,13,117,197, | |
2292 215,0,101, | |
2293 254,15,11,0,2,12,13,117,197, | |
2294 254,0,176,184, | |
2295 254,15,11,0,2,12,13,117,197, | |
2296 254,0,176,184, | |
2297 215,15,11,0,2,12,13,117,197, | |
2298 215,0,101, | |
2299 18,17,0,8,198, | |
2300 215,15,11,0,2,12,13,117,197, | |
2301 215,0,101, | |
2302 262,261,220,195,194,167,0,111,119,166,196, | |
2303 262,261,215,213,206,204,195,194,169,167,163,162,50,15,11,0,2,12,13,117,197, | |
2304 262,261,215,213,206,204,195,194,169,167,163,162,50,0,1,4,5,7,34,38,39,41,45, | |
2305 49,101,108,150,151,152,153,155,156,159,160,161,164,166,196,200,244,245, | |
2306 262,261,215,213,206,50,0,1,5,38,39,41,45,49,101,106,150,151,155,156,166,196, | |
2307 200, | |
2308 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,0,1,4,5, | |
2309 7,34,38,39,41,45,49,94,101,106,108,120,123,125,127,128,130,132,135,138, | |
2310 140,141,142,143,148,149,150,151,152,153,155,156,159,160,161,164,166,196, | |
2311 200,244,245, | |
2312 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,213,206,195, | |
2313 194,193,169,167,70,50,0,3,5,6,10,31,35,38,39,41,43,49,199,200,201, | |
2314 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,215,213,206, | |
2315 204,195,194,193,169,167,163,162,70,50,15,11,0,2,12,13,117,197, | |
2316 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,213,206,195, | |
2317 194,193,169,167,70,50,0,3,5,6,10,31,35,38,39,41,43,49,199,200,201, | |
2318 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,213,206,195, | |
2319 194,193,169,167,70,50,0,3,5,6,10,31,35,38,39,41,43,49,199,200,201, | |
2320 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,213,195,194, | |
2321 193,169,167,70,50,0,3,5,6,10,33,43,49,76,199,200,201, | |
2322 203,0,29, | |
2323 204,0,34, | |
2324 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,213,206,195, | |
2325 194,193,169,167,70,50,0,3,5,6,10,31,35,38,39,41,43,49,199,200,201, | |
2326 210,209,208,207,205,18,17,0,79, | |
2327 262,261,251,247,243,242,241,240,239,238,237,231,230,227,226,225,224,223,221, | |
2328 218,217,216,214,213,195,194,193,169,167,70,50,18,17,0,3,5,6,8,10,24,33, | |
2329 43,49,75,76,80,89,91,92,93,95,96,97,98,99,100,102,105,109,110,114,115, | |
2330 116,172,173,198,199,200,201, | |
2331 211,0,90, | |
2332 262,261,251,247,243,242,241,240,239,238,237,231,230,227,226,225,224,223,221, | |
2333 218,217,216,214,213,195,194,193,169,167,70,50,18,17,0,3,5,6,8,10,24,33, | |
2334 43,49,75,76,80,89,91,92,93,95,96,97,98,99,100,102,105,109,110,114,115, | |
2335 116,172,173,198,199,200,201, | |
2336 212,204,0,34,44, | |
2337 217,203,0,29,107, | |
2338 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,213,206,195, | |
2339 194,193,169,167,70,50,0,158, | |
2340 213,0,45, | |
2341 262,261,215,213,206,50,0,1,5,38,39,41,45,49,101,150,151,155,156,166,196,200, | |
2342 225,224,223,206,205,28,18,17,15,11,0,2,12,13,117,197, | |
2343 169,0, | |
2344 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,213,206,195, | |
2345 194,193,169,167,70,50,0,3,5,6,10,31,35,38,39,41,43,49,199,200,201, | |
2346 235,234,233,232,212,209,207,204,0,34,44,79,82,133,134,136,137, | |
2347 212,0,44, | |
2348 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,15,11,0, | |
2349 2,12,13,117,197, | |
2350 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,0,1,4,5, | |
2351 7,34,38,39,41,45,49,101,108,141,142,143,146,148,149,150,151,152,153,155, | |
2352 156,159,160,161,164,166,196,200,244,245, | |
2353 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,15,11,0, | |
2354 2,12,13,117,197, | |
2355 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,0,1,4,5, | |
2356 7,34,38,39,41,45,49,101,108,141,142,143,146,148,149,150,151,152,153,155, | |
2357 156,159,160,161,164,166,196,200,244,245, | |
2358 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,15,11,0, | |
2359 2,12,13,117,197, | |
2360 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,0,1,4,5, | |
2361 7,34,38,39,41,45,49,101,108,141,142,143,148,149,150,151,152,153,155,156, | |
2362 159,160,161,164,166,196,200,244,245, | |
2363 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,0,1,4,5, | |
2364 7,34,38,39,41,45,49,101,108,140,141,142,143,148,149,150,151,152,153,155, | |
2365 156,159,160,161,164,166,196,200,244,245, | |
2366 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,0,1,4,5, | |
2367 7,34,38,39,41,45,49,101,108,140,141,142,143,148,149,150,151,152,153,155, | |
2368 156,159,160,161,164,166,196,200,244,245, | |
2369 262,261,215,213,206,204,195,194,169,167,163,162,50,0,1,4,5,7,34,38,39,41,45, | |
2370 49,101,108,150,151,152,153,155,156,159,160,161,164,166,196,200,244,245, | |
2371 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,0,1,4,5, | |
2372 7,34,38,39,41,45,49,101,108,138,140,141,142,143,148,149,150,151,152,153, | |
2373 155,156,159,160,161,164,166,196,200,244,245, | |
2374 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,15,11,0, | |
2375 2,12,13,117,197, | |
2376 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,0,1,4,5, | |
2377 7,34,38,39,41,45,49,101,108,138,140,141,142,143,148,149,150,151,152,153, | |
2378 155,156,159,160,161,164,166,196,200,244,245, | |
2379 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,15,11,0, | |
2380 2,12,13,117,197, | |
2381 262,261,215,213,206,50,0,1,5,38,39,41,45,49,101,106,150,151,155,156,166,196, | |
2382 200, | |
2383 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,15,11,0, | |
2384 2,12,13,117,197, | |
2385 262,261,215,213,206,50,0,1,5,38,39,41,45,49,101,106,150,151,155,156,166,196, | |
2386 200, | |
2387 262,261,215,213,206,50,0,1,5,38,39,41,45,49,101,106,150,151,155,156,166,196, | |
2388 200, | |
2389 262,261,215,213,206,50,0,1,5,38,39,41,45,49,101,106,150,151,155,156,166,196, | |
2390 200, | |
2391 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,15,11,0, | |
2392 2,12,13,117,197, | |
2393 262,261,215,213,206,50,0,1,5,38,39,41,45,49,101,106,150,151,155,156,166,196, | |
2394 200, | |
2395 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,15,11,0, | |
2396 2,12,13,117,197, | |
2397 262,261,215,213,206,50,0,1,5,38,39,41,45,49,101,106,150,151,155,156,166,196, | |
2398 200, | |
2399 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,0,1,4,5, | |
2400 7,34,38,39,41,45,49,101,108,135,138,140,141,142,143,148,149,150,151,152, | |
2401 153,155,156,159,160,161,164,166,196,200,244,245, | |
2402 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,0,1,4,5, | |
2403 7,34,38,39,41,45,49,101,108,135,138,140,141,142,143,148,149,150,151,152, | |
2404 153,155,156,159,160,161,164,166,196,200,244,245, | |
2405 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,0,1,4,5, | |
2406 7,34,38,39,41,45,49,101,108,135,138,140,141,142,143,148,149,150,151,152, | |
2407 153,155,156,159,160,161,164,166,196,200,244,245, | |
2408 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,0,1,4,5, | |
2409 7,34,38,39,41,45,49,101,108,135,138,140,141,142,143,148,149,150,151,152, | |
2410 153,155,156,159,160,161,164,166,196,200,244,245, | |
2411 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,0,1,4,5, | |
2412 7,34,38,39,41,45,49,101,106,108,132,135,138,140,141,142,143,148,149,150, | |
2413 151,152,153,155,156,159,160,161,164,166,196,200,244,245, | |
2414 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,0,1,4,5, | |
2415 7,34,38,39,41,45,49,101,106,108,132,135,138,140,141,142,143,148,149,150, | |
2416 151,152,153,155,156,159,160,161,164,166,196,200,244,245, | |
2417 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,15,11,0, | |
2418 2,12,13,117,197, | |
2419 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,0,1,4,5, | |
2420 7,34,38,39,41,45,49,101,106,108,130,132,135,138,140,141,142,143,148,149, | |
2421 150,151,152,153,155,156,159,160,161,164,166,196,200,244,245, | |
2422 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,15,11,0, | |
2423 2,12,13,117,197, | |
2424 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,0,1,4,5, | |
2425 7,34,38,39,41,45,49,101,106,108,128,130,132,135,138,140,141,142,143,148, | |
2426 149,150,151,152,153,155,156,159,160,161,164,166,196,200,244,245, | |
2427 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,0,1,4,5, | |
2428 7,34,38,39,41,45,49,101,106,108,127,128,130,132,135,138,140,141,142,143, | |
2429 148,149,150,151,152,153,155,156,159,160,161,164,166,196,200,244,245, | |
2430 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,15,11,0, | |
2431 2,12,13,117,197, | |
2432 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,0,1,4,5, | |
2433 7,34,38,39,41,45,49,101,106,108,125,127,128,130,132,135,138,140,141,142, | |
2434 143,148,149,150,151,152,153,155,156,159,160,161,164,166,196,200,244,245, | |
2435 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,15,11,0, | |
2436 2,12,13,117,197, | |
2437 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,0,1,4,5, | |
2438 7,34,38,39,41,45,49,101,106,108,123,125,127,128,130,132,135,138,140,141, | |
2439 142,143,148,149,150,151,152,153,155,156,159,160,161,164,166,196,200,244, | |
2440 245, | |
2441 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,15,11,0, | |
2442 2,12,13,117,197, | |
2443 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,0,1,4,5, | |
2444 7,34,38,39,41,45,49,94,101,106,108,120,123,125,127,128,130,132,135,138, | |
2445 140,141,142,143,148,149,150,151,152,153,155,156,159,160,161,164,166,196, | |
2446 200,244,245, | |
2447 261,195,194,167,0,74, | |
2448 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,215,213,212, | |
2449 209,208,207,206,205,204,203,202,195,194,193,169,167,70,50,17,11,0,46,48, | |
2450 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,213,206,195, | |
2451 194,193,169,167,70,50,0,3,5,6,10,31,35,38,39,41,43,49,199,200,201, | |
2452 212,0,44, | |
2453 203,0,29, | |
2454 212,0,44, | |
2455 18,17,0,8,198, | |
2456 215,15,11,0,2,12,13,117,197, | |
2457 215,0,101, | |
2458 215,15,11,0,2,12,13,117,197, | |
2459 215,0,101, | |
2460 18,17,0,8,198, | |
2461 215,0,101, | |
2462 215,0,101, | |
2463 215,15,11,0,2,12,13,117,197, | |
2464 215,0,101, | |
2465 215,15,11,0,2,12,13,117,197, | |
2466 215,0,101, | |
2467 18,17,0,8,198, | |
2468 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,0,1,4,5, | |
2469 7,34,38,39,41,45,49,94,101,106,108,120,123,125,127,128,130,132,135,138, | |
2470 140,141,142,143,148,149,150,151,152,153,155,156,159,160,161,164,166,196, | |
2471 200,244,245, | |
2472 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,0,1,4,5, | |
2473 7,34,38,39,41,45,49,94,101,106,108,120,123,125,127,128,130,132,135,138, | |
2474 140,141,142,143,148,149,150,151,152,153,155,156,159,160,161,164,166,196, | |
2475 200,244,245, | |
2476 18,17,0,8,198, | |
2477 18,17,0,8,198, | |
2478 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,0,1,4,5, | |
2479 7,34,38,39,41,45,49,94,101,106,108,120,123,125,127,128,130,132,135,138, | |
2480 140,141,142,143,148,149,150,151,152,153,155,156,159,160,161,164,166,196, | |
2481 200,244,245, | |
2482 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,213,195,194, | |
2483 193,169,167,70,50,0,3,5,6,43,49,175,191,199,200,201, | |
2484 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,213,206,195, | |
2485 194,193,169,167,70,50,15,11,0,2,12,13,117,197, | |
2486 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,213,206,195, | |
2487 194,193,169,167,70,50,0,3,5,6,10,31,35,38,39,41,43,49,199,200,201, | |
2488 215,0,101, | |
2489 216,205,204,18,17,0,34,103,104, | |
2490 216,205,18,17,0,103,104, | |
2491 204,0,34, | |
2492 204,0,34, | |
2493 204,0,34, | |
2494 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,213,210,209, | |
2495 208,206,205,195,194,193,169,167,70,50,18,17,0,3,5,6,10,31,35,38,39,41, | |
2496 43,49,77,78,199,200,201, | |
2497 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,213,206,195, | |
2498 194,193,169,167,70,50,0,3,5,6,10,35,38,39,41,43,49,199,200,201, | |
2499 204,0,34, | |
2500 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,213,206,195, | |
2501 194,193,169,167,70,50,0,3,5,6,10,31,35,38,39,41,43,49,199,200,201, | |
2502 214,206,18,17,15,11,0,2,12,13,117,197, | |
2503 214,206,18,17,0,8,38,39,41,84,85,198, | |
2504 260,255,254,253,252,251,250,249,248,246,241,240,239,238,237,236,235,234,233, | |
2505 232,231,230,229,228,227,226,225,224,223,217,216,215,212,210,209,208,207, | |
2506 206,205,204,203,28,18,17,15,11,0,2,12,13,117,197, | |
2507 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,213,206,195, | |
2508 194,193,169,167,70,50,0,3,5,6,10,31,35,38,39,41,43,49,199,200,201, | |
2509 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,0,1,4,5, | |
2510 7,34,38,39,41,45,49,94,101,106,108,120,123,125,127,128,130,132,135,138, | |
2511 140,141,142,143,148,149,150,151,152,153,155,156,159,160,161,164,166,196, | |
2512 200,244,245, | |
2513 217,203,0,29,107, | |
2514 212,204,0,34,44, | |
2515 241,240,239,0,144,145,147, | |
2516 241,240,239,0,144,145,147, | |
2517 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,0,1,4,5, | |
2518 7,34,38,39,41,45,49,94,101,106,108,120,123,125,127,128,130,132,135,138, | |
2519 140,141,142,143,148,149,150,151,152,153,155,156,159,160,161,164,166,196, | |
2520 200,244,245, | |
2521 238,237,0,141,142, | |
2522 238,237,0,141,142, | |
2523 204,0,34, | |
2524 204,0,34, | |
2525 204,0,34, | |
2526 204,0,34, | |
2527 204,0,34, | |
2528 204,0,34, | |
2529 236,210,0,83,139, | |
2530 236,210,0,83,139, | |
2531 236,210,0,83,139, | |
2532 236,210,0,83,139, | |
2533 235,234,209,207,204,0,34,79,82,136,137, | |
2534 235,234,209,207,0,79,82,136,137, | |
2535 235,234,209,207,0,79,82,136,137, | |
2536 233,232,0,133,134, | |
2537 231,0,131, | |
2538 230,0,129, | |
2539 208,0,81, | |
2540 229,0,126, | |
2541 226,0,122, | |
2542 204,202,0,32,34, | |
2543 206,0,38,39,41, | |
2544 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,213,195,194, | |
2545 193,169,167,70,50,0,3,5,6,43,49,175,191,199,200,201, | |
2546 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,213,195,194, | |
2547 193,169,167,70,50,0,3,5,6,43,49,175,191,199,200,201, | |
2548 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,213,195,194, | |
2549 193,169,167,70,50,0,3,5,6,43,49,175,191,199,200,201, | |
2550 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,213,195,194, | |
2551 193,169,167,70,50,0,3,5,6,43,49,175,191,199,200,201, | |
2552 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,213,195,194, | |
2553 193,169,167,70,50,0,3,5,6,43,49,175,191,199,200,201, | |
2554 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,195,194,193, | |
2555 169,167,70,0,3,201, | |
2556 251,0,180, | |
2557 251,0,180, | |
2558 251,0,180, | |
2559 203,0,29, | |
2560 204,18,17,0,8,34,198, | |
2561 219,206,204,0,34,112,113, | |
2562 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,0,1,4,5, | |
2563 7,34,38,39,41,45,49,94,101,106,108,120,123,125,127,128,130,132,135,138, | |
2564 140,141,142,143,148,149,150,151,152,153,155,156,159,160,161,164,166,196, | |
2565 200,244,245, | |
2566 210,209,208,205,18,17,0, | |
2567 210,209,208,205,204,18,17,0,34, | |
2568 214,0,92,93, | |
2569 204,202,0,32,34, | |
2570 246,0,157, | |
2571 246,212,0,44,157, | |
2572 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,15,11,0, | |
2573 2,12,13,117,197, | |
2574 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,0,1,4,5, | |
2575 7,34,38,39,41,45,49,94,101,106,108,120,123,125,127,128,130,132,135,138, | |
2576 140,141,142,143,148,149,150,151,152,153,155,156,159,160,161,164,166,196, | |
2577 200,244,245, | |
2578 260,255,254,253,252,251,250,249,248,246,235,234,233,232,231,230,229,228,227, | |
2579 226,225,224,223,217,216,212,209,208,207,206,205,204,203,28,18,17,15,11, | |
2580 0,2,12,13,117,197, | |
2581 204,18,17,0,8,34,198, | |
2582 204,18,17,0,8,34,198, | |
2583 204,18,17,0,8,34,198, | |
2584 204,18,17,0,8,34,198, | |
2585 204,18,17,0,8,34,198, | |
2586 18,17,0,8,198, | |
2587 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,15,11,0, | |
2588 2,12,13,117,197, | |
2589 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,0,1,4,5, | |
2590 7,34,38,39,41,45,49,94,101,106,108,120,123,125,127,128,130,132,135,138, | |
2591 140,141,142,143,148,149,150,151,152,153,155,156,159,160,161,164,166,196, | |
2592 200,244,245, | |
2593 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,0,1,4,5, | |
2594 7,34,38,39,41,45,49,94,101,106,108,120,123,125,127,128,130,132,135,138, | |
2595 140,141,142,143,148,149,150,151,152,153,155,156,159,160,161,164,166,196, | |
2596 200,244,245, | |
2597 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,0,1,4,5, | |
2598 7,34,38,39,41,45,49,94,101,106,108,120,123,125,127,128,130,132,135,138, | |
2599 140,141,142,143,148,149,150,151,152,153,155,156,159,160,161,164,166,196, | |
2600 200,244,245, | |
2601 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,213,206,195, | |
2602 194,193,169,167,70,50,0,192, | |
2603 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,213,195,194, | |
2604 193,169,167,70,50,0,3,5,6,43,49,191,199,200,201, | |
2605 206,15,11,0,2,12,13,117,197, | |
2606 206,0,38,39,41, | |
2607 216,205,18,17,0,103,104, | |
2608 206,0,38,39,41, | |
2609 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,15,11,0, | |
2610 2,12,13,117,197, | |
2611 262,261,243,242,238,237,215,213,206,204,195,194,169,167,163,162,50,0,1,4,5, | |
2612 7,34,38,39,41,45,49,94,101,106,108,120,123,125,127,128,130,132,135,138, | |
2613 140,141,142,143,148,149,150,151,152,153,155,156,159,160,161,164,166,196, | |
2614 200,244,245, | |
2615 262,261,251,243,242,241,240,239,238,237,231,230,227,226,217,216,213,206,195, | |
2616 194,193,169,167,70,50,0,3,5,6,10,31,35,38,39,41,43,49,199,200,201, | |
2617 203,0,29, | |
2618 212,0,44, | |
2619 204,202,0,32,34, | |
2620 | |
2621 }; | |
2622 | |
2623 | |
2624 static unsigned const char far ag_astt[6809] = { | |
2625 8,8,8,8,8,8,8,1,1,7,1,1,1,1,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, | |
2626 9,9,9,9,9,9,9,9,9,9,9,9,9,1,3,9,7,3,1,1,9,5,3,3,1,1,1,1,1,8,1,1,7,1,0,1,1, | |
2627 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
2628 1,1,1,1,1,8,1,7,1,1,5,5,1,1,7,1,1,1,1,3,5,5,1,1,7,1,1,1,1,3,5,5,5,5,5,5,5, | |
2629 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5, | |
2630 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, | |
2631 5,1,1,7,1,1,1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, | |
2632 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,1,1,3,1,1,7, | |
2633 1,2,2,1,1,7,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,7,1,1,1,8,8, | |
2634 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,8,8,8,8,8,8,1,1,7,1,1,1,1, | |
2635 1,1,1,1,1,1,5,3,3,3,3,1,1,1,1,1,3,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, | |
2636 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,5,3,7,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, | |
2637 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1, | |
2638 1,1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, | |
2639 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,1,1,3,1,1,1,10,10,10,7,1,2,2, | |
2640 2,1,1,1,10,10,10,7,1,2,2,2,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, | |
2641 10,10,10,10,10,4,1,1,5,1,1,1,1,3,1,7,2,1,2,1,1,5,3,1,2,2,2,1,2,2,2,2,2,2,2, | |
2642 2,2,2,2,1,1,1,1,1,2,2,1,2,8,2,2,2,2,2,2,2,7,1,3,3,1,1,1,1,1,1,1,1,1,1,1,1, | |
2643 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, | |
2644 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,1,1,3,1,1,1,1,1,2,7,1,1,2, | |
2645 1,2,1,1,1,1,1,1,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,2,2,7,1,1,1,1,1,2, | |
2646 1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,2,2,2,1,1, | |
2647 1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,9,5,3,3,1,1,2,2,2,2,2,2,2, | |
2648 2,2,2,2,2,2,2,2,2,1,2,1,1,1,1,1,1,2,2,2,2,2,2,2,1,1,7,2,3,3,3,1,3,2,1,3,2, | |
2649 1,1,3,3,3,3,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, | |
2650 2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,2,3,2,7,3,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2, | |
2651 2,2,2,2,2,2,2,2,4,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,7,3,1,5,5,5,5,5,5,5, | |
2652 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, | |
2653 1,1,7,1,1,1,1,3,5,5,5,5,1,1,7,1,1,1,1,3,5,1,1,7,1,1,1,1,3,5,1,1,7,1,1,1,1, | |
2654 3,10,10,10,10,10,10,10,10,10,10,10,10,10,10,5,10,5,5,5,10,10,10,10,10,10,5, | |
2655 5,1,1,7,1,1,1,1,3,1,5,1,5,1,1,7,1,1,1,1,3,1,7,1,1,7,2,5,5,1,1,7,1,1,1,1,3, | |
2656 4,4,4,1,4,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,7,3,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
2657 7,1,2,2,1,1,7,1,1,1,7,1,1,7,1,1,1,1,7,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, | |
2658 2,2,5,5,5,8,1,5,2,2,2,2,2,2,2,5,5,7,2,3,3,1,1,1,2,1,2,1,1,1,1,1,1,1,1,7,2, | |
2659 1,2,1,5,3,1,8,5,1,1,7,1,1,1,1,5,1,1,7,1,1,3,1,1,7,3,5,5,5,5,5,5,5,5,5,5,5, | |
2660 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,1,1,3,1,1,10,10,10,4,2,2,2,1, | |
2661 1,1,1,1,2,7,1,1,2,1,2,1,1,1,1,1,1,2,2,2,2,1,1,1,1,1,1,1,2,2,1,2,2,2,2,7,1, | |
2662 2,1,2,1,2,1,2,1,1,1,2,1,1,2,1,2,2,1,1,1,2,2,2,1,1,1,1,1,5,1,1,5,5,5,1,5,5, | |
2663 1,5,5,5,7,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
2664 1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,1,1,7,1,1,1,1,1,1,1,10,10,10,5,10,10,5,2,10, | |
2665 10,10,5,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, | |
2666 5,1,1,7,1,1,1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, | |
2667 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5, | |
2668 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,1, | |
2669 1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,1,1,3,5,5,5,5,5,5,5,5,5,5, | |
2670 5,5,5,5,5,5,5,1,1,7,1,1,1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1, | |
2671 1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,1,1,3,1,7,1,2,1,1,1,1,1, | |
2672 2,7,1,2,2,1,2,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,2,2,7,1,2,1, | |
2673 2,1,2,1,2,1,1,1,2,1,1,2,1,1,1,1,2,1,2,2,1,1,1,2,2,2,1,1,1,1,1,1,1,1,1,1,1, | |
2674 1,1,2,2,1,2,2,2,2,7,1,2,1,2,1,2,1,2,1,1,1,2,1,1,2,1,1,1,1,2,1,2,2,1,1,1,2, | |
2675 2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,2,2,7,1,2,1,2,1,2,1,2,1,1,1,2,1,1, | |
2676 2,1,1,1,1,2,1,2,2,1,1,1,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,2,2,7,1, | |
2677 2,1,2,1,2,1,2,1,1,1,2,1,1,2,1,1,1,1,2,1,2,2,1,1,1,2,2,2,1,1,1,1,1,1,1,1,1, | |
2678 1,1,1,1,2,2,1,2,2,2,2,7,1,1,1,1,1,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
2679 1,1,1,1,1,1,1,1,2,2,1,1,1,2,2,2,1,1,1,1,1,1,5,1,1,1,1,1,5,1,1,1,1,5,1,1,1, | |
2680 1,5,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,5,1,1,1,5,1,1, | |
2681 5,1,1,5,1,1,5,1,1,1,5,1,1,5,5,5,1,5,5,5,5,5,7,2,2,10,10,10,10,10,10,10,10, | |
2682 10,10,10,10,10,10,10,10,10,10,10,10,10,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, | |
2683 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,1,1,3,5,5,5,5,5,5,5,5,5,5,5, | |
2684 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,1,1,3,5,5,5,5,5, | |
2685 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,1,1, | |
2686 3,1,4,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, | |
2687 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,1,1,3,2,2, | |
2688 7,2,1,1,1,7,1,1,2,2,5,2,2,5,2,7,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, | |
2689 5,5,5,5,5,1,1,7,1,1,1,1,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, | |
2690 4,7,1,1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,2,2,7,1,1,1,1,1,2,1,2,1,1,1,1,1,1,1,1, | |
2691 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,2,2,2,1,1,1,2,2,2,2,2,2,2,2,2, | |
2692 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,7,2,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2, | |
2693 1,2,2,2,2,7,1,1,1,1,1,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
2694 1,1,2,2,1,1,1,2,2,2,1,1,1,5,1,1,7,1,1,1,1,3,1,7,2,1,1,1,1,1,1,7,3,1,1,1,2, | |
2695 1,1,1,5,1,1,7,1,1,1,1,3,1,7,2,1,1,1,1,1,1,1,7,3,1,1,1,1,1,1,5,1,1,7,1,1,1, | |
2696 1,3,1,7,1,5,1,1,7,1,1,1,1,3,1,7,1,5,1,1,7,1,1,1,1,3,1,7,1,1,5,1,1,7,1,1,1, | |
2697 1,3,1,7,1,1,5,1,1,7,1,1,1,1,3,1,7,1,1,1,7,2,1,5,1,1,7,1,1,1,1,3,1,7,1,1,1, | |
2698 1,10,10,10,7,1,2,2,2,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,1,1,3,1,1,1,1,1,1, | |
2699 2,2,1,2,2,2,2,7,1,1,1,1,1,2,1,2,1,1,1,1,1,1,1,1,2,2,1,1,1,2,2,2,1,1,1,1,1, | |
2700 1,1,1,2,7,1,1,2,1,2,1,1,1,1,1,1,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,2, | |
2701 2,7,1,1,1,1,1,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2, | |
2702 1,1,1,2,2,2,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,7,2,3, | |
2703 3,1,1,1,2,1,2,1,1,1,1,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, | |
2704 5,5,5,5,1,1,7,1,1,1,1,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2, | |
2705 7,2,3,3,1,1,1,2,1,2,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2, | |
2706 2,2,2,7,2,3,3,1,1,1,2,1,2,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, | |
2707 2,2,2,2,2,7,2,3,3,1,1,1,1,1,1,1,1,1,5,1,1,4,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2, | |
2708 2,2,2,1,2,2,2,2,2,2,2,5,2,3,3,1,1,1,2,1,2,1,1,1,1,1,4,4,4,1,4,4,4,7,1,2,2, | |
2709 2,1,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,2,2,1,2,2,2,2,2,2,2,2,1,1,5,1,3,3,3,1, | |
2710 3,1,1,1,3,1,1,3,2,1,1,3,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,2,2,2,1, | |
2711 2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,2,2,1,2,2,2,2,2,2,2,2,1,1,5,1,3,3,3,1,3,1, | |
2712 1,1,3,1,1,3,2,1,1,3,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,3,1,1,7,1, | |
2713 1,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,1,1,7,1,1,1,1,1,1,2, | |
2714 7,1,1,2,1,2,1,1,1,1,1,2,2,2,2,1,5,5,5,5,5,5,5,5,1,1,7,1,1,1,1,3,2,7,2,2,2, | |
2715 2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,7,2,3,3,1,1,1,2,1,2,1,1,1,1,1, | |
2716 1,1,1,1,1,1,1,1,7,1,3,1,1,1,1,1,1,1,7,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, | |
2717 1,1,7,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,2,2,7,1,2,1,2,1,2,1,2,1,1,1, | |
2718 2,1,1,2,2,1,1,1,1,2,1,2,2,1,1,1,2,2,2,1,1,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, | |
2719 5,5,1,1,7,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,2,2,7,1,2,1,2,1,2,1,2,1, | |
2720 1,1,2,1,1,2,2,1,1,1,1,2,1,2,2,1,1,1,2,2,2,1,1,1,5,5,5,5,5,5,5,5,5,5,5,5,5, | |
2721 5,5,5,5,1,1,7,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,2,2,7,1,2,1,2,1,2,1, | |
2722 2,1,1,1,2,1,1,2,1,1,1,1,2,1,2,2,1,1,1,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2, | |
2723 1,2,2,2,2,7,1,1,1,1,1,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,2,2,2,1, | |
2724 1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,2,2,7,1,1,1,1,1,2,1,2,1,1,1,1,1,1,1,1,1, | |
2725 1,1,1,1,1,2,2,1,1,1,2,2,2,1,1,1,1,1,1,1,1,1,2,2,1,2,2,2,2,7,1,2,1,2,1,2,1, | |
2726 2,1,1,1,2,1,1,2,1,2,2,1,1,1,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,2,2, | |
2727 7,1,1,1,1,1,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,2,2,2,1,1,1,5,5, | |
2728 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,2,2,1,2, | |
2729 2,2,2,7,1,1,1,1,1,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,2,2,2,1,1, | |
2730 1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,1,1,3,1,1,1,1,1,2,7,1,1,2,1, | |
2731 2,1,1,1,1,1,1,2,2,2,2,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,1,1,3, | |
2732 1,1,1,1,1,2,7,1,1,2,1,2,1,1,1,1,1,1,2,2,2,2,1,1,1,1,1,1,2,7,1,1,2,1,2,1,1, | |
2733 1,1,1,1,2,2,2,2,1,1,1,1,1,1,2,7,1,1,2,1,2,1,1,1,1,1,1,2,2,2,2,1,5,5,5,5,5, | |
2734 5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,1,1,3,1,1,1,1,1,2,7,1,1,2,1,2,1,1,1,1,1, | |
2735 1,2,2,2,2,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,1,1,3,1,1,1,1,1,2, | |
2736 7,1,1,2,1,2,1,1,1,1,1,1,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,2,2,7,1,1, | |
2737 1,1,1,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,2,2,2,1,1,1,1,1,1,1, | |
2738 1,1,1,1,1,1,2,2,1,2,2,2,2,7,1,1,1,1,1,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
2739 1,2,2,1,1,1,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,2,2,7,1,1,1,1,1,2,1, | |
2740 2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1, | |
2741 1,2,2,1,2,2,2,2,7,1,1,1,1,1,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1, | |
2742 1,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,2,2,7,1,1,1,1,1,2,1,2,1,1,1,1, | |
2743 1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2, | |
2744 1,2,2,2,2,7,1,1,1,1,1,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1, | |
2745 2,2,2,1,1,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,1,1,3,1,1,1,1,1,1, | |
2746 1,1,1,1,2,2,1,2,2,2,2,7,1,1,1,1,1,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
2747 1,1,2,2,1,1,1,2,2,2,1,1,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,1,1, | |
2748 3,1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,2,2,7,1,1,1,1,1,2,1,2,1,1,1,1,1,1,1,1,1,1, | |
2749 1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,2, | |
2750 2,7,1,1,1,1,1,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,2, | |
2751 2,2,1,1,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,1,1,3,1,1,1,1,1,1,1, | |
2752 1,1,1,2,2,1,2,2,2,2,7,1,1,1,1,1,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
2753 1,1,1,1,2,2,1,1,1,2,2,2,1,1,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1, | |
2754 1,1,3,1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,2,2,7,1,1,1,1,1,2,1,2,1,1,1,1,1,1,1,1, | |
2755 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,2,2,2,1,1,1,5,5,5,5,5,5,5,5,5,5,5, | |
2756 5,5,5,5,5,5,1,1,7,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,2,2,7,1,1,1,1,1, | |
2757 2,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,2,2,2,1, | |
2758 1,1,2,10,10,10,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,4,2,2,2,2,2,2,2,2,2,2, | |
2759 2,2,2,2,2,2,2,2,7,3,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,7, | |
2760 2,3,3,1,1,1,2,1,2,1,1,1,1,1,1,7,1,1,4,1,1,7,2,1,1,7,2,1,5,1,1,7,1,1,1,1,3, | |
2761 1,7,1,5,1,1,7,1,1,1,1,3,1,7,1,1,1,7,2,1,1,7,1,1,7,1,5,1,1,7,1,1,1,1,3,1,7, | |
2762 1,5,1,1,7,1,1,1,1,3,1,7,1,1,1,7,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,2,2,7,1, | |
2763 1,1,1,1,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1, | |
2764 2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,2,2,7,1,1,1,1,1,2,1,2,1,1,1,1,1, | |
2765 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,2,2,2,1,1,1,1,1,7,2,1,1, | |
2766 1,7,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,2,2,7,1,1,1,1,1,2,1,2,1,1,1,1,1,1,1, | |
2767 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,2,2,2,1,1,1,2,2,2,2,2,2,2,2, | |
2768 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,7,1,1,1,1,1,1,1,1,1,1,5,5,5,5,5,5,5,5,5,5, | |
2769 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,1,1,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2, | |
2770 2,2,2,1,2,2,2,2,2,2,2,7,2,3,3,1,1,1,2,1,2,1,1,1,1,1,1,7,1,1,5,1,5,5,7,1,2, | |
2771 2,1,5,5,5,7,2,2,1,4,1,1,4,1,1,4,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,5,5,5, | |
2772 1,5,2,2,2,2,2,2,2,5,5,7,2,3,3,1,1,1,2,1,2,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2, | |
2773 2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,7,2,3,3,1,2,2,1,2,1,1,1,1,1,1,4,1,2,2,2,2, | |
2774 2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,7,2,3,3,1,1,1,2,1,2,1,1,1,1,1,5, | |
2775 5,5,5,1,1,7,1,1,1,1,3,8,1,1,1,7,1,2,1,2,1,1,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5, | |
2776 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,1,1, | |
2777 3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,7,2,3,3,1,1,1,2,1,2,1, | |
2778 1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,2,2,7,1,1,1,1,1,2,1,2,1,1,1,1,1,1,1, | |
2779 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,2,2,2,1,1,1,1,1,4,1,1,1,1,7, | |
2780 1,3,1,1,1,4,1,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,2,2,7,1,1,1, | |
2781 1,1,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,2,2, | |
2782 2,1,1,1,1,1,4,1,1,1,1,4,1,1,1,4,1,1,4,1,1,4,1,1,4,1,1,4,1,1,4,1,1,1,4,1,1, | |
2783 1,1,4,1,1,1,1,4,1,1,1,1,4,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,4,1,1,1,1,1,1, | |
2784 1,1,4,1,1,1,1,1,1,4,1,1,1,4,1,1,4,1,1,4,1,1,4,1,1,7,1,1,1,7,2,1,1,7,2,1,2, | |
2785 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,7,1,1,1,1,1,1,1,1,1,1,2,2, | |
2786 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,7,1,1,1,1,1,1,1,1,1,1,2,2,2,2, | |
2787 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,7,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2, | |
2788 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,7,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2, | |
2789 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,7,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2, | |
2790 2,2,2,2,2,2,2,2,2,2,2,2,7,1,1,1,7,1,1,7,1,1,7,1,1,4,1,1,1,1,7,2,1,1,1,8,1, | |
2791 7,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,2,2,7,1,1,1,1,1,2,1,2,1,1,1,1,1,1,1, | |
2792 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,2,2,2,1,1,1,4,4,4,4,4,4,7,4, | |
2793 4,4,4,1,4,4,7,1,1,7,1,1,1,1,7,2,1,1,7,1,1,1,7,2,1,5,5,5,5,5,5,5,5,5,5,5,5, | |
2794 5,5,5,5,5,1,1,7,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,2,2,7,1,1,1,1,1,2, | |
2795 1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,2,2,2,1,1, | |
2796 1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, | |
2797 1,1,7,1,1,1,1,3,1,1,1,7,2,1,1,1,1,1,7,2,1,1,1,1,1,7,2,1,1,1,1,1,7,2,1,1,1, | |
2798 1,1,7,2,1,1,1,1,7,2,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,1,1,3,1, | |
2799 1,1,1,1,1,1,1,1,1,2,2,1,2,2,2,2,7,1,1,1,1,1,2,1,2,1,1,2,1,1,1,1,1,1,1,1,1, | |
2800 1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1, | |
2801 2,2,2,2,7,1,1,1,1,1,2,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
2802 1,2,2,1,1,1,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,2,2,7,1,1,1,1,1,2,1, | |
2803 2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,2,2,2,1,1,1, | |
2804 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,1,2,2,2,2,2,2,2,2,2,2, | |
2805 2,2,2,2,2,2,2,2,2,2,2,2,2,2,7,1,1,1,1,1,1,1,1,1,5,1,1,7,1,1,1,1,3,1,7,2,1, | |
2806 2,1,5,5,5,7,2,2,1,7,2,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,1,1, | |
2807 3,1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,2,2,7,1,1,1,1,1,2,1,2,1,1,1,1,1,1,1,1,1,1, | |
2808 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,2,2,2,1,1,1,2,2,2,2,2,2,2,2,2,2,2, | |
2809 2,2,2,2,2,2,1,2,2,2,2,2,2,2,7,2,3,3,1,1,1,2,1,2,1,1,1,1,1,1,4,1,1,7,2,1,1, | |
2810 7,2,1 | |
2811 }; | |
2812 | |
2813 | |
2814 static const unsigned short far ag_pstt[] = { | |
2815 3,3,3,3,3,3,3,1,2,0,2,2,1,2,3, | |
2816 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,3,5, | |
2817 1,6,1, | |
2818 1,128,472,128,128,1, | |
2819 5,6,7,8,15,4,9,3,14,0,14,14,14,14,15,13,12,11,10,9, | |
2820 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, | |
2821 16,16,16,16,16,16,16,16,16,17,16,4,16,17, | |
2822 471,471,1,2,5,2,2,1,2,500, | |
2823 471,471,1,2,6,2,2,1,2,499, | |
2824 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471, | |
2825 471,471,471,1,2,7,2,2,1,2,498, | |
2826 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471, | |
2827 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471, | |
2828 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,1,2,8,2,2,1, | |
2829 2,481, | |
2830 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471, | |
2831 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471, | |
2832 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,1,2, | |
2833 9,2,2,1,2,473, | |
2834 18,19,10,20,130,130, | |
2835 18,19,11,21,130,130, | |
2836 30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,12,24,22, | |
2837 23, | |
2838 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,88, | |
2839 26,26,26,26,26,26,26,4,9,13,25,25,26,9, | |
2840 5,6,7,8,4,9,19,17,17,17,17,13,12,11,10,9, | |
2841 20,15, | |
2842 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11, | |
2843 12,17, | |
2844 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471, | |
2845 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471, | |
2846 471,471,471,471,471,471,471,471,471,471,471,471,471,471,1,2,18,2,2,1,2, | |
2847 537, | |
2848 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471, | |
2849 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471, | |
2850 471,471,471,471,471,471,471,471,471,471,471,471,471,471,1,2,19,2,2,1,2, | |
2851 536, | |
2852 18,19,27,132,132,132,20,28,132,131,131, | |
2853 18,19,27,132,132,132,21,29,132,131,131, | |
2854 31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,126, | |
2855 1,30,471,30,30,1,30,497, | |
2856 8,24,123,31,35, | |
2857 4,9,89,87,9, | |
2858 30,30,30,37,30,30,30,30,30,30,30,30,30,30,30,5,6,7,43,36,30,30,40,41,58,30, | |
2859 30,30,30,30,30,47,26,44,22,21,39,57,45,33,32,57,53,52,57,56,58,57,56,54, | |
2860 46,57,57,57,55,55,51,50,49,41,48,12,11,10,47,42,35,34,38, | |
2861 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471, | |
2862 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,1,2,27, | |
2863 2,2,1,2,490, | |
2864 18,19,27,59,8,47,28,60,63,193,31,35,61,32,62,64,63,63,191,192,130,130,34, | |
2865 18,19,72,73,74,75,27,59,8,69,207,207,65,205,201,201,47,29,60,83,85,83,77, | |
2866 193,31,35,82,32,95,62,87,83,94,93,92,91,90,89,88,86,84,83,81,80,83,79, | |
2867 78,85,85,83,76,191,192,68,67,66,201,130,130,34,71,70, | |
2868 30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,1,128,472, | |
2869 128,128,1,96, | |
2870 30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,27,41,98,97,99,8,101,69,30, | |
2871 30,30,30,30,30,47,4,9,31,23,22,21,37,100,39,38,31,34,35,33,32,39,39,39, | |
2872 39,9,35,34,38, | |
2873 49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49, | |
2874 49,49,49,49,49,49,49,103,102,61,60,59,58,57,56,55,54,53,52,51,46,49,32, | |
2875 48,50,50,50,105,104,50, | |
2876 43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,44,40,43,43,43,43,43,43, | |
2877 43,43,43,43,43,43,43,43,43,43,43,33,42,106, | |
2878 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471, | |
2879 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471, | |
2880 471,471,471,471,471,471,471,1,2,34,2,2,1,2,475, | |
2881 471,471,471,471,1,2,35,2,2,1,2,474, | |
2882 471,1,2,36,2,2,1,2,493, | |
2883 471,1,2,37,2,2,1,2,522, | |
2884 31,31,31,31,31,31,31,31,31,31,31,31,31,31,471,31,471,471,471,31,31,31,31,31, | |
2885 31,471,471,1,2,38,2,2,1,2,476, | |
2886 107,26,108, | |
2887 471,1,2,40,2,2,1,2,489, | |
2888 59,41,109, | |
2889 8,42,213, | |
2890 471,471,1,2,43,2,2,1,2,496, | |
2891 118,118,23, | |
2892 69,83,110, | |
2893 59,46,111, | |
2894 112,115,126,118,120,122,124,129,101,4,9,47,214,212,130,128,125,123,121,119, | |
2895 117,114,127,116,113,9, | |
2896 18,19,48,131,130,130, | |
2897 132,27,49,134,133, | |
2898 27,50,135, | |
2899 27,51,136, | |
2900 137,98,97,52,140,139,138, | |
2901 30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,41,73,73,73,144,8,73,30,30, | |
2902 30,30,30,30,47,73,73,53,23,22,21,141,142,142,33,31,35,33,32,143,144,35, | |
2903 34,38, | |
2904 8,54,103,31,35, | |
2905 36,111,110,41, | |
2906 146,88,4,9,56,145,145,146,9, | |
2907 88,4,9,57,147,147,91,9, | |
2908 101,58,93, | |
2909 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471, | |
2910 471,471,471,471,471,471,471,471,471,471,1,2,59,2,2,1,2,488, | |
2911 18,19,132,132,132,183,132,131,131, | |
2912 18,19,27,59,8,47,61,60,63,193,31,35,61,32,62,148,63,63,191,192,130,130,34, | |
2913 18,19,27,59,8,69,207,207,65,205,201,201,47,62,60,194,149,194,77,193,31,35, | |
2914 82,32,62,194,149,149,194,76,191,192,68,67,66,201,130,130,34,71,70, | |
2915 132,107,184,150,151, | |
2916 113,113,113,153,113,113,69,113,113,113,64,152,125,125, | |
2917 154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154, | |
2918 154,154,154,154,154,154,154,154,154,154,154,154,103,102,61,60,59,58,57, | |
2919 56,55,54,53,52,51,154,154,65,154,154,154,105,104,154,154, | |
2920 208,208,208,198, | |
2921 206,206,197, | |
2922 204,202,202,202,196,202, | |
2923 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471, | |
2924 471,471,471,471,471,471,471,471,471,471,471,471,471,471,1,2,69,2,2,1,2, | |
2925 479, | |
2926 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471, | |
2927 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471, | |
2928 471,471,471,471,471,471,471,1,2,70,2,2,1,2,520, | |
2929 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471, | |
2930 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471, | |
2931 471,471,471,471,471,471,471,1,2,71,2,2,1,2,519, | |
2932 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,1,2,72, | |
2933 2,2,1,2,518, | |
2934 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,1,2,73, | |
2935 2,2,1,2,517, | |
2936 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,1,2,74, | |
2937 2,2,1,2,513, | |
2938 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,1,2,75, | |
2939 2,2,1,2,512, | |
2940 59,76,155,181, | |
2941 18,19,27,59,8,47,77,60,178,193,31,35,61,32,62,178,191,192,130,130,34, | |
2942 18,19,72,73,74,75,27,59,8,69,207,207,65,205,201,201,47,78,60,174,149,174,77, | |
2943 193,31,35,82,32,62,174,81,80,174,79,78,149,149,174,76,191,192,68,67,66, | |
2944 201,130,130,34,71,70, | |
2945 18,19,72,73,74,75,27,59,8,69,207,207,65,205,201,201,47,79,60,173,149,173,77, | |
2946 193,31,35,82,32,62,173,81,80,173,79,78,149,149,173,76,191,192,68,67,66, | |
2947 201,130,130,34,71,70, | |
2948 18,19,72,73,74,75,27,59,8,69,207,207,65,205,201,201,47,80,60,172,149,172,77, | |
2949 193,31,35,82,32,62,172,81,80,172,79,78,149,149,172,76,191,192,68,67,66, | |
2950 201,130,130,34,71,70, | |
2951 18,19,72,73,74,75,27,59,8,69,207,207,65,205,201,201,47,81,60,171,149,171,77, | |
2952 193,31,35,82,32,62,171,81,80,171,79,78,149,149,171,76,191,192,68,67,66, | |
2953 201,130,130,34,71,70, | |
2954 18,19,72,73,74,75,27,59,8,69,207,207,65,205,201,201,47,82,60,83,85,83,77, | |
2955 193,31,35,82,32,157,62,156,83,94,93,92,91,90,89,88,86,84,83,81,80,83,79, | |
2956 78,85,85,83,76,191,192,68,67,66,201,130,130,34,71,70, | |
2957 158,160,162,162,163,161,159, | |
2958 74,75,159,165,164, | |
2959 132,107,184,150,166, | |
2960 168,137,150,167,169, | |
2961 170,172,176,178,98,99,69,87,152,175,174,179,177,173,171, | |
2962 170,172,98,99,145,183,182,181,180, | |
2963 176,178,143,185,184, | |
2964 186,141,187, | |
2965 188,139,189, | |
2966 97,137,190, | |
2967 191,135,192, | |
2968 193,195,133,196,194, | |
2969 113,113,113,153,113,113,113,113,113,95,124,124, | |
2970 31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,129, | |
2971 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471, | |
2972 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,1,2,97, | |
2973 2,2,1,2,483, | |
2974 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471, | |
2975 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,1,2,98, | |
2976 2,2,1,2,484, | |
2977 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471, | |
2978 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,1,2,99, | |
2979 2,2,1,2,482, | |
2980 107,36,108, | |
2981 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471, | |
2982 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471, | |
2983 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471, | |
2984 471,471,471,471,471,1,2,101,2,2,1,2,480, | |
2985 67,67,102, | |
2986 204,197,197,197,103,197,197, | |
2987 69,69,65, | |
2988 68,68,64, | |
2989 41,106,198, | |
2990 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471, | |
2991 471,471,471,471,471,471,1,2,107,2,2,1,2,478, | |
2992 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, | |
2993 108,199, | |
2994 18,19,72,73,74,75,27,59,8,69,207,207,65,205,201,201,47,109,60,83,85,83,77, | |
2995 193,31,35,82,32,200,62,87,83,94,93,92,91,90,89,88,86,84,83,81,80,83,79, | |
2996 78,85,85,83,76,191,192,68,67,66,201,130,130,34,71,70, | |
2997 30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,41,30,30,30,30,30,30,47,110, | |
2998 23,22,21,201,33,32,35,34,38, | |
2999 18,19,72,73,74,75,27,59,8,69,207,207,65,205,201,201,47,111,60,83,85,83,77, | |
3000 193,31,35,82,32,202,62,87,83,94,93,92,91,90,89,88,86,84,83,81,80,83,79, | |
3001 78,85,85,83,76,191,192,68,67,66,201,130,130,34,71,70, | |
3002 471,1,2,112,2,2,1,2,535, | |
3003 8,113,230, | |
3004 204,206,8,101,4,9,114,231,203,31,208,35,207,205,9, | |
3005 471,1,2,115,2,2,1,2,530, | |
3006 8,116,224, | |
3007 204,206,211,213,101,4,9,117,225,215,214,212,210,209,9, | |
3008 471,1,2,118,2,2,1,2,528, | |
3009 27,119,216, | |
3010 471,1,2,120,2,2,1,2,527, | |
3011 27,121,217, | |
3012 471,1,2,122,2,2,1,2,525, | |
3013 126,123,218,127, | |
3014 471,1,2,124,2,2,1,2,524, | |
3015 126,125,219,127, | |
3016 471,1,2,126,2,2,1,2,529, | |
3017 27,127,220, | |
3018 4,9,128,216,9, | |
3019 471,1,2,129,2,2,1,2,523, | |
3020 27,130,221, | |
3021 18,19,222,132,132,132,131,223,132,131,131, | |
3022 471,471,471,471,471,471,471,471,471,471,471,471,471,1,2,132,2,2,1,2,492, | |
3023 18,19,27,59,8,69,207,207,65,205,201,201,47,133,60,224,149,224,77,193,31,35, | |
3024 82,32,62,224,149,149,224,76,191,192,68,67,66,201,130,130,34,71,70, | |
3025 18,19,27,59,8,47,134,60,63,193,31,35,61,32,62,225,63,63,191,192,130,130,34, | |
3026 18,19,72,73,74,75,27,59,8,69,207,207,65,205,201,201,47,135,60,83,85,83,77, | |
3027 193,31,35,82,32,226,62,87,83,94,93,92,91,90,89,88,86,84,83,81,80,83,79, | |
3028 78,85,85,83,76,191,192,68,67,66,201,130,130,34,71,70, | |
3029 30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,41,8,30,30,30,30,30,30,47, | |
3030 136,23,22,21,141,227,227,33,31,35,33,32,35,34,38, | |
3031 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471, | |
3032 471,471,471,471,471,471,471,471,471,471,1,2,137,2,2,1,2,485, | |
3033 30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,41,8,30,30,30,30,30,30,47, | |
3034 138,23,22,21,141,228,228,33,31,35,33,32,35,34,38, | |
3035 30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,41,8,30,30,30,30,30,30,47, | |
3036 139,23,22,21,141,229,229,33,31,35,33,32,35,34,38, | |
3037 30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,41,30,30,30,30,30,30,47,140, | |
3038 23,22,21,39,45,33,32,230,35,34,38, | |
3039 107,32,108, | |
3040 69,84,231, | |
3041 30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,41,8,30,30,30,30,30,30,47, | |
3042 74,23,22,21,141,232,232,33,31,35,33,32,35,34,38, | |
3043 80,80,80,99,75,75,75,144,233, | |
3044 30,30,30,37,30,30,30,30,30,30,30,30,30,30,30,5,6,7,43,36,30,30,40,41,30,30, | |
3045 30,30,30,30,47,4,9,89,44,22,21,87,39,96,45,33,32,96,53,52,96,99,54,46, | |
3046 96,96,96,55,55,51,50,49,41,48,12,11,10,47,42,9,35,34,38, | |
3047 234,92,235, | |
3048 30,30,30,37,30,30,30,30,30,30,30,30,30,30,30,5,6,7,43,36,30,30,40,41,30,30, | |
3049 30,30,30,30,47,4,9,89,44,22,21,87,39,95,45,33,32,95,53,52,95,100,54,46, | |
3050 95,95,95,55,55,51,50,49,41,48,12,11,10,47,42,9,35,34,38, | |
3051 236,69,148,152,195, | |
3052 132,107,149,150,166, | |
3053 188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188, | |
3054 188,188,188,188,188,188,150,237, | |
3055 59,151,238, | |
3056 18,19,27,59,8,47,152,60,239,193,31,35,61,32,62,239,239,191,192,130,130,34, | |
3057 471,471,471,471,471,471,471,471,1,2,153,2,2,1,2,491, | |
3058 209,154, | |
3059 30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,41,8,30,30,30,30,30,30,47, | |
3060 155,23,22,21,141,240,240,33,31,35,33,32,35,34,38, | |
3061 170,172,176,178,236,98,99,69,156,152,195,175,174,179,177,173,171, | |
3062 236,157,180, | |
3063 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,1,2,158, | |
3064 2,2,1,2,516, | |
3065 18,19,72,73,74,75,27,59,8,69,207,207,65,205,201,201,47,159,60,169,149,169, | |
3066 77,193,31,35,82,32,62,169,81,80,169,168,79,78,149,149,169,76,191,192,68, | |
3067 67,66,201,130,130,34,71,70, | |
3068 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,1,2,160, | |
3069 2,2,1,2,515, | |
3070 18,19,72,73,74,75,27,59,8,69,207,207,65,205,201,201,47,161,60,169,149,169, | |
3071 77,193,31,35,82,32,62,169,81,80,169,167,79,78,149,149,169,76,191,192,68, | |
3072 67,66,201,130,130,34,71,70, | |
3073 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,1,2,162, | |
3074 2,2,1,2,514, | |
3075 18,19,72,73,74,75,27,59,8,69,207,207,65,205,201,201,47,163,60,166,149,166, | |
3076 77,193,31,35,82,32,62,166,81,80,166,79,78,149,149,166,76,191,192,68,67, | |
3077 66,201,130,130,34,71,70, | |
3078 18,19,72,73,74,75,27,59,8,69,207,207,65,205,201,201,47,164,60,241,149,241, | |
3079 77,193,31,35,82,32,62,241,241,81,80,241,79,78,149,149,241,76,191,192,68, | |
3080 67,66,201,130,130,34,71,70, | |
3081 18,19,72,73,74,75,27,59,8,69,207,207,65,205,201,201,47,165,60,242,149,242, | |
3082 77,193,31,35,82,32,62,242,242,81,80,242,79,78,149,149,242,76,191,192,68, | |
3083 67,66,201,130,130,34,71,70, | |
3084 18,19,27,59,8,69,207,207,65,205,201,201,47,166,60,177,149,177,77,193,31,35, | |
3085 243,32,62,177,149,149,177,76,191,192,68,67,66,201,130,130,34,71,70, | |
3086 18,19,72,73,74,75,27,59,8,69,207,207,65,205,201,201,47,167,60,83,149,83,77, | |
3087 193,31,35,82,32,62,83,244,83,81,80,83,79,78,149,149,83,76,191,192,68,67, | |
3088 66,201,130,130,34,71,70, | |
3089 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,1,2,168, | |
3090 2,2,1,2,511, | |
3091 18,19,72,73,74,75,27,59,8,69,207,207,65,205,201,201,47,169,60,83,149,83,77, | |
3092 193,31,35,82,32,62,83,245,83,81,80,83,79,78,149,149,83,76,191,192,68,67, | |
3093 66,201,130,130,34,71,70, | |
3094 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,1,2,170, | |
3095 2,2,1,2,510, | |
3096 18,19,27,59,8,47,171,60,63,193,31,35,61,32,62,246,63,63,191,192,130,130,34, | |
3097 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,1,2,172, | |
3098 2,2,1,2,509, | |
3099 18,19,27,59,8,47,173,60,63,193,31,35,61,32,62,247,63,63,191,192,130,130,34, | |
3100 18,19,27,59,8,47,174,60,63,193,31,35,61,32,62,248,63,63,191,192,130,130,34, | |
3101 18,19,27,59,8,47,175,60,63,193,31,35,61,32,62,249,63,63,191,192,130,130,34, | |
3102 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,1,2,176, | |
3103 2,2,1,2,508, | |
3104 18,19,27,59,8,47,177,60,63,193,31,35,61,32,62,250,63,63,191,192,130,130,34, | |
3105 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,1,2,178, | |
3106 2,2,1,2,507, | |
3107 18,19,27,59,8,47,179,60,63,193,31,35,61,32,62,251,63,63,191,192,130,130,34, | |
3108 18,19,72,73,74,75,27,59,8,69,207,207,65,205,201,201,47,180,60,83,149,83,77, | |
3109 193,31,35,82,32,62,83,252,84,83,81,80,83,79,78,149,149,83,76,191,192,68, | |
3110 67,66,201,130,130,34,71,70, | |
3111 18,19,72,73,74,75,27,59,8,69,207,207,65,205,201,201,47,181,60,83,149,83,77, | |
3112 193,31,35,82,32,62,83,253,84,83,81,80,83,79,78,149,149,83,76,191,192,68, | |
3113 67,66,201,130,130,34,71,70, | |
3114 18,19,72,73,74,75,27,59,8,69,207,207,65,205,201,201,47,182,60,83,149,83,77, | |
3115 193,31,35,82,32,62,83,254,84,83,81,80,83,79,78,149,149,83,76,191,192,68, | |
3116 67,66,201,130,130,34,71,70, | |
3117 18,19,72,73,74,75,27,59,8,69,207,207,65,205,201,201,47,183,60,83,149,83,77, | |
3118 193,31,35,82,32,62,83,255,84,83,81,80,83,79,78,149,149,83,76,191,192,68, | |
3119 67,66,201,130,130,34,71,70, | |
3120 18,19,72,73,74,75,27,59,8,69,207,207,65,205,201,201,47,184,60,83,85,83,77, | |
3121 193,31,35,82,32,62,256,83,257,86,84,83,81,80,83,79,78,85,85,83,76,191, | |
3122 192,68,67,66,201,130,130,34,71,70, | |
3123 18,19,72,73,74,75,27,59,8,69,207,207,65,205,201,201,47,185,60,83,85,83,77, | |
3124 193,31,35,82,32,62,256,83,258,86,84,83,81,80,83,79,78,85,85,83,76,191, | |
3125 192,68,67,66,201,130,130,34,71,70, | |
3126 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,1,2,186, | |
3127 2,2,1,2,506, | |
3128 18,19,72,73,74,75,27,59,8,69,207,207,65,205,201,201,47,187,60,83,85,83,77, | |
3129 193,31,35,82,32,62,87,83,259,88,86,84,83,81,80,83,79,78,85,85,83,76,191, | |
3130 192,68,67,66,201,130,130,34,71,70, | |
3131 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,1,2,188, | |
3132 2,2,1,2,505, | |
3133 18,19,72,73,74,75,27,59,8,69,207,207,65,205,201,201,47,189,60,83,85,83,77, | |
3134 193,31,35,82,32,62,87,83,260,89,88,86,84,83,81,80,83,79,78,85,85,83,76, | |
3135 191,192,68,67,66,201,130,130,34,71,70, | |
3136 18,19,72,73,74,75,27,59,8,69,207,207,65,205,201,201,47,190,60,83,85,83,77, | |
3137 193,31,35,82,32,62,87,83,261,90,89,88,86,84,83,81,80,83,79,78,85,85,83, | |
3138 76,191,192,68,67,66,201,130,130,34,71,70, | |
3139 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,1,2,191, | |
3140 2,2,1,2,504, | |
3141 18,19,72,73,74,75,27,59,8,69,207,207,65,205,201,201,47,192,60,83,85,83,77, | |
3142 193,31,35,82,32,62,87,83,262,91,90,89,88,86,84,83,81,80,83,79,78,85,85, | |
3143 83,76,191,192,68,67,66,201,130,130,34,71,70, | |
3144 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,1,2,193, | |
3145 2,2,1,2,503, | |
3146 18,19,72,73,74,75,27,59,8,69,207,207,65,205,201,201,47,194,60,83,85,83,77, | |
3147 193,31,35,82,32,62,87,83,263,92,91,90,89,88,86,84,83,81,80,83,79,78,85, | |
3148 85,83,76,191,192,68,67,66,201,130,130,34,71,70, | |
3149 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,1,2,195, | |
3150 2,2,1,2,502, | |
3151 18,19,72,73,74,75,27,59,8,69,207,207,65,205,201,201,47,196,60,83,85,83,77, | |
3152 193,31,35,82,32,264,62,87,83,94,93,92,91,90,89,88,86,84,83,81,80,83,79, | |
3153 78,85,85,83,76,191,192,68,67,66,201,130,130,34,71,70, | |
3154 204,72,72,72,70,72, | |
3155 43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,44,45,43,43,43,43,43,43, | |
3156 43,43,43,43,43,43,43,43,43,43,43,198,42,106, | |
3157 30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,41,8,30,30,30,30,30,30,47, | |
3158 199,23,22,21,141,265,265,33,31,35,33,32,35,34,38, | |
3159 236,200,266, | |
3160 107,27,108, | |
3161 236,202,102, | |
3162 4,9,203,234,9, | |
3163 471,1,2,204,2,2,1,2,534, | |
3164 27,205,267, | |
3165 471,1,2,206,2,2,1,2,533, | |
3166 27,207,268, | |
3167 4,9,208,222,9, | |
3168 27,209,269, | |
3169 27,210,270, | |
3170 471,1,2,211,2,2,1,2,532, | |
3171 27,212,271, | |
3172 471,1,2,213,2,2,1,2,531, | |
3173 27,214,272, | |
3174 4,9,215,221,9, | |
3175 18,19,72,73,74,75,27,59,8,69,207,207,65,205,201,201,47,216,60,83,85,83,77, | |
3176 193,31,35,82,32,273,62,87,83,94,93,92,91,90,89,88,86,84,83,81,80,83,79, | |
3177 78,85,85,83,76,191,192,68,67,66,201,130,130,34,71,70, | |
3178 18,19,72,73,74,75,27,59,8,69,207,207,65,205,201,201,47,217,60,83,85,83,77, | |
3179 193,31,35,82,32,274,62,87,83,94,93,92,91,90,89,88,86,84,83,81,80,83,79, | |
3180 78,85,85,83,76,191,192,68,67,66,201,130,130,34,71,70, | |
3181 4,9,218,218,9, | |
3182 4,9,219,217,9, | |
3183 18,19,72,73,74,75,27,59,8,69,207,207,65,205,201,201,47,220,60,83,85,83,77, | |
3184 193,31,35,82,32,275,62,87,83,94,93,92,91,90,89,88,86,84,83,81,80,83,79, | |
3185 78,85,85,83,76,191,192,68,67,66,201,130,130,34,71,70, | |
3186 30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,41,30,30,30,30,30,30,47,221, | |
3187 276,276,276,33,32,277,276,35,34,38, | |
3188 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471, | |
3189 471,471,471,471,471,471,1,2,222,2,2,1,2,495, | |
3190 30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,41,8,30,30,30,30,30,30,47, | |
3191 223,23,22,21,141,278,278,33,31,35,33,32,35,34,38, | |
3192 27,224,279, | |
3193 153,113,69,113,113,225,152,116,116, | |
3194 153,113,113,113,226,115,115, | |
3195 69,112,231, | |
3196 69,79,231, | |
3197 69,78,231, | |
3198 30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,41,73,73,73,8,73,30,30,30, | |
3199 30,30,30,47,73,73,230,23,22,21,141,142,142,33,31,35,33,32,143,280,35,34, | |
3200 38, | |
3201 30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,41,8,30,30,30,30,30,30,47, | |
3202 231,23,22,21,141,29,33,31,35,33,32,35,34,38, | |
3203 69,85,231, | |
3204 30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,41,8,30,30,30,30,30,30,47, | |
3205 233,23,22,21,141,281,281,33,31,35,33,32,35,34,38, | |
3206 471,471,471,471,1,2,234,2,2,1,2,486, | |
3207 282,8,4,9,235,25,97,31,35,25,282,9, | |
3208 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471, | |
3209 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471, | |
3210 471,471,471,471,471,471,471,1,2,236,2,2,1,2,487, | |
3211 30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,41,8,30,30,30,30,30,30,47, | |
3212 237,23,22,21,141,283,283,33,31,35,33,32,35,34,38, | |
3213 18,19,72,73,74,75,27,59,8,69,207,207,65,205,201,201,47,238,60,83,85,83,77, | |
3214 193,31,35,82,32,284,62,87,83,94,93,92,91,90,89,88,86,84,83,81,80,83,79, | |
3215 78,85,85,83,76,191,192,68,67,66,201,130,130,34,71,70, | |
3216 132,107,185,150,151, | |
3217 236,69,240,231,182, | |
3218 158,160,162,164,163,161,159, | |
3219 158,160,162,163,163,161,159, | |
3220 18,19,72,73,74,75,27,59,8,69,207,207,65,205,201,201,47,243,60,83,85,83,77, | |
3221 193,31,35,82,32,285,62,156,83,94,93,92,91,90,89,88,86,84,83,81,80,83,79, | |
3222 78,85,85,83,76,191,192,68,67,66,201,130,130,34,71,70, | |
3223 74,75,161,165,164, | |
3224 74,75,160,165,164, | |
3225 69,158,152, | |
3226 69,157,152, | |
3227 69,156,152, | |
3228 69,155,152, | |
3229 69,149,152, | |
3230 69,148,152, | |
3231 168,137,154,167,169, | |
3232 168,137,153,167,169, | |
3233 168,137,152,167,169, | |
3234 168,137,151,167,169, | |
3235 170,172,98,99,69,256,152,175,174,173,171, | |
3236 170,172,98,99,147,183,182,181,180, | |
3237 170,172,98,99,146,183,182,181,180, | |
3238 176,178,144,185,184, | |
3239 186,142,187, | |
3240 188,140,189, | |
3241 97,138,190, | |
3242 191,136,192, | |
3243 286,264,287, | |
3244 69,288,265,25,231, | |
3245 8,266,119,31,35, | |
3246 30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,41,30,30,30,30,30,30,47,267, | |
3247 276,276,276,33,32,289,276,35,34,38, | |
3248 30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,41,30,30,30,30,30,30,47,268, | |
3249 276,276,276,33,32,290,276,35,34,38, | |
3250 30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,41,30,30,30,30,30,30,47,269, | |
3251 276,276,276,33,32,291,276,35,34,38, | |
3252 30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,41,30,30,30,30,30,30,47,270, | |
3253 276,276,276,33,32,292,276,35,34,38, | |
3254 30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,41,30,30,30,30,30,30,47,271, | |
3255 276,276,276,33,32,293,276,35,34,38, | |
3256 30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,272,294, | |
3257 38, | |
3258 295,273,296, | |
3259 295,274,297, | |
3260 295,275,298, | |
3261 107,235,299, | |
3262 69,4,9,277,215,300,9, | |
3263 301,302,69,278,231,302,302, | |
3264 18,19,72,73,74,75,27,59,8,69,207,207,65,205,201,201,47,279,60,83,85,83,77, | |
3265 193,31,35,82,32,303,62,87,83,94,93,92,91,90,89,88,86,84,83,81,80,83,79, | |
3266 78,85,85,83,76,191,192,68,67,66,201,130,130,34,71,70, | |
3267 82,82,82,77,77,77,280, | |
3268 81,81,81,76,69,76,76,281,231, | |
3269 40,282,304,46, | |
3270 69,288,283,189,231, | |
3271 305,284,306, | |
3272 305,236,285,180,306, | |
3273 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,1,2,286, | |
3274 2,2,1,2,501, | |
3275 18,19,72,73,74,75,27,59,8,69,207,207,65,205,201,201,47,287,60,83,85,83,77, | |
3276 193,31,35,82,32,134,62,87,83,94,93,92,91,90,89,88,86,84,83,81,80,83,79, | |
3277 78,85,85,83,76,191,192,68,67,66,201,130,130,34,71,70, | |
3278 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471, | |
3279 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,1,2, | |
3280 288,2,2,1,2,477, | |
3281 69,4,9,289,233,300,9, | |
3282 69,4,9,290,232,300,9, | |
3283 69,4,9,291,229,300,9, | |
3284 69,4,9,292,228,300,9, | |
3285 69,4,9,293,227,300,9, | |
3286 4,9,294,226,9, | |
3287 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,1,2,295, | |
3288 2,2,1,2,526, | |
3289 18,19,72,73,74,75,27,59,8,69,207,207,65,205,201,201,47,296,60,83,85,83,77, | |
3290 193,31,35,82,32,220,62,87,83,94,93,92,91,90,89,88,86,84,83,81,80,83,79, | |
3291 78,85,85,83,76,191,192,68,67,66,201,130,130,34,71,70, | |
3292 18,19,72,73,74,75,27,59,8,69,207,207,65,205,201,201,47,297,60,83,85,83,77, | |
3293 193,31,35,82,32,219,62,87,83,94,93,92,91,90,89,88,86,84,83,81,80,83,79, | |
3294 78,85,85,83,76,191,192,68,67,66,201,130,130,34,71,70, | |
3295 18,19,72,73,74,75,27,59,8,69,207,207,65,205,201,201,47,298,60,83,85,83,77, | |
3296 193,31,35,82,32,223,62,87,83,94,93,92,91,90,89,88,86,84,83,81,80,83,79, | |
3297 78,85,85,83,76,191,192,68,67,66,201,130,130,34,71,70, | |
3298 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, | |
3299 240,240,240,240,240,240,299,307, | |
3300 30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,41,30,30,30,30,30,30,47,300, | |
3301 308,308,308,33,32,308,35,34,38, | |
3302 471,1,2,301,2,2,1,2,494, | |
3303 8,302,122,31,35, | |
3304 153,113,113,113,303,117,117, | |
3305 8,304,101,31,35, | |
3306 471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,1,2,305, | |
3307 2,2,1,2,521, | |
3308 18,19,72,73,74,75,27,59,8,69,207,207,65,205,201,201,47,306,60,83,85,83,77, | |
3309 193,31,35,82,32,309,62,87,83,94,93,92,91,90,89,88,86,84,83,81,80,83,79, | |
3310 78,85,85,83,76,191,192,68,67,66,201,130,130,34,71,70, | |
3311 30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,41,8,30,30,30,30,30,30,47, | |
3312 307,23,22,21,141,310,310,33,31,35,33,32,35,34,38, | |
3313 107,236,299, | |
3314 236,309,187, | |
3315 69,288,310,241,231, | |
3316 | |
3317 }; | |
3318 | |
3319 | |
3320 static const unsigned short far ag_sbt[] = { | |
3321 0, 15, 56, 62, 82, 121, 131, 141, 171, 231, 293, 299, 305, 331, | |
3322 370, 386, 388, 424, 426, 485, 544, 555, 566, 588, 596, 601, 606, 675, | |
3323 718, 741, 803, 832, 886, 941, 980,1032,1044,1053,1062,1097,1100,1109, | |
3324 1112,1115,1125,1128,1131,1134,1160,1166,1171,1174,1177,1184,1233,1238, | |
3325 1242,1251,1259,1262,1299,1308,1331,1372,1377,1391,1445,1449,1452,1458, | |
3326 1499,1551,1603,1628,1653,1678,1703,1707,1728,1778,1828,1878,1928,1990, | |
3327 1997,2002,2007,2012,2027,2036,2041,2044,2047,2050,2053,2058,2070,2092, | |
3328 2135,2178,2221,2224,2292,2295,2302,2305,2308,2311,2344,2371,2433,2467, | |
3329 2529,2538,2541,2556,2565,2568,2583,2592,2595,2604,2607,2616,2620,2629, | |
3330 2633,2642,2645,2650,2659,2662,2673,2694,2735,2758,2820,2860,2897,2937, | |
3331 2977,3013,3016,3019,3059,3068,3137,3140,3209,3214,3219,3246,3249,3271, | |
3332 3287,3289,3329,3346,3349,3374,3425,3450,3501,3526,3576,3627,3678,3719, | |
3333 3771,3796,3848,3873,3896,3921,3944,3967,3990,4015,4038,4063,4086,4139, | |
3334 4192,4245,4298,4353,4408,4433,4489,4514,4571,4629,4654,4713,4738,4798, | |
3335 4823,4885,4891,4930,4970,4973,4976,4979,4984,4993,4996,5005,5008,5013, | |
3336 5016,5019,5028,5031,5040,5043,5048,5110,5172,5177,5182,5244,5279,5312, | |
3337 5352,5355,5364,5371,5374,5377,5380,5428,5467,5470,5510,5522,5534,5586, | |
3338 5626,5688,5693,5698,5705,5712,5774,5779,5784,5787,5790,5793,5796,5799, | |
3339 5802,5807,5812,5817,5822,5833,5842,5851,5856,5859,5862,5865,5868,5871, | |
3340 5876,5881,5916,5951,5986,6021,6056,6081,6084,6087,6090,6093,6100,6107, | |
3341 6169,6176,6185,6189,6194,6197,6202,6227,6289,6333,6340,6347,6354,6361, | |
3342 6368,6373,6398,6460,6522,6584,6611,6645,6654,6659,6666,6671,6696,6758, | |
3343 6798,6801,6804,6809 | |
3344 }; | |
3345 | |
3346 | |
3347 static const unsigned short far ag_sbe[] = { | |
3348 9, 53, 58, 69, 118, 125, 135, 165, 225, 287, 295, 301, 327, 365, | |
3349 376, 387, 423, 425, 479, 538, 550, 561, 587, 590, 597, 603, 638, 712, | |
3350 724, 758, 827, 865, 933, 977,1026,1038,1047,1056,1091,1098,1103,1110, | |
3351 1113,1119,1127,1129,1132,1145,1162,1168,1172,1175,1180,1216,1234,1239, | |
3352 1246,1254,1260,1293,1304,1314,1344,1374,1387,1437,1448,1451,1456,1493, | |
3353 1545,1597,1622,1647,1672,1697,1704,1713,1745,1795,1845,1895,1945,1993, | |
3354 1999,2004,2009,2019,2031,2038,2042,2045,2048,2051,2055,2067,2091,2129, | |
3355 2172,2215,2222,2286,2294,2299,2304,2307,2309,2338,2369,2388,2457,2484, | |
3356 2532,2539,2547,2559,2566,2575,2586,2593,2598,2605,2610,2617,2623,2630, | |
3357 2636,2643,2647,2653,2660,2668,2688,2707,2741,2775,2845,2891,2922,2962, | |
3358 3001,3014,3017,3044,3066,3101,3138,3173,3211,3216,3244,3247,3255,3281, | |
3359 3288,3314,3337,3347,3368,3391,3444,3467,3520,3543,3593,3644,3691,3736, | |
3360 3790,3813,3867,3879,3915,3927,3950,3973,4009,4021,4057,4069,4103,4156, | |
3361 4209,4262,4315,4370,4427,4450,4508,4531,4588,4648,4671,4732,4755,4817, | |
3362 4840,4889,4927,4955,4971,4974,4977,4981,4987,4994,4999,5006,5010,5014, | |
3363 5017,5022,5029,5034,5041,5045,5065,5127,5174,5179,5199,5268,5306,5337, | |
3364 5353,5360,5368,5372,5375,5378,5411,5453,5468,5495,5516,5526,5580,5611, | |
3365 5643,5690,5695,5701,5708,5729,5776,5781,5785,5788,5791,5794,5797,5800, | |
3366 5804,5809,5814,5819,5827,5837,5846,5853,5857,5860,5863,5866,5869,5873, | |
3367 5877,5905,5940,5975,6010,6045,6078,6082,6085,6088,6091,6096,6103,6124, | |
3368 6175,6183,6186,6191,6195,6199,6221,6244,6327,6336,6343,6350,6357,6364, | |
3369 6370,6392,6415,6477,6539,6609,6635,6648,6655,6663,6667,6690,6713,6783, | |
3370 6799,6802,6806,6809 | |
3371 }; | |
3372 | |
3373 | |
3374 static const unsigned char far ag_fl[] = { | |
3375 2,1,1,2,1,2,2,1,1,2,0,1,3,1,1,1,1,2,0,1,2,1,1,1,0,5,1,3,1,3,1,2,1,1,2, | |
3376 1,2,2,2,2,2,1,2,1,0,3,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2, | |
3377 2,1,2,0,1,2,4,4,3,3,2,4,4,1,1,2,1,2,0,1,0,2,2,4,1,3,3,4,1,3,3,6,4,2,1, | |
3378 1,1,1,1,1,2,1,3,0,1,4,4,6,1,5,0,1,6,3,5,5,1,1,2,3,1,2,2,1,5,1,3,1,3,1, | |
3379 3,1,3,1,3,1,3,3,3,3,1,3,3,3,3,3,3,3,3,1,3,3,1,3,3,1,3,3,3,1,1,2,2,2,2, | |
3380 1,1,3,2,1,3,2,3,1,1,3,1,7,0,5,1,1,1,1,2,3,1,1,1,1,1,1,2,1,1,1,2,1,2,3, | |
3381 1,1,2,2,2,5,3,4,4,6,6,4,4,5,2,2,5,5,5,5,2,2,5,5,3,1,3,1,1,1,0,5,1,1,1, | |
3382 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
3383 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
3384 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
3385 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
3386 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
3387 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
3388 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, | |
3389 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, | |
3390 2,2,2,2,2,2,2,2,2,2,2,2,2 | |
3391 }; | |
3392 | |
3393 static const unsigned short far ag_ptt[] = { | |
3394 0, 2, 2, 12, 13, 13, 13,198, 20, 20, 21, 21,198, 25, 25, 25, 26, 26, | |
3395 27, 27, 22, 10, 10, 10, 30, 10, 33, 33, 31, 31,201,201, 35, 35, 38, 39, | |
3396 39, 39, 39, 39,199, 43, 43, 46, 48, 46,200, 49, 49, 51, 51, 53, 53, 53, | |
3397 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 65, 65, 65, 67, 68, 69, 66, 73, | |
3398 73, 78, 78, 75, 75, 75, 75, 75, 80, 80, 80, 76, 77, 77, 84, 84, 85, 85, | |
3399 88, 88, 88, 23, 86, 86, 86, 86, 87, 87, 87, 87, 92, 91, 89, 89, 89, 89, | |
3400 89, 99, 99, 89, 95,104,104, 95, 95, 95,102, 98,113,113, 96, 24, 24, 24, | |
3401 222,117,117,222, 1, 1, 1, 94, 94,120,120,123,123,125,125,127,127,128, | |
3402 128,130,130,130,130,130,132,132,132,132,132,132,132,132,132,135,135,135, | |
3403 138,138,138,140,140,140,140,146,143,143,143,143,143,108,108,108,108,108, | |
3404 108,108,154,152,106,106,150,150,158,150,151,151,151,151,151,151,244,244, | |
3405 244,164,164,159,159, 74, 74,160,160,161,161,245,170,170, 97,172,172,172, | |
3406 172,172,172,172,172,172,172,176,182,182,182,182,182,182,183,183,183,183, | |
3407 183,175,175,191,191,191,192,191,119, 16, 16, 16, 16, 16, 16, 16, 16, 16, | |
3408 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, | |
3409 16, 16, 16, 16, 16, 16, 16, 16, 16, 19, 19, 19, 19, 19, 19, 19, 19, 19, | |
3410 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, | |
3411 19, 19, 19, 19, 19, 19, 19, 19, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, | |
3412 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 37, | |
3413 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 42, 42, 42, | |
3414 42, 42, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, | |
3415 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, | |
3416 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, | |
3417 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 71, 71,118, | |
3418 118,165,165,165,168,168,171,171,171,171,171,171,171,171,171,171,171,171, | |
3419 171,171,171,171,171,171,171,171,171,171,171,171,171,171,171,171,171,171, | |
3420 171,171,171,197,197, 8, 6, 5, 3, 32, 29, 34, 40, 41, 79, 81, 82, 83, | |
3421 90, 44, 45, 93,101,103,107,109,112,111,110, 9,114,115,116,122,121,124, | |
3422 126,129,131,133,134,136,137,139,141,142,144,145,147,148,149, 4, 7,157, | |
3423 173,174,177,178,180,179,181,184,185,186,187,188,189,190,166,196 | |
3424 }; | |
3425 | |
3426 static const unsigned short far *ag_valid(int ag_k) { | |
3427 const unsigned short far *ag_tp = &ag_tstt[ag_sbt[(PCB).sn+1]]; | |
3428 while (*--ag_tp != (unsigned short) ag_k) if (*ag_tp == 0) return NULL; | |
3429 return ag_tp; | |
3430 } | |
3431 | |
3432 int dsl_change_reduction(dsl_token_type ag_k) { | |
3433 if (!ag_valid(ag_k)) return 0; | |
3434 (PCB).reduction_token = ag_k; | |
3435 return 1; | |
3436 } | |
3437 | |
3438 static void ag_default(const int *ag_tp) { | |
3439 (PCB).ag_dsn = (PCB).sn; | |
3440 (PCB).ag_dtl = ag_tp; | |
3441 while (!ag_valid((dsl_token_type) *ag_tp)) ag_tp++; | |
3442 (PCB).reduction_token = (dsl_token_type) *ag_tp; | |
3443 } | |
3444 | |
3445 | |
3446 | |
3447 static void ag_ra(void) | |
3448 { | |
3449 switch(ag_rpx[(PCB).ag_ap]) { | |
3450 case 1: ag_rp_1(); break; | |
3451 case 2: ag_rp_2(); break; | |
3452 case 3: ag_rp_3(); break; | |
3453 case 4: ag_rp_4(); break; | |
3454 case 5: ag_rp_5(); break; | |
3455 case 6: ag_rp_6(V(0,(int *))); break; | |
3456 case 7: ag_rp_7(V(1,(int *))); break; | |
3457 case 8: ag_rp_8(); break; | |
3458 case 9: ag_rp_9(); break; | |
3459 case 10: ag_rp_10(); break; | |
3460 case 11: ag_rp_11(); break; | |
3461 case 12: ag_rp_12(); break; | |
3462 case 13: ag_rp_13(V(0,(int *))); break; | |
3463 case 14: ag_rp_14(); break; | |
3464 case 15: ag_rp_15(); break; | |
3465 case 16: ag_rp_16(); break; | |
3466 case 17: ag_rp_17(V(0,(int *))); break; | |
3467 case 18: ag_rp_18(V(0,(int *))); break; | |
3468 case 19: V(0,(int *)) = ag_rp_19(); break; | |
3469 case 20: V(0,(int *)) = ag_rp_20(); break; | |
3470 case 21: V(0,(int *)) = ag_rp_21(); break; | |
3471 case 22: V(0,(int *)) = ag_rp_22(); break; | |
3472 case 23: V(0,(int *)) = ag_rp_23(); break; | |
3473 case 24: V(0,(int *)) = ag_rp_24(); break; | |
3474 case 25: V(0,(int *)) = ag_rp_25(); break; | |
3475 case 26: V(0,(int *)) = ag_rp_26(); break; | |
3476 case 27: V(0,(int *)) = ag_rp_27(); break; | |
3477 case 28: V(0,(int *)) = ag_rp_28(); break; | |
3478 case 29: V(0,(int *)) = ag_rp_29(); break; | |
3479 case 30: V(0,(int *)) = ag_rp_30(V(1,(int *))); break; | |
3480 case 31: V(0,(int *)) = ag_rp_31(V(0,(int *)), V(1,(int *))); break; | |
3481 case 32: V(0,(int *)) = ag_rp_32(V(0,(int *)), V(1,(int *))); break; | |
3482 case 33: V(0,(int *)) = ag_rp_33(V(1,(long *))); break; | |
3483 case 34: V(0,(long *)) = ag_rp_34(V(0,(long *)), V(1,(long *))); break; | |
3484 case 35: ag_rp_35(); break; | |
3485 case 36: ag_rp_36(); break; | |
3486 case 37: ag_rp_37(V(0,(char * *))); break; | |
3487 case 38: ag_rp_38(V(0,(char * *))); break; | |
3488 case 39: ag_rp_39(V(0,(char * *))); break; | |
3489 case 40: V(0,(char * *)) = ag_rp_40(); break; | |
3490 case 41: V(0,(char * *)) = ag_rp_41(); break; | |
3491 case 42: V(0,(char * *)) = ag_rp_42(V(0,(char * *))); break; | |
3492 case 43: ag_rp_43(); break; | |
3493 case 44: ag_rp_44(); break; | |
3494 case 45: ag_rp_45(); break; | |
3495 case 46: ag_rp_46(V(0,(int *))); break; | |
3496 case 47: V(0,(int *)) = ag_rp_47(V(2,(int *))); break; | |
3497 case 48: V(0,(int *)) = ag_rp_48(V(2,(int *))); break; | |
3498 case 49: V(0,(int *)) = ag_rp_49(V(0,(int *)), V(4,(int *))); break; | |
3499 case 50: V(0,(int *)) = ag_rp_50(V(2,(long *))); break; | |
3500 case 51: V(0,(int *)) = ag_rp_51(V(0,(int *))); break; | |
3501 case 52: ag_rp_52(V(0,(unsigned *))); break; | |
3502 case 53: ag_rp_53(V(0,(unsigned *)), V(2,(long *))); break; | |
3503 case 54: ag_rp_54(V(0,(unsigned *))); break; | |
3504 case 55: ag_rp_55(V(0,(unsigned *)), V(2,(long *)), V(4,(long *))); break; | |
3505 case 56: ag_default(&ag_rtt[0]); V(0,(unsigned *)) = ag_rp_56(); break; | |
3506 case 57: ag_rp_57(V(2,(long *))); break; | |
3507 case 58: ag_rp_58(); break; | |
3508 case 59: ag_rp_59(V(1,(int *))); break; | |
3509 case 60: ag_rp_60(V(3,(long *))); break; | |
3510 case 61: ag_rp_61(); break; | |
3511 case 62: V(0,(int *)) = ag_rp_62(); break; | |
3512 case 63: V(0,(int *)) = ag_rp_63(V(0,(int *))); break; | |
3513 case 64: ag_rp_64(V(0,(int *))); break; | |
3514 case 65: ag_rp_65(V(1,(int *))); break; | |
3515 case 66: ag_rp_66(V(1,(int *))); break; | |
3516 case 67: V(0,(long *)) = ag_rp_67(V(0,(long *)), V(2,(long *)), V(4,(long *))); break; | |
3517 case 68: V(0,(long *)) = ag_rp_68(V(0,(long *)), V(2,(long *))); break; | |
3518 case 69: V(0,(long *)) = ag_rp_69(V(0,(long *)), V(2,(long *))); break; | |
3519 case 70: V(0,(long *)) = ag_rp_70(V(0,(long *)), V(2,(long *))); break; | |
3520 case 71: V(0,(long *)) = ag_rp_71(V(0,(long *)), V(2,(long *))); break; | |
3521 case 72: V(0,(long *)) = ag_rp_72(V(0,(long *)), V(2,(long *))); break; | |
3522 case 73: V(0,(long *)) = ag_rp_73(V(0,(long *)), V(2,(long *))); break; | |
3523 case 74: V(0,(long *)) = ag_rp_74(V(0,(long *)), V(2,(long *))); break; | |
3524 case 75: V(0,(long *)) = ag_rp_75(); break; | |
3525 case 76: V(0,(long *)) = ag_rp_76(); break; | |
3526 case 77: V(0,(long *)) = ag_rp_77(V(0,(long *)), V(2,(long *))); break; | |
3527 case 78: V(0,(long *)) = ag_rp_78(V(0,(long *)), V(2,(long *))); break; | |
3528 case 79: V(0,(long *)) = ag_rp_79(V(0,(long *)), V(2,(long *))); break; | |
3529 case 80: V(0,(long *)) = ag_rp_80(V(0,(long *)), V(2,(long *))); break; | |
3530 case 81: V(0,(long *)) = ag_rp_81(); break; | |
3531 case 82: V(0,(long *)) = ag_rp_82(); break; | |
3532 case 83: V(0,(long *)) = ag_rp_83(); break; | |
3533 case 84: V(0,(long *)) = ag_rp_84(); break; | |
3534 case 85: V(0,(long *)) = ag_rp_85(V(0,(long *)), V(2,(long *))); break; | |
3535 case 86: V(0,(long *)) = ag_rp_86(V(0,(long *)), V(2,(long *))); break; | |
3536 case 87: V(0,(long *)) = ag_rp_87(V(0,(long *)), V(2,(long *))); break; | |
3537 case 88: V(0,(long *)) = ag_rp_88(V(0,(long *)), V(2,(long *))); break; | |
3538 case 89: V(0,(long *)) = ag_rp_89(V(0,(long *)), V(2,(long *))); break; | |
3539 case 90: V(0,(long *)) = ag_rp_90(V(0,(long *)), V(2,(long *))); break; | |
3540 case 91: V(0,(long *)) = ag_rp_91(V(0,(long *)), V(2,(long *))); break; | |
3541 case 92: V(0,(long *)) = ag_rp_92(V(0,(long *))); break; | |
3542 case 93: V(0,(long *)) = ag_rp_93(V(1,(long *))); break; | |
3543 case 94: V(0,(long *)) = ag_rp_94(V(1,(long *))); break; | |
3544 case 95: V(0,(long *)) = ag_rp_95(V(1,(long *))); break; | |
3545 case 96: V(0,(long *)) = ag_rp_96(V(1,(long *))); break; | |
3546 case 97: V(0,(long *)) = ag_rp_97(V(2,(long *))); break; | |
3547 case 98: V(0,(long *)) = ag_rp_98(); break; | |
3548 case 99: V(0,(long *)) = ag_rp_99(V(1,(long *))); break; | |
3549 case 100: V(0,(long *)) = ag_rp_100(V(0,(long *))); break; | |
3550 case 101: ag_default(&ag_rtt[4]); V(0,(long *)) = ag_rp_101(); break; | |
3551 case 102: ag_rp_102(); break; | |
3552 case 103: ag_rp_103(V(3,(long *)), V(5,(long *))); break; | |
3553 case 104: ag_rp_104(); break; | |
3554 case 105: ag_rp_105(); break; | |
3555 case 106: ag_rp_106(V(0,(long *))); break; | |
3556 case 107: ag_rp_107(V(0,(long *))); break; | |
3557 case 108: ag_rp_108(); break; | |
3558 case 109: ag_rp_109(V(1,(long *))); break; | |
3559 case 110: V(0,(long *)) = ag_rp_110(); break; | |
3560 case 111: V(0,(long *)) = ag_rp_111(V(0,(long *)), V(1,(long *))); break; | |
3561 case 112: V(0,(long *)) = ag_rp_112(V(0,(int *))); break; | |
3562 case 113: V(0,(long *)) = ag_rp_113(); break; | |
3563 case 114: V(0,(long *)) = ag_rp_114(V(0,(long *)), V(1,(int *))); break; | |
3564 case 115: V(0,(long *)) = ag_rp_115(V(0,(int *))); break; | |
3565 case 116: V(0,(long *)) = ag_rp_116(V(0,(long *)), V(1,(int *))); break; | |
3566 case 117: V(0,(int *)) = ag_rp_117(V(1,(int *))); break; | |
3567 case 118: ag_rp_118(V(0,(screen_descriptor * *))); break; | |
3568 case 119: V(0,(screen_descriptor * *)) = ag_rp_119(); break; | |
3569 case 120: V(0,(screen_descriptor * *)) = ag_rp_120(V(0,(screen_descriptor * *))); break; | |
3570 case 121: V(0,(screen_descriptor * *)) = ag_rp_121(V(0,(screen_descriptor * *)), V(1,(int *))); break; | |
3571 case 122: V(0,(screen_descriptor * *)) = ag_rp_122(V(0,(screen_descriptor * *)), V(2,(int *))); break; | |
3572 case 123: V(0,(screen_descriptor * *)) = ag_rp_123(V(0,(screen_descriptor * *)), V(2,(int *))); break; | |
3573 case 124: V(0,(screen_descriptor * *)) = ag_rp_124(V(0,(screen_descriptor * *)), V(3,(long *)), V(5,(long *))); break; | |
3574 case 125: V(0,(screen_descriptor * *)) = ag_rp_125(V(0,(screen_descriptor * *)), V(3,(long *)), V(5,(long *))); break; | |
3575 case 126: V(0,(screen_descriptor * *)) = ag_rp_126(V(0,(screen_descriptor * *)), V(1,(query_item * *))); break; | |
3576 case 127: V(0,(screen_descriptor * *)) = ag_rp_127(V(0,(screen_descriptor * *)), V(1,(query_item * *))); break; | |
3577 case 128: V(0,(int *)) = ag_rp_128(V(2,(long *)), V(4,(long *))); break; | |
3578 case 129: V(0,(query_item * *)) = ag_rp_129(); break; | |
3579 case 130: V(0,(query_item * *)) = ag_rp_130(V(0,(query_item * *))); break; | |
3580 case 131: V(0,(query_item * *)) = ag_rp_131(V(0,(query_item * *))); break; | |
3581 case 132: V(0,(query_item * *)) = ag_rp_132(V(0,(query_item * *))); break; | |
3582 case 133: V(0,(query_item * *)) = ag_rp_133(V(0,(query_item * *))); break; | |
3583 case 134: V(0,(query_item * *)) = ag_rp_134(); break; | |
3584 case 135: V(0,(query_item * *)) = ag_rp_135(V(0,(query_item * *))); break; | |
3585 case 136: V(0,(query_item * *)) = ag_rp_136(V(0,(query_item * *))); break; | |
3586 case 137: V(0,(query_item * *)) = ag_rp_137(V(0,(query_item * *))); break; | |
3587 case 138: ag_rp_138(); break; | |
3588 case 139: ag_rp_139(); break; | |
3589 case 140: ag_rp_140(); break; | |
3590 case 141: ag_rp_141(); break; | |
3591 } | |
3592 (PCB).la_ptr = (PCB).pointer; | |
3593 } | |
3594 | |
3595 #define TOKEN_NAMES dsl_token_names | |
3596 const char *const dsl_token_names[263] = { | |
3597 "script file", | |
3598 "name", | |
3599 "ws", | |
3600 "literal", | |
3601 "integer constant", | |
3602 "string literal", | |
3603 "paren string", | |
3604 "character constant", | |
3605 "eol", | |
3606 "literals", | |
3607 "word", | |
3608 "white", | |
3609 "comment", | |
3610 "comment head", | |
3611 "\"*/\"", | |
3612 "\"/*\"", | |
3613 "", | |
3614 "'\\n'", | |
3615 "\"//\"", | |
3616 "not eol", | |
3617 "", | |
3618 "", | |
3619 "script file", | |
3620 "execution block", | |
3621 "declaration", | |
3622 "", | |
3623 "", | |
3624 "", | |
3625 "eof", | |
3626 "'['", | |
3627 "", | |
3628 "parameter string", | |
3629 "']'", | |
3630 "string", | |
3631 "'#'", | |
3632 "param word", | |
3633 "", | |
3634 "text char", | |
3635 "action text", | |
3636 "action text head", | |
3637 "'}'", | |
3638 "'{'", | |
3639 "operator", | |
3640 "paren string chars", | |
3641 "')'", | |
3642 "'('", | |
3643 "paren string char", | |
3644 "not paren", | |
3645 "", | |
3646 "string chars", | |
3647 "'\\\"'", | |
3648 "string char", | |
3649 "not double quote", | |
3650 "escape sequence", | |
3651 "\"\\\\a\"", | |
3652 "\"\\\\b\"", | |
3653 "\"\\\\f\"", | |
3654 "\"\\\\n\"", | |
3655 "\"\\\\r\"", | |
3656 "\"\\\\t\"", | |
3657 "\"\\\\v\"", | |
3658 "\"\\\\\\\\\"", | |
3659 "\"\\\\?\"", | |
3660 "\"\\\\\\'\"", | |
3661 "\"\\\\\\\"\"", | |
3662 "octal escape", | |
3663 "hex escape", | |
3664 "one octal", | |
3665 "two octal", | |
3666 "three octal", | |
3667 "'\\\\'", | |
3668 "", | |
3669 "\"\\\\x\"", | |
3670 "hex number", | |
3671 "hex digit", | |
3672 "command", | |
3673 "identifier", | |
3674 "parameters", | |
3675 "", | |
3676 "'<'", | |
3677 "piped command", | |
3678 "'|'", | |
3679 "'>'", | |
3680 "\">>\"", | |
3681 "", | |
3682 "", | |
3683 "command sequence", | |
3684 "if sequence", | |
3685 "", | |
3686 "statement", | |
3687 "\"else\"", | |
3688 "if statement", | |
3689 "if condition", | |
3690 "\"if\"", | |
3691 "conditional exp", | |
3692 "assignment", | |
3693 "for statement", | |
3694 "screen description", | |
3695 "while statement", | |
3696 "", | |
3697 "undeclared variable", | |
3698 "'='", | |
3699 "integer variable", | |
3700 "';'", | |
3701 "", | |
3702 "string variable", | |
3703 "string exp", | |
3704 "'@'", | |
3705 "primary exp", | |
3706 "\"while\"", | |
3707 "\"for\"", | |
3708 "\"in\"", | |
3709 "\"do\"", | |
3710 "", | |
3711 "\"action\"", | |
3712 "\"int\"", | |
3713 "\"string\"", | |
3714 "", | |
3715 "letter", | |
3716 "digit", | |
3717 "logical or exp", | |
3718 "'\\?'", | |
3719 "':'", | |
3720 "logical and exp", | |
3721 "\"||\"", | |
3722 "inclusive or exp", | |
3723 "\"&&\"", | |
3724 "exclusive or exp", | |
3725 "and exp", | |
3726 "'^'", | |
3727 "equality exp", | |
3728 "'&'", | |
3729 "relational exp", | |
3730 "\"==\"", | |
3731 "\"!=\"", | |
3732 "shift exp", | |
3733 "\"<=\"", | |
3734 "\">=\"", | |
3735 "additive exp", | |
3736 "\"<<\"", | |
3737 "multiplicative exp", | |
3738 "'+'", | |
3739 "'-'", | |
3740 "unary exp", | |
3741 "'*'", | |
3742 "'/'", | |
3743 "nonzero", | |
3744 "'%'", | |
3745 "'~'", | |
3746 "'!'", | |
3747 "string term", | |
3748 "string element", | |
3749 "numeric name", | |
3750 "built_in name", | |
3751 "built_in argument", | |
3752 "string name", | |
3753 "undefined name", | |
3754 "\"..\"", | |
3755 "", | |
3756 "hex constant", | |
3757 "octal constant", | |
3758 "decimal constant", | |
3759 "\"0x\"", | |
3760 "\"0X\"", | |
3761 "", | |
3762 "", | |
3763 "", | |
3764 "'0'", | |
3765 "", | |
3766 "'\\''", | |
3767 "char constant element", | |
3768 "not single quote", | |
3769 "screen items", | |
3770 "\"screen\"", | |
3771 "\"title\"", | |
3772 "formula", | |
3773 "color spec", | |
3774 "\"entry\"", | |
3775 "\"highlight\"", | |
3776 "\"size\"", | |
3777 "','", | |
3778 "\"location\"", | |
3779 "query line", | |
3780 "button line", | |
3781 "\"color\"", | |
3782 "\"field\"", | |
3783 "\"variable\"", | |
3784 "\"default\"", | |
3785 "\"prompt\"", | |
3786 "\"explanation\"", | |
3787 "\"button\"", | |
3788 "formula element", | |
3789 "", | |
3790 "", | |
3791 "", | |
3792 "", | |
3793 "", | |
3794 "", | |
3795 "eol", | |
3796 "paren string", | |
3797 "string literal", | |
3798 "literal", | |
3799 "']'", | |
3800 "'['", | |
3801 "'#'", | |
3802 "'}'", | |
3803 "'{'", | |
3804 "'<'", | |
3805 "'|'", | |
3806 "'>'", | |
3807 "\">>\"", | |
3808 "\"else\"", | |
3809 "')'", | |
3810 "'('", | |
3811 "\"if\"", | |
3812 "'='", | |
3813 "';'", | |
3814 "'@'", | |
3815 "\"while\"", | |
3816 "\"do\"", | |
3817 "\"in\"", | |
3818 "\"for\"", | |
3819 "literals", | |
3820 "\"action\"", | |
3821 "\"int\"", | |
3822 "\"string\"", | |
3823 "':'", | |
3824 "'\\?'", | |
3825 "\"||\"", | |
3826 "\"&&\"", | |
3827 "'^'", | |
3828 "'&'", | |
3829 "\"==\"", | |
3830 "\"!=\"", | |
3831 "\"<=\"", | |
3832 "\">=\"", | |
3833 "\"<<\"", | |
3834 "'+'", | |
3835 "'-'", | |
3836 "'*'", | |
3837 "'/'", | |
3838 "'%'", | |
3839 "'~'", | |
3840 "'!'", | |
3841 "integer constant", | |
3842 "character constant", | |
3843 "\"..\"", | |
3844 "\"screen\"", | |
3845 "\"title\"", | |
3846 "\"entry\"", | |
3847 "\"highlight\"", | |
3848 "','", | |
3849 "\"size\"", | |
3850 "\"location\"", | |
3851 "\"color\"", | |
3852 "\"field\"", | |
3853 "\"variable\"", | |
3854 "\"default\"", | |
3855 "\"prompt\"", | |
3856 "\"explanation\"", | |
3857 "\"button\"", | |
3858 "", | |
3859 "", | |
3860 | |
3861 }; | |
3862 | |
3863 #ifndef MISSING_FORMAT | |
3864 #define MISSING_FORMAT "Missing %s" | |
3865 #endif | |
3866 #ifndef UNEXPECTED_FORMAT | |
3867 #define UNEXPECTED_FORMAT "Unexpected %s" | |
3868 #endif | |
3869 #ifndef UNNAMED_TOKEN | |
3870 #define UNNAMED_TOKEN "input" | |
3871 #endif | |
3872 | |
3873 | |
3874 static void ag_diagnose(void) { | |
3875 int ag_snd = (PCB).sn; | |
3876 int ag_k = ag_sbt[ag_snd]; | |
3877 | |
3878 if (*TOKEN_NAMES[ag_tstt[ag_k]] && ag_astt[ag_k + 1] == ag_action_8) { | |
3879 sprintf((PCB).ag_msg, MISSING_FORMAT, TOKEN_NAMES[ag_tstt[ag_k]]); | |
3880 } | |
3881 else if (ag_astt[ag_sbe[(PCB).sn]] == ag_action_8 | |
3882 && (ag_k = (int) ag_sbe[(PCB).sn] + 1) == (int) ag_sbt[(PCB).sn+1] - 1 | |
3883 && *TOKEN_NAMES[ag_tstt[ag_k]]) { | |
3884 sprintf((PCB).ag_msg, MISSING_FORMAT, TOKEN_NAMES[ag_tstt[ag_k]]); | |
3885 } | |
3886 else if ((PCB).token_number && *TOKEN_NAMES[(PCB).token_number]) { | |
3887 sprintf((PCB).ag_msg, UNEXPECTED_FORMAT, TOKEN_NAMES[(PCB).token_number]); | |
3888 } | |
3889 else if (isprint(INPUT_CODE((*(PCB).pointer))) && INPUT_CODE((*(PCB).pointer)) != '\\') { | |
3890 char buf[20]; | |
3891 sprintf(buf, "\'%c\'", (char) INPUT_CODE((*(PCB).pointer))); | |
3892 sprintf((PCB).ag_msg, UNEXPECTED_FORMAT, buf); | |
3893 } | |
3894 else sprintf((PCB).ag_msg, UNEXPECTED_FORMAT, UNNAMED_TOKEN); | |
3895 (PCB).error_message = (PCB).ag_msg; | |
3896 | |
3897 | |
3898 } | |
3899 static int ag_action_1_r_proc(void); | |
3900 static int ag_action_2_r_proc(void); | |
3901 static int ag_action_3_r_proc(void); | |
3902 static int ag_action_4_r_proc(void); | |
3903 static int ag_action_1_s_proc(void); | |
3904 static int ag_action_3_s_proc(void); | |
3905 static int ag_action_1_proc(void); | |
3906 static int ag_action_2_proc(void); | |
3907 static int ag_action_3_proc(void); | |
3908 static int ag_action_4_proc(void); | |
3909 static int ag_action_5_proc(void); | |
3910 static int ag_action_6_proc(void); | |
3911 static int ag_action_7_proc(void); | |
3912 static int ag_action_8_proc(void); | |
3913 static int ag_action_9_proc(void); | |
3914 static int ag_action_10_proc(void); | |
3915 static int ag_action_11_proc(void); | |
3916 static int ag_action_8_proc(void); | |
3917 | |
3918 | |
3919 static int (*const ag_r_procs_scan[])(void) = { | |
3920 ag_action_1_r_proc, | |
3921 ag_action_2_r_proc, | |
3922 ag_action_3_r_proc, | |
3923 ag_action_4_r_proc | |
3924 }; | |
3925 | |
3926 static int (*const ag_s_procs_scan[])(void) = { | |
3927 ag_action_1_s_proc, | |
3928 ag_action_2_r_proc, | |
3929 ag_action_3_s_proc, | |
3930 ag_action_4_r_proc | |
3931 }; | |
3932 | |
3933 static int (*const ag_gt_procs_scan[])(void) = { | |
3934 ag_action_1_proc, | |
3935 ag_action_2_proc, | |
3936 ag_action_3_proc, | |
3937 ag_action_4_proc, | |
3938 ag_action_5_proc, | |
3939 ag_action_6_proc, | |
3940 ag_action_7_proc, | |
3941 ag_action_8_proc, | |
3942 ag_action_9_proc, | |
3943 ag_action_10_proc, | |
3944 ag_action_11_proc, | |
3945 ag_action_8_proc | |
3946 }; | |
3947 | |
3948 | |
3949 static int ag_action_10_proc(void) { | |
3950 int ag_t = (PCB).token_number; | |
3951 (PCB).btsx = 0, (PCB).drt = -1; | |
3952 do { | |
3953 ag_track(); | |
3954 (PCB).token_number = (dsl_token_type) AG_TCV(INPUT_CODE(*(PCB).la_ptr)); | |
3955 (PCB).la_ptr++; | |
3956 if (ag_key_index[(PCB).sn]) { | |
3957 unsigned ag_k = ag_key_index[(PCB).sn]; | |
3958 int ag_ch = CONVERT_CASE(INPUT_CODE(*(PCB).pointer)); | |
3959 if (ag_ch <= 255) { | |
3960 while (ag_key_ch[ag_k] < ag_ch) ag_k++; | |
3961 if (ag_key_ch[ag_k] == ag_ch) ag_get_key_word(ag_k); | |
3962 } | |
3963 } | |
3964 } while ((PCB).token_number == (dsl_token_type) ag_t); | |
3965 (PCB).la_ptr = (PCB).pointer; | |
3966 return 1; | |
3967 } | |
3968 | |
3969 static int ag_action_11_proc(void) { | |
3970 int ag_t = (PCB).token_number; | |
3971 | |
3972 (PCB).btsx = 0, (PCB).drt = -1; | |
3973 do { | |
3974 (*(int *) &(PCB).vs[(PCB).ssx]) = *(PCB).pointer; | |
3975 (PCB).ssx--; | |
3976 ag_track(); | |
3977 ag_ra(); | |
3978 if ((PCB).exit_flag != AG_RUNNING_CODE) return 0; | |
3979 (PCB).ssx++; | |
3980 (PCB).token_number = (dsl_token_type) AG_TCV(INPUT_CODE(*(PCB).la_ptr)); | |
3981 (PCB).la_ptr++; | |
3982 if (ag_key_index[(PCB).sn]) { | |
3983 unsigned ag_k = ag_key_index[(PCB).sn]; | |
3984 int ag_ch = CONVERT_CASE(INPUT_CODE(*(PCB).pointer)); | |
3985 if (ag_ch <= 255) { | |
3986 while (ag_key_ch[ag_k] < ag_ch) ag_k++; | |
3987 if (ag_key_ch[ag_k] == ag_ch) ag_get_key_word(ag_k); | |
3988 } | |
3989 } | |
3990 } | |
3991 while ((PCB).token_number == (dsl_token_type) ag_t); | |
3992 (PCB).la_ptr = (PCB).pointer; | |
3993 return 1; | |
3994 } | |
3995 | |
3996 static int ag_action_3_r_proc(void) { | |
3997 int ag_sd = ag_fl[(PCB).ag_ap] - 1; | |
3998 if (ag_sd) (PCB).sn = (PCB).ss[(PCB).ssx -= ag_sd]; | |
3999 (PCB).btsx = 0, (PCB).drt = -1; | |
4000 (PCB).reduction_token = (dsl_token_type) ag_ptt[(PCB).ag_ap]; | |
4001 ag_ra(); | |
4002 return (PCB).exit_flag == AG_RUNNING_CODE; | |
4003 } | |
4004 | |
4005 static int ag_action_3_s_proc(void) { | |
4006 int ag_sd = ag_fl[(PCB).ag_ap] - 1; | |
4007 if (ag_sd) (PCB).sn = (PCB).ss[(PCB).ssx -= ag_sd]; | |
4008 (PCB).btsx = 0, (PCB).drt = -1; | |
4009 (PCB).reduction_token = (dsl_token_type) ag_ptt[(PCB).ag_ap]; | |
4010 ag_ra(); | |
4011 return (PCB).exit_flag == AG_RUNNING_CODE; | |
4012 } | |
4013 | |
4014 static int ag_action_4_r_proc(void) { | |
4015 int ag_sd = ag_fl[(PCB).ag_ap] - 1; | |
4016 if (ag_sd) (PCB).sn = (PCB).ss[(PCB).ssx -= ag_sd]; | |
4017 (PCB).reduction_token = (dsl_token_type) ag_ptt[(PCB).ag_ap]; | |
4018 return 1; | |
4019 } | |
4020 | |
4021 static int ag_action_2_proc(void) { | |
4022 (PCB).btsx = 0, (PCB).drt = -1; | |
4023 if ((PCB).ssx >= 128) { | |
4024 (PCB).exit_flag = AG_STACK_ERROR_CODE; | |
4025 PARSER_STACK_OVERFLOW; | |
4026 } | |
4027 (*(int *) &(PCB).vs[(PCB).ssx]) = *(PCB).pointer; | |
4028 GET_CONTEXT; | |
4029 (PCB).ss[(PCB).ssx] = (PCB).sn; | |
4030 (PCB).ssx++; | |
4031 (PCB).sn = (PCB).ag_ap; | |
4032 ag_track(); | |
4033 return 0; | |
4034 } | |
4035 | |
4036 static int ag_action_9_proc(void) { | |
4037 if ((PCB).drt == -1) { | |
4038 (PCB).drt=(PCB).token_number; | |
4039 (PCB).dssx=(PCB).ssx; | |
4040 (PCB).dsn=(PCB).sn; | |
4041 } | |
4042 ag_prot(); | |
4043 (PCB).vs[(PCB).ssx] = ag_null_value; | |
4044 GET_CONTEXT; | |
4045 (PCB).ss[(PCB).ssx] = (PCB).sn; | |
4046 (PCB).ssx++; | |
4047 (PCB).sn = (PCB).ag_ap; | |
4048 (PCB).la_ptr = (PCB).pointer; | |
4049 return (PCB).exit_flag == AG_RUNNING_CODE; | |
4050 } | |
4051 | |
4052 static int ag_action_2_r_proc(void) { | |
4053 (PCB).ssx++; | |
4054 (PCB).sn = (PCB).ag_ap; | |
4055 return 0; | |
4056 } | |
4057 | |
4058 static int ag_action_7_proc(void) { | |
4059 --(PCB).ssx; | |
4060 (PCB).la_ptr = (PCB).pointer; | |
4061 (PCB).exit_flag = AG_SUCCESS_CODE; | |
4062 return 0; | |
4063 } | |
4064 | |
4065 static int ag_action_1_proc(void) { | |
4066 ag_track(); | |
4067 (PCB).exit_flag = AG_SUCCESS_CODE; | |
4068 return 0; | |
4069 } | |
4070 | |
4071 static int ag_action_1_r_proc(void) { | |
4072 (PCB).exit_flag = AG_SUCCESS_CODE; | |
4073 return 0; | |
4074 } | |
4075 | |
4076 static int ag_action_1_s_proc(void) { | |
4077 (PCB).exit_flag = AG_SUCCESS_CODE; | |
4078 return 0; | |
4079 } | |
4080 | |
4081 static int ag_action_4_proc(void) { | |
4082 int ag_sd = ag_fl[(PCB).ag_ap] - 1; | |
4083 (PCB).reduction_token = (dsl_token_type) ag_ptt[(PCB).ag_ap]; | |
4084 (PCB).btsx = 0, (PCB).drt = -1; | |
4085 (*(int *) &(PCB).vs[(PCB).ssx]) = *(PCB).pointer; | |
4086 if (ag_sd) (PCB).sn = (PCB).ss[(PCB).ssx -= ag_sd]; | |
4087 else GET_CONTEXT; | |
4088 (PCB).ss[(PCB).ssx] = (PCB).sn; | |
4089 ag_track(); | |
4090 while ((PCB).exit_flag == AG_RUNNING_CODE) { | |
4091 unsigned ag_t1 = ag_sbe[(PCB).sn] + 1; | |
4092 unsigned ag_t2 = ag_sbt[(PCB).sn+1] - 1; | |
4093 do { | |
4094 unsigned ag_tx = (ag_t1 + ag_t2)/2; | |
4095 if (ag_tstt[ag_tx] < (unsigned short)(PCB).reduction_token) ag_t1 = ag_tx + 1; | |
4096 else ag_t2 = ag_tx; | |
4097 } while (ag_t1 < ag_t2); | |
4098 if (ag_tstt[ag_t1] != (PCB).reduction_token) { | |
4099 (PCB).exit_flag = AG_REDUCTION_ERROR_CODE; | |
4100 REDUCTION_TOKEN_ERROR; break;} | |
4101 (PCB).ag_ap = ag_pstt[ag_t1]; | |
4102 if ((ag_s_procs_scan[ag_astt[ag_t1]])() == 0) break; | |
4103 } | |
4104 return 0; | |
4105 } | |
4106 | |
4107 static int ag_action_3_proc(void) { | |
4108 int ag_sd = ag_fl[(PCB).ag_ap] - 1; | |
4109 (PCB).btsx = 0, (PCB).drt = -1; | |
4110 (*(int *) &(PCB).vs[(PCB).ssx]) = *(PCB).pointer; | |
4111 if (ag_sd) (PCB).sn = (PCB).ss[(PCB).ssx -= ag_sd]; | |
4112 else GET_CONTEXT; | |
4113 (PCB).ss[(PCB).ssx] = (PCB).sn; | |
4114 ag_track(); | |
4115 (PCB).reduction_token = (dsl_token_type) ag_ptt[(PCB).ag_ap]; | |
4116 ag_ra(); | |
4117 while ((PCB).exit_flag == AG_RUNNING_CODE) { | |
4118 unsigned ag_t1 = ag_sbe[(PCB).sn] + 1; | |
4119 unsigned ag_t2 = ag_sbt[(PCB).sn+1] - 1; | |
4120 do { | |
4121 unsigned ag_tx = (ag_t1 + ag_t2)/2; | |
4122 if (ag_tstt[ag_tx] < (unsigned short)(PCB).reduction_token) ag_t1 = ag_tx + 1; | |
4123 else ag_t2 = ag_tx; | |
4124 } while (ag_t1 < ag_t2); | |
4125 if (ag_tstt[ag_t1] != (PCB).reduction_token) { | |
4126 (PCB).exit_flag = AG_REDUCTION_ERROR_CODE; | |
4127 REDUCTION_TOKEN_ERROR; break;} | |
4128 (PCB).ag_ap = ag_pstt[ag_t1]; | |
4129 if ((ag_s_procs_scan[ag_astt[ag_t1]])() == 0) break; | |
4130 } | |
4131 return 0; | |
4132 } | |
4133 | |
4134 static int ag_action_8_proc(void) { | |
4135 ag_undo(); | |
4136 (PCB).la_ptr = (PCB).pointer; | |
4137 (PCB).exit_flag = AG_SYNTAX_ERROR_CODE; | |
4138 ag_diagnose(); | |
4139 SYNTAX_ERROR; | |
4140 {(PCB).la_ptr = (PCB).pointer + 1; ag_track();} | |
4141 return (PCB).exit_flag == AG_RUNNING_CODE; | |
4142 } | |
4143 | |
4144 static int ag_action_5_proc(void) { | |
4145 int ag_sd = ag_fl[(PCB).ag_ap]; | |
4146 (PCB).btsx = 0, (PCB).drt = -1; | |
4147 if (ag_sd) (PCB).sn = (PCB).ss[(PCB).ssx -= ag_sd]; | |
4148 else { | |
4149 GET_CONTEXT; | |
4150 (PCB).ss[(PCB).ssx] = (PCB).sn; | |
4151 } | |
4152 (PCB).la_ptr = (PCB).pointer; | |
4153 (PCB).reduction_token = (dsl_token_type) ag_ptt[(PCB).ag_ap]; | |
4154 ag_ra(); | |
4155 while ((PCB).exit_flag == AG_RUNNING_CODE) { | |
4156 unsigned ag_t1 = ag_sbe[(PCB).sn] + 1; | |
4157 unsigned ag_t2 = ag_sbt[(PCB).sn+1] - 1; | |
4158 do { | |
4159 unsigned ag_tx = (ag_t1 + ag_t2)/2; | |
4160 if (ag_tstt[ag_tx] < (unsigned short)(PCB).reduction_token) ag_t1 = ag_tx + 1; | |
4161 else ag_t2 = ag_tx; | |
4162 } while (ag_t1 < ag_t2); | |
4163 if (ag_tstt[ag_t1] != (PCB).reduction_token) { | |
4164 (PCB).exit_flag = AG_REDUCTION_ERROR_CODE; | |
4165 REDUCTION_TOKEN_ERROR; break;} | |
4166 (PCB).ag_ap = ag_pstt[ag_t1]; | |
4167 if ((ag_r_procs_scan[ag_astt[ag_t1]])() == 0) break; | |
4168 } | |
4169 return (PCB).exit_flag == AG_RUNNING_CODE; | |
4170 } | |
4171 | |
4172 static int ag_action_6_proc(void) { | |
4173 int ag_sd = ag_fl[(PCB).ag_ap]; | |
4174 (PCB).reduction_token = (dsl_token_type) ag_ptt[(PCB).ag_ap]; | |
4175 if ((PCB).drt == -1) { | |
4176 (PCB).drt=(PCB).token_number; | |
4177 (PCB).dssx=(PCB).ssx; | |
4178 (PCB).dsn=(PCB).sn; | |
4179 } | |
4180 if (ag_sd) { | |
4181 (PCB).sn = (PCB).ss[(PCB).ssx -= ag_sd]; | |
4182 } | |
4183 else { | |
4184 ag_prot(); | |
4185 (PCB).vs[(PCB).ssx] = ag_null_value; | |
4186 GET_CONTEXT; | |
4187 (PCB).ss[(PCB).ssx] = (PCB).sn; | |
4188 } | |
4189 (PCB).la_ptr = (PCB).pointer; | |
4190 while ((PCB).exit_flag == AG_RUNNING_CODE) { | |
4191 unsigned ag_t1 = ag_sbe[(PCB).sn] + 1; | |
4192 unsigned ag_t2 = ag_sbt[(PCB).sn+1] - 1; | |
4193 do { | |
4194 unsigned ag_tx = (ag_t1 + ag_t2)/2; | |
4195 if (ag_tstt[ag_tx] < (unsigned short)(PCB).reduction_token) ag_t1 = ag_tx + 1; | |
4196 else ag_t2 = ag_tx; | |
4197 } while (ag_t1 < ag_t2); | |
4198 if (ag_tstt[ag_t1] != (PCB).reduction_token) { | |
4199 (PCB).exit_flag = AG_REDUCTION_ERROR_CODE; | |
4200 REDUCTION_TOKEN_ERROR; break;} | |
4201 (PCB).ag_ap = ag_pstt[ag_t1]; | |
4202 if ((ag_r_procs_scan[ag_astt[ag_t1]])() == 0) break; | |
4203 } | |
4204 return (PCB).exit_flag == AG_RUNNING_CODE; | |
4205 } | |
4206 | |
4207 | |
4208 void init_dsl(void) { | |
4209 (PCB).la_ptr = (PCB).pointer; | |
4210 (PCB).ss[0] = (PCB).sn = (PCB).ssx = 0; | |
4211 (PCB).exit_flag = AG_RUNNING_CODE; | |
4212 (PCB).line = FIRST_LINE; | |
4213 (PCB).column = FIRST_COLUMN; | |
4214 (PCB).btsx = 0, (PCB).drt = -1; | |
4215 } | |
4216 | |
4217 void dsl(void) { | |
4218 init_dsl(); | |
4219 (PCB).exit_flag = AG_RUNNING_CODE; | |
4220 while ((PCB).exit_flag == AG_RUNNING_CODE) { | |
4221 unsigned ag_t1 = ag_sbt[(PCB).sn]; | |
4222 if (ag_tstt[ag_t1]) { | |
4223 unsigned ag_t2 = ag_sbe[(PCB).sn] - 1; | |
4224 (PCB).token_number = (dsl_token_type) AG_TCV(INPUT_CODE(*(PCB).la_ptr)); | |
4225 (PCB).la_ptr++; | |
4226 if (ag_key_index[(PCB).sn]) { | |
4227 unsigned ag_k = ag_key_index[(PCB).sn]; | |
4228 int ag_ch = CONVERT_CASE(INPUT_CODE(*(PCB).pointer)); | |
4229 if (ag_ch <= 255) { | |
4230 while (ag_key_ch[ag_k] < ag_ch) ag_k++; | |
4231 if (ag_key_ch[ag_k] == ag_ch) ag_get_key_word(ag_k); | |
4232 } | |
4233 } | |
4234 do { | |
4235 unsigned ag_tx = (ag_t1 + ag_t2)/2; | |
4236 if (ag_tstt[ag_tx] > (unsigned short)(PCB).token_number) | |
4237 ag_t1 = ag_tx + 1; | |
4238 else ag_t2 = ag_tx; | |
4239 } while (ag_t1 < ag_t2); | |
4240 if (ag_tstt[ag_t1] != (unsigned short)(PCB).token_number) | |
4241 ag_t1 = ag_sbe[(PCB).sn]; | |
4242 } | |
4243 (PCB).ag_ap = ag_pstt[ag_t1]; | |
4244 (ag_gt_procs_scan[ag_astt[ag_t1]])(); | |
4245 } | |
4246 } | |
4247 | |
4248 |