1 // CGrammarRule, CTerminalRule, CWildcardRule classes
2 // Copyright © 2009 The University of Chicago
8 class CGrammarRule
: public CParse
16 virtual ~CGrammarRule();
18 virtual CStringSurrogate
GetLHS();
19 virtual CParse
GetRHS();
20 virtual QString
Display();
22 virtual bool isTerminal() { return FALSE
; }
24 void SetSortIndex( int n
) { m_SortIndex
= n
; }
25 int GetSortIndex() const { return m_SortIndex
; }
26 void SetIndex( int n
) { m_Index
= n
; }
27 int GetIndex() const { return m_Index
; }
32 //==========================================
34 class CTerminalRule
: public CGrammarRule
40 CTerminalRule( QString leftSide
);
41 virtual ~CTerminalRule();
43 virtual CStringSurrogate
GetLHS();
44 virtual CParse
GetRHS();
45 virtual QString
Display();
47 virtual bool isTerminal() { return TRUE
; }
52 //==========================================
54 class CWildCardRule
: public CGrammarRule
60 CWildCardRule( QString
, int );
61 virtual ~CWildCardRule();
63 virtual CStringSurrogate
GetLHS();
64 virtual CParse
GetRHS();
65 virtual QString
Display();
67 virtual bool isTerminal() { return TRUE
; }
70 #endif // #define GRAMMARRULE_H