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"}} % }