summaryrefslogtreecommitdiff
path: root/examples/CLE/English.cf
blob: a267736e1b9aee828634dbeeecf338aa2616f2c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
-- SLT book, chapter 9

-- p. 164

utterance_phrase.      UTTERANCE ::= PHRASE ;
utterance_conj_phrase. UTTERANCE ::= CONJ PHRASE ;
utterance_whatabout.   UTTERANCE ::= "what" "about" PHRASE ;
utterance_howabout.    UTTERANCE ::= "how" "about" PHRASE ;

phrase_pp.   PHRASE ::= PP ;
phrase_advp. PHRASE ::= ADVP ;
phrase_np.   PHRASE ::= NP ;

utterance_s_imp.      UTTERANCE ::= S_imp ;
utterance_s_moved.    UTTERANCE ::= S_moved ;
utterance_s_q.        UTTERANCE ::= S_q ;
utterance_s_norm_inv. UTTERANCE ::= S_norm_inv ;
utterance_s_norm.     UTTERANCE ::= S_norm ;

-- p. 162

s_norm_NP_VP. S_norm ::= NP_norm VP ; -- these 3 are 1 in CLE
s_q_NP_VP.    S_q    ::= NP_q    VP ;
s_r_NP_VP.    S_r    ::= NP_r    VP ;

s_imp_NP_VP.  S_imp  ::= NP_imp  VP ;

s_advp_s. S ::= ADVP_sent S ; 
s_s_advp. S ::= S ADVP_sent ;
s_conj_s. S ::= S CONJ S ;

-- p. 163: 6 wh-move-rules

-- p. 160

vp_vp_pp.    VP ::= VP PP ;
vp_vp_advp.  VP ::= VP ADVP ;
vp_advp_vp.  VP ::= ADVP VP ;
advp_vp_ing. ADVP ::= VP_ing ;
advp_vp_to.  ADVP ::= VP_to ;
vp_conj_vp.  VP ::= VP CONJ VP ;
vp_not_vp.   VP ::= "not" VP ;

np_gaps.   NP_gaps ::= ;
pp_gaps.   PP_gaps ::= ;
adjp_gaps. ADJP_gaps ::= ;
advp_gaps. ADVP_gaps ::= ;

-- p. 157

vp_be_comp. VP ::= V_be COMP ;       -- 1 rule VP ::= V COMPS
vp_tr.      VP ::= V_tr NP ;  
vp_ditr.    VP ::= V_ditr NP NP ;
vp_intr.    VP ::= V_intr ;
vp_mod.     VP ::= V_mod VP ; -- would, could, can, may, will
vp_do.      VP ::= V_do VP ;
vp_be_pass. VP ::= V_be VP_pass ;
vp_be_ing.  VP ::= V_be VP_ing ;
vp_part.    VP ::= V_part ;   -- particle verb
vp_s.       VP ::= V_s S ;
vp_vp_to.   VP ::= V_vp VP_to  ; -- "how much does it cost to fly..."
vp_ditrq.   VP ::= V_ditrq NP S_q ;
vp_ditrpp.  VP ::= V_ditrpp NP PP ;
vp_trq.     VP ::= V_trq S_q ;

-- p. 159

comp_np.   COMP ::= NP ;
comp_adjp. COMP ::= ADJP ;
comp_pp.   COMP ::= PP ;

-- p. 156

pp_pp. PP ::= PP PP ; -- big PP --- unnecessary ambiguity?

pp_p_np.        PP ::= P NP ;
pp_np_temporal. PP ::= NP_temporal ;
pp_name_p_name. PP ::= NP_name P NP_name ; -- Baltimore to Philadelpia
pp_conj_pp.     PP ::= PP CONJ PP ;

-- p. 157; the numeral rules are not shown

number_digit.    NUMBER   ::= DIGIT ;   --- and more
ordinal_first.   ORDINAL  ::= "first" ; --- and more
code_digit.      CODE     ::= DIGIT ;
code_digit_code. CODE     ::= DIGIT CODE ;

digit_1.  DIGIT ::= "one" ;
digit_2.  DIGIT ::= "two" ;
digit_3.  DIGIT ::= "three" ;
digit_4.  DIGIT ::= "four" ;
digit_5.  DIGIT ::= "five" ;
digit_6.  DIGIT ::= "six" ;
digit_7.  DIGIT ::= "seven" ;
digit_8.  DIGIT ::= "eight" ;
digit_9.  DIGIT ::= "nine" ;
digit_0.  DIGIT ::= "zero" ;

-- p. 154 "recursive NPs"

np_np_pp.  NP ::= NP PP ;
np_np_rel. NP ::= NP REL ;

np_np_vp_ing.  NP ::= NP VP_ing ; -- these 2 are 1 with \/
np_np_vp_pass. NP ::= NP VP_pass ;

np_np_adjp.    NP ::= NP ADJP_post ;  --- restr. acc to text

rel_s_rel.  REL ::= S_r ;
rel_s_norm. REL ::= S_normal_gap ; --- type normal=norm ?? 
--- they cannot be showing their real code here

adjp_nocomp. ADJP ::= ADJ_nocomp ;  -- ADJP ::= ADJ COMPS
adjp_pp.     ADJP ::= ADJ_pp PP ;   -- only "available" in corpus

np_conj_np. NP ::= NP CONJ NP ;  --- curious analysis of conj lists...
np_np_np.   NP ::= NP NP ;       -- Boston Atlanta and Denver 

s_vp_inf.   S_norm ::= VP_inf ; -- "to get from X to Y (is...)"
np_s_q.     NP ::= S_q ;        -- "what city they stop in (is...)"
np_s_norm.  NP ::= S_norm ;     
np_compl_s. NP ::= COMPLEMENTISER S_norm ; --- they don't tell what CO... is

np_np_code. NP ::= NP CODE ;  --- unnec. source of ambiguity


-- p. 150

np_det_nbar. NP ::= DET NBAR ;
np_nbar.     NP ::= NBAR ;     -- "information", "travel arrangements"

nbar_adjp_nbar. NBAR ::= ADJP NBAR ;
nbar_nbar_nbar. NBAR ::= NBAR NBAR ; --- unnec. ambiguity
nbar_name_nbar. NBAR ::= NP_name NBAR ; -- "Delta flights"
nbar_conj_nbar. NBAR ::= NBAR CONJ NBAR ;

adjp_most_adj.       ADJP ::= "most" ADJ ;
adjp_least_adj.      ADJP ::= "least" ADJ ;
ordinal_adjp_superl. ORDINAL ::= ADJP_superlative ;

det_the_ordinal. DET ::= "the" ORDINAL ;
det_ordinal.     DET ::= ORDINAL ;  -- common in spoken language
det_predet_det.  DET ::= PREDET DET ;
det_numer.       DET ::= NUMBER ;               --- NUMBER in book
det_less_than.   DET ::= "less" "than" NUMBER ; --- NUMBER
det_more_than.   DET ::= "more" "than" NUMBER ; --- NUMBER
det_possessive.  DET ::= POSSESSIVE ;


-- p. 152 time and date NPs not given

np_code.      NP ::= CODE ;
np_nbar_code. NP ::= NBAR CODE ;

--- CODE ::= NUMBER already covered above
--  letter codes added from corpus

np_det. NP ::= DET_bare ; -- any, which, one, both, the same, the latest,...

nbar_comp. NBAR ::= NBAR_of "of" NBAR ; -- only ex of NBAR COMP; (kind | type) of plane


-- lexicon; picked from examples and explanations

possessive_my. POSSESSIVE ::= "my" ;

predet_all.  PREDET ::= "all" ; 
predet_only. PREDET ::= "only" ;
predet_just. PREDET ::= "just" ;

nbar_flight.   NBAR ::= "flight" ;
nbar_aircraft. NBAR ::= "aircraft" ;

name_Delta.    NP_name ::= "Delta" ;
name_Dallas.   NP_name ::= "Dallas" ;
name_Boston.   NP_name ::= "Boston" ;

conj_and.  CONJ ::= "and" ;

det_any.  DET_bare ::= "any" ;

v_is.    V_be   ::= "is" ;
v_leave. V_intr ::= "leaves" ;
v_have. V_tr   ::= "has" ;

nbar_of_type. NBAR_of ::= "type" ;

adj_cheap. ADJ ::= "cheap" ;


--- ad hoc coercions to make cf grammar work

det_bare. DET ::= DET_bare ;