comparison anagram/agcore/bpe3.h @ 0:13d2b8934445

Import AnaGram (near-)release tree into Mercurial.
author David A. Holland
date Sat, 22 Dec 2007 17:52:45 -0500
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:13d2b8934445
1 /*
2 * AnaGram, A System for Syntax Directed Programming
3 * Copyright 1993-2002 Parsifal Software. All Rights Reserved.
4 * See the file COPYING for license and usage terms.
5 *
6 * bpe3.h - build parse engine, rev. 3
7 */
8
9 #ifndef BPE3_H
10 #define BPE3_H
11
12 struct string_dict; // from dict.h
13 struct CSegment; // from rproc.h
14 #include "agstack.h"
15
16
17 typedef enum {
18 pe_shift_accept,
19 pe_go_to,
20 pe_shift_reduce,
21 pe_shift_simple_reduce,
22 pe_reduce_form,
23 pe_simple_reduce,
24 pe_accept,
25 pe_syn_error,
26 pe_null_go_to,
27 pe_skip,
28 pe_skip_reduce,
29 pe_recover
30 } pe_parser_action;
31
32 extern AgStack<CSegment> extensionStack;
33 extern AgStack<CSegment> cSegmentStack;
34 extern int nPrologueSegments;
35
36 extern string_dict *my_macros;
37 extern int pe_line_count;
38 extern char buildErrorMsg[];
39 extern char *my_macros_subs[];
40
41 void build_parse_table(void);
42 void build_parse_engine(void);
43
44 #endif /* BPE3_H */