1 ///////////////////////////////////////////////////////////////////////////////
2 // This file is generated automatically using Prop (version 2.3.5),
3 // last updated on Jun 18, 1997.
4 // The original source file is "phase1.ph".
5 ///////////////////////////////////////////////////////////////////////////////
7 #define PROP_REWRITING_USED
8 #define PROP_STRCMP_USED
9 #define PROP_QUARK_USED
10 #define PROP_TUPLE2_USED
18 ///////////////////////////////////////////////////////////////////////////////
20 // This class implements the DNF construction and simplification phase
22 ///////////////////////////////////////////////////////////////////////////////
25 class Phase1
: public BURS
, virtual public PaigeGoyal
{
27 Phase1(const Phase1
&); // no copy constructor
28 void operator = (const Phase1
&); // no assignment
30 struct Phase1_StateRec
* stack__
, * stack_top__
;
32 void labeler(const char *, int&, int);
33 void labeler(Quark
, int&, int);
34 void labeler(a_List
<Id
> * & redex
, int&, int);
35 inline virtual void operator () (a_List
<Id
> * & redex
) { int s
; labeler(redex
,s
,0); }
36 void labeler(Exp
& redex
, int&, int);
37 inline virtual void operator () (Exp
& redex
) { int s
; labeler(redex
,s
,0); }
38 void labeler(a_List
<Exp
> * & redex
, int&, int);
39 inline virtual void operator () (a_List
<Exp
> * & redex
) { int s
; labeler(redex
,s
,0); }
40 void labeler(Literal
& redex
, int&, int);
41 inline virtual void operator () (Literal
& redex
) { int s
; labeler(redex
,s
,0); }
49 virtual Exp
phase1(Exp
);
59 ------------------------------- Statistics -------------------------------
60 Merge matching rules = yes
61 Number of DFA nodes merged = 0
62 Number of ifs generated = 0
63 Number of switches generated = 0
66 Adaptive matching = disabled
67 Fast string matching = disabled
68 Inline downcasts = disabled
69 --------------------------------------------------------------------------