ACE Editor Grammar
- Tobias Kuhn, 26 November 2010 -
Below, the grammar rules of the ACE Editor grammar are shown:
Texts and Sentences
'text' stands for a complete text consisting of an arbitrary number of complete
sentences (including zero):
A complete sentence is represented by the category 'complete_sentence' and is either
a declarative sentence that ends with a full stop or a question ending with a question mark:
General sentences are represented by 'sentence':
Sentences can be coordinated using "or" ('sentence_coord_1') and "and"
('sentence_coord_2'):
Uncoordinated sentences are represented in two levels by 'simple_sentence_1' and
'simple_sentence_2':
Verb Phrases
Like sentences, verb phrases can be coordinated using "or" ('vp_coord_1') and "and"
('vp_coord_2'):
(18) |
vp_coord_1 | pl: 1 | qu: 2 | subj: 3 | whin: 4 | whout: 5 |
| |
=> |
vp_coord_2 | pl: 1 | qu: 2 | subj: 3 | whin: 4 | whout: 5 |
| |
(19) |
vp_coord_1 | pl: 1 | qu: 2 | subj: 3 | whin: 4 | whout: 5 |
| |
~> |
// |
vp_coord_2 | pl: 1 | qu: 2 | subj: 3 | whin: 4 | whout: 6 |
| |
[ or ] |
vp_coord_1 | pl: 1 | qu: 2 | subj: 3 | whin: 6 | whout: 5 |
| |
(20) |
vp_coord_2 | pl: 1 | qu: 2 | subj: 3 | whin: 4 | whout: 5 |
| |
=> |
vp | pl: 1 | qu: 2 | subj: 3 | whin: 4 | whout: 5 |
| |
(21) |
vp_coord_2 | pl: 1 | qu: 2 | subj: 3 | whin: 4 | whout: 5 |
| |
=> |
vp | pl: 1 | qu: 2 | subj: 3 | whin: 4 | whout: 6 |
| |
[ and ] |
vp_coord_2 | pl: 1 | qu: 2 | subj: 3 | whin: 6 | whout: 5 |
| |
Uncoordinated verb phrases represented by 'vp' can use an auxiliary verb and can have
verb phrase modifiers:
(22) |
vp | exist: 1 | pl: 2 | qu: 3 | rel: 4 | subj: 5 | whin: 6 | whout: 7 |
| |
~> |
aux | | |
v | be: 8 | copula: 9 | embv: 10 | exist: 1 | pl: 2 | qu: 3 | rel: 4 | subj: 5 | vform: inf | whin: 6 | whout: 11 |
| |
vmod | copula: 9 | embv: 10 | qu: 3 | subj: 5 | whin: 11 | whout: 7 |
| |
(23) |
vp | exist: + | pl: 1 | qu: 2 | rel: 3 | subj: 4 | whin: 5 | whout: 6 |
| |
~> |
v | be: – | copula: 7 | embv: 8 | exist: + | pl: 1 | qu: 2 | rel: 3 | subj: 4 | vform: fin | whin: 5 | whout: 9 |
| |
vmod | copula: 7 | embv: 8 | qu: 2 | subj: 4 | whin: 9 | whout: 6 |
| |
The category 'v' represents the main verb or - if "be" is used as a copula verb - the
complementing noun phrase or adjective complement:
(24) |
v | be: – | copula: – | pl: 1 | vform: 2 | whin: 3 | whout: 3 |
| |
=> |
verb | be: – | pl: 1 | vcat: itr | vform: 2 |
| |
(25) |
v | be: – | copula: – | embv: 1 | pl: 2 | qu: 3 | rel: 4 | subj: 5 | vform: 6 | whin: 7 | whout: 8 |
| |
=> |
verb | be: – | pl: 2 | vcat: tr | vform: 6 |
| |
np | case: acc | embv: 1 | qu: 3 | rel: 4 | subj: 5 | vcat: tr | whin: 7 | whout: 8 |
| |
(26) |
v | be: + | copula: – | embv: 1 | qu: 2 | rel: 3 | subj: 4 | whin: 5 | whout: 6 |
| |
=> |
verb | | |
[ by ] |
np | case: acc | copula: – | embv: 1 | qu: 2 | rel: 3 | subj: 4 | whin: 5 | whout: 6 |
| |
(27) |
v | be: + | copula: + | embv: 1 | qu: 2 | rel: 3 | subj: 4 | whin: 5 | whout: 6 |
| |
=> |
np | case: acc | copula: + | embv: 1 | of: + | pl: – | qu: 2 | rel: 3 | subj: 4 | whin: 5 | whout: 6 |
| |
(28) |
v | be: + | copula: + | embv: 1 | pl: – | qu: 2 | rel: 3 | subj: 4 | whin: 5 | whout: 6 |
| |
=> |
np | case: acc | copula: + | embv: 1 | of: – | pl: – | qu: 2 | rel: 3 | subj: 4 | whin: 5 | whout: 6 |
| |
(30) |
v | be: + | copula: + | embv: 1 | qu: 2 | rel: 3 | subj: 4 | whin: 5 | whout: 6 |
| |
=> |
adjc | embv: 1 | qu: 2 | rel: 3 | subj: 4 | whin: 5 | whout: 6 |
| |
Noun Phrases
Noun phrases are represented by 'np' and can consist of proper names, variables,
pronouns, and different noun constructs:
(31) |
np | def: + | embv: 1 | exist: + | id: 2 | of: – | pl: – | qu: 3 | rel: 4 | whin: 5 | whout: 6 |
| |
=> |
prop | | |
>> | gender: 7 | hasvar: – | human: 8 | id: 2 | type: prop |
| |
relcl | embv: 1 | human: 8 | qu: 3 | rel: 4 | subj: 2 | whin: 5 | whout: 6 |
| |
(32) |
np | def: + | exist: + | id: 1 | of: – | pl: – | whin: 2 | whout: 2 |
| |
=> |
# | 1 |
newvar | | |
> | hasvar: + | id: 1 | type: var | var: 3 |
| |
(33) |
np | def: + | exist: + | id: 1 | of: – | pl: – | whin: 2 | whout: 2 |
| |
=> |
def_noun_sg | | |
ref | | |
< | gender: 5 | hasvar: + | human: 6 | id: 1 | noun: 3 | type: noun | var: 4 |
| |
> | gender: 5 | hasvar: – | human: 6 | id: 1 | type: ref |
| |
(34) |
np | def: + | exist: + | id: 1 | of: – | pl: – | whin: 2 | whout: 2 |
| |
=> |
def_noun_sg | | |
< | gender: 4 | human: 5 | id: 1 | noun: 3 | type: noun |
| |
> | gender: 4 | hasvar: – | human: 5 | id: 1 | type: ref |
| |
(35) |
np | def: + | exist: + | id: 1 | of: – | pl: – | whin: 2 | whout: 2 |
| |
=> |
ref | | |
< | gender: 4 | hasvar: + | human: 5 | id: 1 | var: 3 |
| |
> | gender: 4 | hasvar: – | human: 5 | id: 1 | type: ref |
| |
(36) |
np | def: + | exist: + | id: 1 | of: – | pl: – | refl: + | subj: 1 | whin: 2 | whout: 2 |
| |
=> |
pron | gender: 3 | human: 4 | refl: + |
| |
< | | |
(37) |
np | case: 1 | def: + | exist: + | id: 2 | of: – | pl: – | refl: – | subj: 3 | whin: 4 | whout: 4 |
| |
=> |
pron | case: 1 | gender: 5 | human: 6 | refl: – |
| |
<+ | | – | | |
> | gender: 5 | hasvar: – | human: 6 | id: 2 | type: pron |
| |
(38) |
np | embv: 1 | exist: 2 | id: 3 | of: 4 | pl: – | qu: 5 | rel: 6 | subj: 7 | whin: 8 | whout: 9 |
| |
=> |
quant | | |
nc | embv: 1 | id: 3 | of: 4 | qu: 5 | rel: 6 | subj: 7 | whin: 8 | whout: 9 |
| |
(39) |
np | embv: 1 | exist: 2 | id: 3 | of: – | pl: – | qu: 4 | rel: 5 | whin: 6 | whout: 7 |
| |
=> |
# | 3 |
ipron | | |
opt_newvar | | |
> | hasvar: 9 | human: 8 | id: 3 | type: ipron | var: 10 |
| |
relcl | embv: 1 | human: 8 | qu: 4 | rel: 5 | subj: 3 | whin: 6 | whout: 7 |
| |
(41) |
np | copula: – | exist: + | id: 1 | of: – | pl: – | whin: 2 | whout: 2 |
| |
=> |
num_quant |
[ 1 ] |
# | 1 |
opt_adj_coord |
noun_sg | gender: 3 | human: 4 | text: 5 |
| |
> | gender: 3 | hasvar: – | human: 4 | id: 1 | noun: 5 | type: noun |
| |
(42) |
np | exist: + | id: 1 | of: – | pl: – | qu: + | whout: + |
| |
=> |
# | 1 |
[ what ] |
> | hasvar: – | human: – | id: 1 | type: wh |
| |
(43) |
np | exist: + | id: 1 | of: – | pl: – | qu: + | whout: + |
| |
=> |
# | 1 |
[ who ] |
> | hasvar: – | human: + | id: 1 | type: wh |
| |
(44) |
np | embv: 1 | exist: + | id: 2 | of: 3 | pl: – | qu: + | rel: 4 | subj: 5 | whout: + |
| |
=> |
[ which ] |
nc | embv: 1 | id: 2 | of: 3 | qu: + | rel: 4 | subj: 5 | whin: + | whout: + |
| |
The category 'nc' represents nouns optionally followed by variables, relative clauses,
and prepositional phrases using "of":
(46) |
nc | embv: 1 | id: 2 | of: – | qu: 3 | rel: 4 | whin: 5 | whout: 6 |
| |
=> |
n | gender: 7 | human: 8 | id: 2 | text: 9 |
| |
opt_newvar | | |
> | gender: 7 | hasvar: 10 | human: 8 | id: 2 | noun: 9 | type: noun | var: 11 |
| |
relcl | embv: 1 | human: 8 | qu: 3 | rel: 4 | subj: 2 | whin: 5 | whout: 6 |
| |
(47) |
nc | embv: 1 | id: 2 | of: + | qu: 3 | rel: 4 | subj: 5 | whin: 6 | whout: 7 |
| |
~> |
n | gender: 8 | human: 9 | id: 2 | text: 10 |
| |
> | gender: 8 | hasvar: – | human: 9 | id: 2 | noun: 10 | type: noun |
| |
[ of ] |
np | case: acc | embv: 1 | qu: 3 | rel: 4 | subj: 5 | whin: 6 | whout: 7 |
| |
The category 'n' stands for nouns that are preceded by an optional adjective
coordination:
New variables, optional and mandatory, are represented by 'opt_newvar' and 'newvar',
respectively:
Proper names can either require the definite article "the" or not, and are represented
by the category 'prop':
Adjectives
Adjectives can be only coordinated by "and", and are represented by 'opt_adj_coord'
for the optional case and by 'adj_coord' if mandatory:
Uncoordinated adjectives are represented by 'adj' and can be used in positive,
comparative and superlative forms:
The category 'adjc' stands for more complicated adjective constructions including
nested noun phrases that represent a comparison object:
(63) |
adjc | embv: 1 | qu: 2 | rel: 3 | subj: 4 | whin: 5 | whout: 6 |
| |
=> |
[ as ] |
adj_itr |
[ as ] |
np | case: acc | copula: – | embv: 1 | qu: 2 | rel: 3 | subj: 4 | whin: 5 | whout: 6 |
| |
(64) |
adjc | embv: 1 | qu: 2 | rel: 3 | subj: 4 | whin: 5 | whout: 6 |
| |
=> |
adj_itr_comp |
[ than ] |
np | case: acc | copula: – | embv: 1 | qu: 2 | rel: 3 | subj: 4 | whin: 5 | whout: 6 |
| |
(65) |
adjc | embv: 1 | qu: 2 | rel: 3 | subj: 4 | whin: 5 | whout: 6 |
| |
=> |
[ more ] |
adj_itr |
[ than ] |
np | case: acc | copula: – | embv: 1 | qu: 2 | rel: 3 | subj: 4 | whin: 5 | whout: 6 |
| |
(66) |
adjc | embv: 1 | qu: 2 | rel: 3 | subj: 4 | whin: 5 | whout: 6 |
| |
=> |
adj_tr | | |
np | case: acc | copula: – | embv: 1 | qu: 2 | rel: 3 | subj: 4 | whin: 5 | whout: 6 |
| |
(67) |
adjc | embv: 1 | qu: 2 | rel: 3 | subj: 4 | whin: 5 | whout: 6 |
| |
=> |
[ more ] |
adj_tr | | |
np | case: acc | copula: – | embv: 1 | qu: 2 | rel: 3 | subj: 4 | whin: 5 | whout: 6 |
| |
(68) |
adjc | embv: 1 | qu: 2 | rel: 3 | subj: 4 | whin: 5 | whout: 6 |
| |
=> |
[ most ] |
adj_tr | | |
np | case: acc | copula: – | embv: 1 | qu: 2 | rel: 3 | subj: 4 | whin: 5 | whout: 6 |
| |
(69) |
adjc | embv: 1 | qu: 2 | rel: 3 | subj: 4 | whin: 5 | whout: 6 |
| |
=> |
[ as ] |
adj_tr | | |
np | case: acc | copula: – | embv: 1 | qu: 2 | rel: – | subj: 4 | whin: 5 | whout: 8 |
| |
[ as ] |
np | case: acc | copula: – | embv: 1 | qu: 2 | rel: 3 | subj: 4 | whin: 8 | whout: 6 |
| |
(70) |
adjc | embv: 1 | qu: 2 | rel: 3 | subj: 4 | whin: 5 | whout: 6 |
| |
=> |
[ as ] |
adj_tr | | |
np | case: acc | copula: – | embv: 1 | qu: 2 | rel: – | subj: 4 | whin: 5 | whout: 8 |
| |
[ as ] |
adj_prep | | |
np | case: acc | copula: – | embv: 1 | qu: 2 | rel: 3 | subj: 4 | whin: 8 | whout: 6 |
| |
(71) |
adjc | embv: 1 | qu: 2 | rel: 3 | subj: 4 | whin: 5 | whout: 6 |
| |
=> |
[ more ] |
adj_tr | | |
np | case: acc | copula: – | embv: 1 | qu: 2 | rel: – | subj: 4 | whin: 5 | whout: 8 |
| |
[ than ] |
np | case: acc | copula: – | embv: 1 | qu: 2 | rel: 3 | subj: 4 | whin: 8 | whout: 6 |
| |
(72) |
adjc | embv: 1 | qu: 2 | rel: 3 | subj: 4 | whin: 5 | whout: 6 |
| |
=> |
adj_tr_comp | | |
np | case: acc | copula: – | embv: 1 | qu: 2 | rel: – | subj: 4 | whin: 5 | whout: 8 |
| |
[ than ] |
np | case: acc | copula: – | embv: 1 | qu: 2 | rel: 3 | subj: 4 | whin: 8 | whout: 6 |
| |
(73) |
adjc | embv: 1 | qu: 2 | rel: 3 | subj: 4 | whin: 5 | whout: 6 |
| |
=> |
[ more ] |
adj_tr | | |
np | case: acc | copula: – | embv: 1 | qu: 2 | rel: – | subj: 4 | whin: 5 | whout: 8 |
| |
[ than ] |
adj_prep | | |
np | case: acc | copula: – | embv: 1 | qu: 2 | rel: 3 | subj: 4 | whin: 8 | whout: 6 |
| |
(74) |
adjc | embv: 1 | qu: 2 | rel: 3 | subj: 4 | whin: 5 | whout: 6 |
| |
=> |
adj_tr_comp | | |
np | case: acc | copula: – | embv: 1 | qu: 2 | rel: – | subj: 4 | whin: 5 | whout: 8 |
| |
[ than ] |
adj_prep | | |
np | case: acc | copula: – | embv: 1 | qu: 2 | rel: 3 | subj: 4 | whin: 8 | whout: 6 |
| |
Relative Clauses
Relative clauses are represented by 'relcl'. They start with a relative pronoun and
are always optional:
(76) |
relcl | embv: + | human: 1 | qu: 2 | rel: + | subj: 3 | whin: 4 | whout: 5 |
| |
=> |
relpron | | |
relcl1 | human: 1 | qu: 2 | relpron: 6 | subj: 3 | whin: 4 | whout: 5 |
| |
Like sentences and verb phrases, relative clauses can be coordinated by "or"
('relcl1') and "and" ('relcl2'):
(77) |
relcl1 | human: 1 | qu: 2 | relpron: 3 | subj: 4 | whin: 5 | whout: 6 |
| |
~> |
// |
relcl2 | human: 1 | qu: 2 | rel: – | relpron: 3 | subj: 4 | whin: 5 | whout: 7 |
| |
or_relpron | | |
relcl1 | human: 1 | qu: 2 | relpron: 3 | subj: 4 | whin: 7 | whout: 6 |
| |
(78) |
relcl1 | human: 1 | qu: 2 | relpron: 3 | subj: 4 | whin: 5 | whout: 6 |
| |
=> |
relcl2 | human: 1 | qu: 2 | relpron: 3 | subj: 4 | whin: 5 | whout: 6 |
| |
(79) |
relcl2 | human: 1 | qu: 2 | rel: 3 | relpron: 4 | subj: 5 | whin: 6 | whout: 7 |
| |
=> |
vp | pl: – | qu: 2 | rel: – | subj: 5 | whin: 6 | whout: 8 |
| |
and_relpron | | |
relcl2 | human: 1 | qu: 2 | rel: 3 | relpron: 4 | subj: 5 | whin: 8 | whout: 7 |
| |
(80) |
relcl2 | qu: 1 | rel: 2 | subj: 3 | whin: 4 | whout: 5 |
| |
=> |
vp | pl: – | qu: 1 | rel: 2 | subj: 3 | whin: 4 | whout: 5 |
| |
(81) |
relcl2 | qu: 1 | rel: 2 | subj: 3 | whin: 4 | whout: 5 |
| |
~> |
np | case: nom | copula: – | embv: 6 | id: 7 | pl: 8 | qu: 1 | refl: – | rel: – | subj: 3 | whin: 4 | whout: 9 |
| |
aux | | |
verb | be: – | pl: 8 | vcat: tr | vform: inf |
| |
vmod | copula: – | embv: 6 | qu: 1 | rel: 2 | subj: 7 | whin: 9 | whout: 5 |
| |
(82) |
relcl2 | qu: 1 | rel: 2 | subj: 3 | whin: 4 | whout: 5 |
| |
~> |
np | case: nom | copula: – | embv: 6 | id: 7 | pl: 8 | qu: 1 | refl: – | rel: – | subj: 3 | whin: 4 | whout: 9 |
| |
verb | be: – | pl: 8 | vcat: tr | vform: fin |
| |
vmod | copula: – | embv: 6 | qu: 1 | rel: 2 | subj: 7 | whin: 9 | whout: 5 |
| |
Relative pronouns are represented by 'relpron' and can be either "that", "who" or
"which":
The categories 'or_relpron' and 'and_relpron' define shortcuts - like "or that" as
one token - for better usability inside of the predictive editor:
Verb Phrase Modifiers
Verb phrase modifiers are represented by 'vmod' and the auxiliary category 'vmod_x',
and are always optional:
(95) |
vmod | copula: 1 | embv: – | qu: 2 | rel: 3 | subj: 4 | whin: 5 | whout: 6 |
| |
=> |
adv_coord | | |
vmod_x | copula: 1 | qu: 2 | rel: 3 | subj: 4 | whin: 5 | whout: 6 |
| |
(96) |
vmod | copula: 1 | embv: – | qu: 2 | rel: 3 | subj: 4 | whin: 5 | whout: 6 |
| |
=> |
pp | embv: 7 | qu: 2 | rel: 3 | subj: 4 | whin: 5 | whout: 8 |
| |
vmod | copula: 1 | embv: 7 | qu: 2 | rel: 3 | subj: 4 | whin: 8 | whout: 6 |
| |
(98) |
vmod_x | copula: 1 | qu: 2 | rel: 3 | subj: 4 | whin: 5 | whout: 6 |
| |
=> |
pp | embv: 7 | qu: 2 | rel: 3 | subj: 4 | whin: 5 | whout: 8 |
| |
vmod | copula: 1 | embv: 7 | qu: 2 | rel: 3 | subj: 4 | whin: 8 | whout: 6 |
| |
The category 'pp' represents prepositional phrases:
(99) |
pp | embv: 1 | qu: 2 | rel: 3 | subj: 4 | whin: 5 | whout: 6 |
| |
=> |
prep |
np | case: acc | embv: 1 | qu: 2 | rel: 3 | subj: 4 | whin: 5 | whout: 6 |
| |
Adverbs can be coordinated by "and", which is represented by 'adv_coord':
Adverbial phrases are represented by 'adv_phrase', and can be in positive, comparative
or superlative form:
Verbs
The category 'verb' represents main verbs that can be intransitive or transitive:
Auxiliary verbs are represented by 'aux', which includes negation markers:
(115) |
aux | | |
=> |
// |
[ is not ] |
(116) |
aux | | |
=> |
// |
[ is ] |
[ not ] |
(118) |
aux | | |
=> |
// |
[ are not ] |
(119) |
aux | | |
=> |
// |
[ are ] |
[ not ] |
(120) |
aux | | |
=> |
// |
[ does not ] |
(121) |
aux | | |
=> |
// |
[ do not ] |
(123) |
aux | | |
=> |
// |
[ should ] |
(125) |
aux | | |
=> |
// |
[ has to ] |
(126) |
aux | | |
=> |
// |
[ have to ] |
(127) |
aux | | |
=> |
// |
[ can ] |
[ be ] |
(128) |
aux | | |
=> |
// |
[ should ] |
[ be ] |
(129) |
aux | | |
=> |
// |
[ must ] |
[ be ] |
(130) |
aux | | |
=> |
// |
[ has to ] |
[ be ] |
(131) |
aux | | |
=> |
// |
[ have to ] |
[ be ] |
(132) |
aux | | |
=> |
// |
[ cannot ] |
[ be ] |
(133) |
aux | | |
=> |
// |
[ can ] |
[ not ] |
[ be ] |
(134) |
aux | | |
=> |
// |
[ should ] |
[ not ] |
[ be ] |
(135) |
aux | | |
=> |
// |
[ does not ] |
[ have to ] |
[ be ] |
(136) |
aux | | |
=> |
// |
[ do not ] |
[ have to ] |
[ be ] |
(137) |
aux | | |
=> |
// |
[ cannot ] |
(138) |
aux | | |
=> |
// |
[ can ] |
[ not ] |
(139) |
aux | | |
=> |
// |
[ should ] |
[ not ] |
(140) |
aux | | |
=> |
// |
[ does not ] |
[ have to ] |
(141) |
aux | | |
=> |
// |
[ do not ] |
[ have to ] |
Quantifiers
Existential and universal quantifiers are represented by 'quant':
(144) |
quant | | |
=> |
// |
[ every ] |
The category 'num_quant' stands for numerical quantifiers:
Indefinite Pronouns
Indefinite pronouns are represented by 'ipron':
(151) |
ipron | | |
=> |
[ something ] |
(152) |
ipron | | |
=> |
[ somebody ] |
(153) |
ipron | | |
=> |
// |
[ everything ] |
(154) |
ipron | | |
=> |
// |
[ everybody ] |
(155) |
ipron | | |
=> |
// |
[ nothing ] |
(156) |
ipron | | |
=> |
// |
[ nobody ] |
Anaphoric Pronouns
The category 'pron' represents reflexive and irreflexive anaphoric pronouns:
(158) |
pron | gender: masc | human: + | refl: + |
| |
=> |
[ himself ] |
(159) |
pron | gender: fem | human: + | refl: + |
| |
=> |
[ herself ] |
(161) |
pron | case: nom | gender: masc | human: + | refl: – |
| |
=> |
[ he ] |
(162) |
pron | case: acc | gender: masc | human: + | refl: – |
| |
=> |
[ him ] |
(163) |
pron | case: nom | gender: fem | human: + | refl: – |
| |
=> |
[ she ] |
(164) |
pron | case: acc | gender: fem | human: + | refl: – |
| |
=> |
[ her ] |