This grammar is the same as Acl01 except that it only uses PW principles.
usedim id usedim lp usedim idlp usedim lex %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% define dimension id defdim id { %% %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% define types deftype "id.label" {det subj obj vbse vprt vinf prt} deftype "id.person" {first second third} deftype "id.number" {sg pl} deftype "id.gender" {masc fem neut} deftype "id.case" {nom gen dat acc} deftype "id.def" {def indef undef} deftype "id.agr" tuple("id.person" "id.number" "id.gender" "id.case" "id.def") deftype "id.agrs" iset("id.agr") deflabeltype "id.label" defattrstype {agr: "id.agr"} defentrytype {in: set(tuple("id.label" {"!" "?" "+" "*"})) out: set(tuple("id.label" {"!" "?" "+" "*"})) agrs: "id.agrs" agree: set("id.label")} %% %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% use principles useprinciple "principle.graphPW" { dims {D: id} } useprinciple "principle.treePW" { dims {D: id} } useprinciple "principle.valencyPW" { dims {D: id} } useprinciple "principle.agrPW" { dims {D: id} } useprinciple "principle.agreementPW" { dims {D: id} } useprinciple "principle.governmentAcl01PW" { dims {D: id} } %% %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% use and choose outputs output "output.dag" output "output.latex" output "output.decode" output "output.pretty" output "output.xml" output "output.xml1" output "output.xml2" output "output.xml3" output "output.xml4" } %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% define dimension lp defdim lp { %% %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% define types deftype "lp.label" {df mf vcf pf vxf "^"} deflabeltype "lp.label" defentrytype {in: set(tuple("lp.label" {"!" "?" "+" "*"})) out: set(tuple("lp.label" {"!" "?" "+" "*"})) order: set(tuple("lp.label" "lp.label"))} %% %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% use principles useprinciple "principle.graphPW" { dims {D: lp} } useprinciple "principle.treePW" { dims {D: lp} } useprinciple "principle.valencyPW" { dims {D: lp} } useprinciple "principle.orderPW" { dims {D: lp} } useprinciple "principle.projectivityPW" { dims {D: lp} } %% %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% use and choose outputs output "output.dag" output "output.latex" output "output.decode" output "output.pretty" } %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% define dimension idlp defdim idlp { defentrytype {blocks: set("id.label") linkEnd: set(tuple("lp.label" "id.label"))} %% %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% use principles useprinciple "principle.climbingPW" { dims {D1: lp D2: id}} useprinciple "principle.climbingSubgraphsPW" { dims {D1: lp D2: id}} useprinciple "principle.barriersPW" { dims {D1: lp D2: id D3: idlp}} useprinciple "principle.linkingEndPW" { dims {D1: lp D2: id D3: idlp}} } %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% define dimension lex defdim lex { %% %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% define types defentrytype {word: string} %% %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% use principles useprinciple "principle.entries" {} %% %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% use and choose outputs output "output.dags1" output "output.latexs1" output "output.pretty1" useoutput "output.dags1" } %% %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% define classes defclass "det" Word Agrs { dim id {in: {det?} agrs: Agrs} dim lp {in: {df?}} dim lex {word: Word}} defclass "cnoun" Word Agrs { dim id {in: {subj? obj?} out: {det?} agrs: Agrs agree: {det}} dim lp {in: {mf?} out: {df?} order: <df "^">} dim idlp {blocks: {det} linkEnd: {[df det]}} dim lex {word: Word}} defclass "pname" Word Agrs { dim id {in: {subj? obj?} agrs: Agrs} dim lp {in: {mf?}} dim lex {word: Word}} defclass "fin" Word Agrs { dim id {in: {} out: {subj} agrs: Agrs agree: {subj}} dim lp {in: {} out: {mf* vxf?} order: <mf vcf "^" vxf>} dim idlp {blocks: bot} dim lex {word: Word}} defclass "can" Word { dim lp {in: {vcf?} order: <vcf pf "^">} dim lex {word: Word}} defclass "noncan" Word { dim lp {in: {vxf?} out: {mf* vxf?} order: <mf vcf pf "^" 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 "tr" { dim id {out: {obj}}} 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?}} dim lex {word: Word}} %% %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% define entries % Determiners defentry { "det" {Agrs: ($ masc & nom & sg & indef) | ($ neut & (nom|acc) & sg & indef) Word: "ein"}} defentry { "det" {Agrs: ($ masc & acc & sg & indef) Word: "einen"}} defentry { "det" {Agrs: ($ (masc|neut) & dat & sg & indef) Word: "einem"}} defentry { "det" {Agrs: ($ (masc|neut) & gen & sg & indef) Word: "eines"}} defentry { "det" {Agrs: ($ fem & (nom|acc) & sg & indef) Word: "eine"}} defentry { "det" {Agrs: ($ fem & (dat|gen) & sg & indef) Word: "einer"}} defentry { "det" {Agrs: (($ masc & nom & sg & def) | ($ fem & (dat|gen) & sg & def) | ($ gen & pl & def)) Word: "der"}} defentry { "det" {Agrs: ($ masc & acc & sg & def) | ($ dat & pl & def) Word: "den"}} defentry { "det" {Agrs: ($ (masc|neut) & dat & sg & def) Word: "dem"}} defentry { "det" {Agrs: ($ (masc|neut) & gen & sg & def) Word: "des"}} defentry { "det" {Agrs: ($ neut & (nom|acc) & sg & def) Word: "das"}} defentry { "det" {Agrs: ($ fem & (nom|acc) & sg & def) | ($ (nom|acc) & pl & def) Word: "die"}} % Common nouns defentry { "cnoun" {Agrs: ($ fem & third & sg) Word: "frau"}} defentry { "cnoun" {Agrs: ($ fem & third & pl) Word: "frauen"}} defentry { "cnoun" {Agrs: ($ masc & third & sg & (nom|dat|acc)) Word: "mann"}} defentry { "cnoun" {Agrs: ($ masc & third & sg & dat) Word: "manne"}} defentry { "cnoun" {Agrs: ($ masc & third & sg & gen) Word: "mannes"|"manns"}} defentry { "cnoun" {Agrs: ($ masc & third & pl & (nom|gen|acc)) Word: "maenner"}} defentry { "cnoun" {Agrs: ($ masc & third & pl & dat) Word: "maennern"}} % Proper names defentry { "pname" {Agrs: ($ fem & sg & third & (nom|dat|acc)) Word: "maria"}} defentry { "pname" {Agrs: ($ fem & sg & third & gen) Word: "marias"}} defentry { "pname" {Agrs: ($ masc & sg & third & (nom|dat|acc)) Word: "peter"}} defentry { "pname" {Agrs: ($ masc & sg & third & gen) Word: "peters"}} defentry { "pname" {Agrs: ($ masc & sg & third) Word: "hans"}} % Finite verbs defentry { "fin" {Agrs: ($ third & sg & nom) Word: "wird"} "vbsec"} 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"}}