This grammar covers some Czech sentences. It was written by Ondrej Bojar.
usedim id
usedim lp
usedim lex
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% define dimension id
defdim id {
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% define types
defattrstype "id.attrs"
defentrytype "id.entry"
deflabeltype "id.label"
deftype "id.person" {first second third}
deftype "id.number" {sg pl}
deftype "id.gender" {masc fem neut inan}
deftype "id.case" {nom gen dat acc voc loc ins}
deftype "id.agr" tuple("id.person" "id.number" "id.gender" "id.case")
deftype "id.agrs" iset("id.agr")
deftype "id.attrs" {agr: "id.agr"}
deftype "id.entry" {in: iset("id.label")
out: valency("id.label")
agrs: "id.agrs"
lagrs: vec("id.label" "id.agrs")}
deftype "id.label" {
sent subj obj auxr vfin
subj_inf obj_inf
adv
adj
}
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% use principles
useprinciple "principle.graph1" {
dims {D: id}}
useprinciple "principle.tree" {
dims {D: id}}
useprinciple "principle.in" {
dims {D: id}}
useprinciple "principle.out" {
dims {D: id}}
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% use and choose outputs
output "output.dag"
output "output.latex"
output "output.pretty"
output "output.xml"
output "output.xml1"
%%
% useoutput "output.dag"
% useoutput "output.xml"
useoutput "output.xml1"
}
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% define dimension lp
defdim lp {
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% define types
defentrytype "lp.entry"
deflabeltype "lp.label"
deftype "lp.entry" {in: iset("lp.label")
out: valency("lp.label")
on: iset("lp.label")
blocks: set("id.label")}
deftype "lp.label" {
prepf adjf noun
vinf verb auxrf vmodf
mod
refl
preclitf clitf postclitf sent
}
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% use principles
useprinciple "principle.graph1" {
dims {D: lp}}
useprinciple "principle.tree" {
dims {D: lp}}
useprinciple "principle.in" {
dims {D: lp}}
useprinciple "principle.out" {
dims {D: lp}}
useprinciple "principle.order" {
dims {D: lp}
args {Order: [
% Every line is used for a different ordering,
% lines among one another are incomparable.
% In every line, there should be only fields (to let daughters
% land in) +exactly one element, the head.
% Lines with only one element are used for nodes that do not
% offer any place for daughter.
prepf adjf noun
vinf verb auxrf vmodf
mod
refl
preclitf clitf postclitf sent
]
Yields: true}}
useprinciple "principle.projectivity" {
dims {D: lp}}
useprinciple "principle.climbing" {
dims {D1: lp
D2: id}}
useprinciple "principle.barriers" {
dims {D1: lp
D2: id
D3: lp}}
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% use and choose outputs
output "output.dag"
output "output.latex"
output "output.pretty"
output "output.xml"
output "output.xml1"
%%
% useoutput "output.dag"
useoutput "output.xml1"
}
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% define dimension lex
defdim lex {
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% define types
defentrytype {word: string}}
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% define classes
defclass "sent" Word { % final punctuation of the sent
dim id {
in: {}
out: {vfin}
}
dim lex {word: Word}
dim lp {in: {}
on: {sent}
out: ({preclitf#{1 2} clitf+ postclitf+} | {postclitf*})
}
}
defclass "cnoun" Word Agrs {
dim id {in: {subj obj}
out: {adj?}
agrs: Agrs}
dim lp {in: {preclitf postclitf}
on: {noun}
out: {prepf? adjf*}
}
dim lex {word: Word}}
defclass "pname" Word Agrs {
dim id {in: {subj obj}
agrs: Agrs}
dim lp {in: {preclitf postclitf}
on: {noun}}
dim lex {word: Word}}
defclass "reflpart" Word {
dim id {
in: {auxr}
out: {}
}
dim lp {
on: {refl}
in: {clitf auxrf}
out: {}
}
dim lex {word: Word}
}
defclass "fin" Word Agrs {
dim id {in: {vfin}
out: {subj?}
agrs: Agrs
lagrs: {subj: $ nom}}
dim lp {in: {preclitf postclitf}
% out: {mf* vxf?}
out: {}
on: {verb}
% blocks: {det subj obj vbse vprt vinf}
}
dim lex {word: Word}
}
defclass "inf" Word {
dim id {in: {subj_inf obj_inf}
out: {}
% agrs: Agrs
% lagrs: {subj: $ nom}
}
dim lp {in: {preclitf postclitf}
% out: {mf* vxf?}
out: {}
on: {vinf}
% blocks: {det subj obj vbse vprt vinf}
}
dim lex {word: Word}
}
% defclass "can" Word {
% dim id {in: {vbse vprt vinf}}
% dim lp {in: {vcf}
% on: {v}}
% dim lex {word: Word}}
%
% defclass "noncan" Word {
% dim id {in: {vbse vprt vinf}}
% dim lp {in: {vxf}
% on: {v}
% out: {mf* vxf?}}
% dim lex {word: Word}}
%
% defclass "ersatz" {
% dim id {in: {vbse vprt}}}
%
% defclass "vbse" {
% dim id {in: {vbse}}}
%
% defclass "vinf" {
% dim id {in: {vinf}
% out: {prt}}
% dim lp {out: {pf}}}
%
% defclass "vprt" {
% dim id {in: {vprt}}}
defclass "vclass_refl" {
dim id {out: {auxr}}
dim lp {out: {auxrf?}}
}
defclass "vclass_tr" {
dim id {out: {obj}
lagrs: {obj: $ acc}}
dim lp {out: {vmodf?}}
}
defclass "vclass_trmod" {
dim id {out: {adv}}
dim lp {out: {vmodf?}}
}
defclass "vclass_trinf" {
dim id {out: {obj_inf}}
dim lp {out: {vmodf?}}
}
defclass "adv" Word {
dim id {
in: {vfin adj adv}
out: {adv?}
}
dim lp {
in: {preclitf postclitf vmodf}
on: {mod}
out: {}
}
dim lex {word: Word}
}
% defclass "vbsec" {
% dim id {out: {vbse}}
% dim lp {out: {vcf?}}}
%
% defclass "vprtc" {
% dim id {out: {vprt}}
% dim lp {out: {vcf?}}}
%
% defclass "vinfc" {
% dim id {out: {vinf}}
% dim lp {out: {vcf?}}}
%
% defclass "prt" Word {
% dim id {in: {prt}}
% dim lp {in: {pf}
% on: {p}}
% dim lex {word: Word}}
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% define entries
% Punctuation
defentry {
"sent" {Word: "."}
}
% Common nouns
defentry {
"cnoun" {Agrs: ($ fem & third & sg & nom)
Word: "mísa"}}
defentry {
"cnoun" {Agrs: ($ fem & third & sg & acc)
Word: "mísu"}}
defentry {
"cnoun" {Agrs: ($ inan & third & sg & (nom|acc))
Word: "soubor"}}
% Proper names
defentry {
"pname" {Agrs: ($ masc & sg & third & nom)
Word: "ema"}}
defentry {
"pname" {Agrs: ($ masc & sg & third & nom)
Word: "petr"}}
% Reflective particle
defentry {
"reflpart" {Word: "se"}
}
% Finite verbs
defentry {
"fin" {Agrs: ($ third & sg & nom)
Word: "má"}
"vclass_tr"}
defentry {
"fin" {Agrs: ($ third & sg & nom)
Word: "má"}
"vclass_refl"
"vclass_trmod"
}
defentry {
"fin" {Agrs: ($ third & sg & nom)
Word: "nepodařilo"}
"vclass_refl"
"vclass_trinf"
}
% Infinitives
defentry {
"inf" {Word: "otevřít"}
"vclass_tr"}
% Adverbs
defentry {
"adv" {Word: "dobře"}
}
% defentry {
% "fin" {Agrs: ($ third & sg & nom)
% Word: "hat"}
% "vprtc"}
%
% defentry {
% "fin" {Agrs: ($ third & sg & nom)
% Word: "versucht"}
% "vinfc"}
%
% defentry {
% "fin" {Agrs: ($ third & sg & nom)
% Word: "liebt"}
% "tr"}
%
% % Non-finite verbs
% defentry {
% "can" {Word: "lieben"}
% "tr"
% "vbse"}
% defentry {
% "can" {Word: "geliebt"}
% "tr"
% "vprt"}
%
% defentry {
% "can" {Word: "koennen"}
% "vbsec"
% "vbse"}
% defentry {
% "noncan" {Word: "koennen"}
% "vbsec"
% "ersatz"}
%
% defentry {
% "noncan" {Word: "haben"}
% "vprtc"
% "vbse"}
%
% defentry {
% "can" {Word: "lieben"}
% "tr"
% "vinf"}
% defentry {
% "noncan" {Word: "lieben"}
% "tr"
% "vinf"}
%
% % zu-particle
% defentry {
% "prt" {Word: "zu"}}
% }