CMiniLexicon::FindMajorSignatures(): use log file routines
[linguistica.git] / GrammarRule.h
blob5778f1a7de64f522e3d6668b72b9993de10d89f9
1 // CGrammarRule, CTerminalRule, CWildcardRule classes
2 // Copyright © 2009 The University of Chicago
3 #ifndef GRAMMARRULE_H
4 #define GRAMMARRULE_H
6 #include "Parse.h"
8 class CGrammarRule : public CParse
10 protected:
11 int m_SortIndex;
12 int m_Index;
14 public:
15 CGrammarRule();
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; }
31 // Terminal Rule
32 //==========================================
34 class CTerminalRule : public CGrammarRule
36 protected:
37 CParse m_leftSide;
39 public:
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; }
51 // Wild Card Rule
52 //==========================================
54 class CWildCardRule : public CGrammarRule
56 protected:
57 int m_Width;
59 public:
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