simple.cc - generated code example
[prop.git] / prop-src / aggen.h
blobf833d53accd1e5c5934a270661f4f2a6c70474c5
1 ///////////////////////////////////////////////////////////////////////////////
2 // This file is generated automatically using Prop (version 2.3.6),
3 // last updated on Nov 2, 1999.
4 // The original source file is "aggen.ph".
5 ///////////////////////////////////////////////////////////////////////////////
7 #line 1 "aggen.ph"
8 ///////////////////////////////////////////////////////////////////////////////
9 //
10 // This file contains the definitions used in the attribute
11 // grammar generator.
13 ///////////////////////////////////////////////////////////////////////////////
14 #ifndef attribute_grammar_h
15 #define attribute_grammar_h
17 #include "basics.h"
18 #include "ir.h"
19 #include "codegen.h"
20 #include "classdef.h"
21 #include "parsegen.h"
23 ///////////////////////////////////////////////////////////////////////////////
25 // Class to represent an attribute grammar class
27 ///////////////////////////////////////////////////////////////////////////////
28 class AttributeGrammarClass : public SyntaxClass
29 { AttributeGrammarClass(const AttributeGrammarClass&);
30 void operator = (const AttributeGrammarClass&);
31 public:
32 AttributeGrammarClass(Id, Inherits, TyQual, Decls);
33 ~AttributeGrammarClass();
34 virtual void gen_class_interface(CodeGen&);
35 virtual void gen_class_implementation(CodeGen&, Tys, DefKind);
38 ///////////////////////////////////////////////////////////////////////////////
40 // Definition of the attribute grammar compiler
42 ///////////////////////////////////////////////////////////////////////////////
43 class AttributeGrammarCompiler : virtual public ParserCompiler {
45 // no copy constructor
46 AttributeGrammarCompiler(const AttributeGrammarCompiler&);
47 void operator = (const AttributeGrammarCompiler&); // no assignment
49 public:
51 AttributeGrammarCompiler();
52 ~AttributeGrammarCompiler();
54 void gen_attribute_grammar(Id, GramExp);
57 #endif
58 #line 51 "aggen.ph"
60 ------------------------------- Statistics -------------------------------
61 Merge matching rules = yes
62 Number of DFA nodes merged = 0
63 Number of ifs generated = 0
64 Number of switches generated = 0
65 Number of labels = 0
66 Number of gotos = 0
67 Adaptive matching = enabled
68 Fast string matching = disabled
69 Inline downcasts = enabled
70 --------------------------------------------------------------------------