Next: ESSLLI04_idlpdspa, Previous: ESSLLI04_idlpds, Up: Grammars
This grammar is the same as ESSLLI04_idlpds except that it only uses PW principles.
usedim id usedim lp usedim ds usedim lpid usedim idds usedim dsid usedim lex %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% define dimension id defdim id { %% %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% define types deftype "id.agr" {nom acc} deftype "id.attrs" {agr: "id.agr"} deftype "id.entry" {in: set(tuple("id.label" {"!" "?" "+" "*"})) out: set(tuple("id.label" {"!" "?" "+" "*"})) agrs: set("id.agr") agree: set("id.label") govern1: set(tuple("id.label" "id.agr"))} deftype "id.label" {det subj obj vbse vprt vinf part root} defattrstype "id.attrs" defentrytype "id.entry" deflabeltype "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.government1PW" { dims {D: id} } %% %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% use and choose outputs output "output.latex" output "output.latex1" output "output.pretty" } %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% define dimension lp defdim lp { %% %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% define types deftype "lp.entry" {in: set(tuple("lp.label" {"!" "?" "+" "*"})) out: set(tuple("lp.label" {"!" "?" "+" "*"})) order: set(tuple("lp.label" "lp.label"))} deftype "lp.label" {df mf vcf pf vxf root "^"} defentrytype "lp.entry" deflabeltype "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.latex" output "output.latex1" output "output.pretty" } %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% define dimension lpid defdim lpid { %% %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% define types defentrytype {blocks: set("id.label")} %% %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% use principles useprinciple "principle.climbingPW" { dims {D1: lp D2: id}} useprinciple "principle.barriersPW" { dims {D1: lp D2: id D3: lpid}} } %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% define dimension ds defdim ds { %% %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% define types deftype "ds.entry" {in: set(tuple("ds.label" {"!" "?" "+" "*"})) out: set(tuple("ds.label" {"!" "?" "+" "*"}))} deftype "ds.label" {detd subjd objd vcd partd root} defentrytype "ds.entry" deflabeltype "ds.label" %% %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% use principles useprinciple "principle.graphPW" { dims {D: ds} } useprinciple "principle.dagPW" { dims {D: ds} } useprinciple "principle.valencyPW" { dims {D: ds} } %% %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% use and choose outputs output "output.latex" output "output.latex1" output "output.pretty" } %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% define dimension idds defdim idds { %% %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% define types defentrytype {linkEnd: set(tuple("id.label" "ds.label"))} %% %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% use principles useprinciple "principle.climbingPW" { dims {D1: id D2: ds}} useprinciple "principle.linkingEndPW" { dims {D1: id D2: ds D3: idds}} } %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% define dimension dsid defdim dsid { %% %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% define types defentrytype {linkEnd: set(tuple("ds.label" "id.label"))} %% %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% use principles useprinciple "principle.linkingEndPW" { dims {D1: ds D2: id D3: dsid}} } %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% define dimension lex defdim lex { %% %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% define types defentrytype {word: string} %% %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% use and choose outputs output "output.dags" output "output.dags1" %% useoutput "output.dags1" } %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% define lexical classes %% %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% general classes %% %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% id defclass "root_id" { dim id {in: {} out: {root!}}} defclass "det_id" { dim id {in: {det? root?}}} defclass "cnoun_id" { dim id {in: {subj? obj? root?} out: {det!} agree: {det}}} defclass "pname_id" { dim id {in: {subj? obj? root?}}} defclass "fin_id" { dim id {in: {root?} out: {subj!} govern1: {[subj nom]}}} defclass "part_id" { dim id {in: {part? root?}}} defclass "vbse_id" { dim id {in: {vbse? root?}}} defclass "vinf_id" { dim id {in: {vinf? root?} out: {part!}}} defclass "vprt_id" { dim id {in: {vprt? root?}}} defclass "ersatz_id" { dim id {in: {vbse? vprt? root?}}} %% %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% lp defclass "root_lp" { dim lp {in: {} out: {root!} order: <root "^">}} defclass "det_lp" { dim lp {in: {df? root?}}} defclass "cnoun_lp" { dim lp {in: {mf? root?} out: {df!} order: <df "^">} dim lpid {blocks: {det}}} defclass "pname_lp" { dim lp {in: {mf? root?}}} defclass "fin_lp" { dim lp {in: {root?} out: {mf* vcf? vxf?} order: <mf vcf "^" vxf>} dim lpid {blocks: {subj obj vbse vprt vinf part}}} defclass "part_lp" { dim lp {in: {pf? root?}}} defclass "vinf_lp" { dim lp {out: {pf!}}} %% %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% ds defclass "root_ds" { dim ds {in: {} out: {root!}}} defclass "det_ds" { dim ds {in: {detd? root?}}} defclass "cnoun_ds" { dim ds {in: {subjd* objd? root?} out: {detd!}}} defclass "pname_ds" { dim ds {in: {subjd* objd? root?}}} defclass "fin_ds" { dim ds {in: {root?}} dim dsid {linkEnd: {[subjd subj]}}} defclass "part_ds" { dim ds {in: {partd?}}} defclass "vbse_ds" { dim ds {in: {vcd?}}} defclass "vinf_ds" { dim ds {in: {vcd?} out: {partd!}}} defclass "vprt_ds" { dim ds {in: {vcd?}}} defclass "ersatz_ds" { dim ds {in: {vcd?}}} %% %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% altogether defclass "root" Word { "root_id" "root_lp" "root_ds" dim lex {word: Word}} defclass "det" Word Agrs { "det_id" "det_lp" "det_ds" dim id {agrs: Agrs} dim lex {word: Word}} defclass "cnoun" Word Agrs { "cnoun_id" "cnoun_lp" "cnoun_ds" dim id {agrs: Agrs} dim lex {word: Word}} defclass "pname" Word { "pname_id" "pname_lp" "pname_ds" dim lex {word: Word}} defclass "part" Word { "part_id" "part_lp" "part_ds" dim lex {word: Word}} defclass "fin" Word { "fin_id" "fin_lp" "fin_ds" dim lex {word: Word}} defclass "vbse" Word { "vbse_id" "vbse_ds" dim lex {word: Word}} defclass "vinf" Word { "vinf_id" "vinf_lp" "vinf_ds" dim lex {word: Word}} defclass "vprt" Word { "vprt_id" "vprt_ds" dim lex {word: Word}} defclass "ersatz" Word { "ersatz_id" "ersatz_ds" dim lex {word: Word}} defclass "mainverb" Word1 Word2 Word3 { "fin" {Word: Word1} | ("vbse" {Word: Word2} & "can") | ("vprt" {Word: Word3} & "can") | ("vinf" {Word: Word2} & ("can" | "noncan"))} %% %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% special classes %% requiring an object (in accusative case) defclass "objc" { dim id {out: {obj!} govern1: {[obj acc]}}} %% offer the surface subject as a deep subject defclass "subjsubj" { dim idds {linkEnd: {[subj subjd]}}} %% offer the surface object as a deep subject defclass "objsubj" { dim idds {linkEnd: {[obj subjd]}}} %% require a deep object realized by a surface object defclass "objdobj" { dim ds {out: {objd!}} dim dsid {linkEnd: {[objd obj]}}} %% require a deep subject defclass "subjdc" { dim ds {out: {subjd!}}} %% require a deep object realized by a surface object defclass "objdc" { "objc" "objdobj"} %% requiring an infinite verb with id label Label defclass "Labelc" Label { dim id {out: {Label!}}} %% require a deep verbal complement realized by an infinite verb with %% id label Label defclass "vcdLabel" Label { "Labelc" {Label: Label} dim ds {out: {vcd!}} dim dsid {linkEnd: {[vcd Label]}}} %% verbs in canonical position defclass "can" { dim lp {in: {vcf? root?} out: {vcf?} order: <vcf pf "^">}} %% verbs in non-canonical position defclass "noncan" { dim lp {in: {vxf? root?} out: {mf* vcf? vxf?} order: <mf vcf pf "^" vxf>}} %% intransitive verbs defclass "intransitive" { "subjdc"} %% transitive verbs defclass "transitive" { "subjdc" "objdc"} %% subject-to-subject raising defclass "subjraising" { "vcdLabel" {Label: vinf} "subjsubj"} %% subject-to-subject control defclass "subjcontrol" { "subjraising" "subjdc"} %% subject-to-object control defclass "objcontrol" { "vcdLabel" {Label: vinf} "objsubj" "subjdc" "objdc"} %% auxiliaries defclass "aux" Label { "vcdLabel" {Label: Label} "subjsubj"} %% auxiliaries (past participle) defclass "auxprt" { "aux" {Label: vprt} } %% auxiliaries (bare infinitive), also used for modals defclass "auxbse" { "aux" {Label: vbse} } %% %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% define entries % Roots defentry { "root" {Word: "."}} % Determiners defentry { "det" {Agrs: {nom} Word: "ein"}} defentry { "det" {Agrs: {acc} Word: "einen"}} defentry { "det" {Agrs: {nom acc} Word: "eine"}} % Common nouns defentry { "cnoun" {Agrs: {nom acc} Word: "frau"}} defentry { "cnoun" {Agrs: {nom acc} Word: "mann"}} defentry { "cnoun" {Agrs: {nom acc} Word: "roman"}} % Proper names defentry { "pname" {Word: "maria"}} defentry { "pname" {Word: "peter"}} defentry { "pname" {Word: "hans"}} % zu-particle defentry { "part" {Word: "zu"}} % Auxiliaries defentry { "fin" {Word: "wird"} "auxbse"} defentry { "fin" {Word: "hat"} "auxprt"} defentry { "vbse" {Word: "haben"} "auxprt" "noncan"} % Modals defentry { "vbse" {Word: "koennen"} "auxbse" "can"} defentry { "ersatz" {Word: "koennen"} "auxbse" "noncan"} % Main verbs defentry { "intransitive" "mainverb" {Word1: "lacht" Word2: "lachen" Word3: "gelacht"}} defentry { "transitive" "mainverb" {Word1: "liebt" Word2: "lieben" Word3: "geliebt"}} defentry { "transitive" "mainverb" {Word1: "schreibt" Word2: "schreiben" Word3: "geschrieben"}} defentry { "subjraising" "mainverb" {Word1: "scheint" Word2: "scheinen" Word3: "geschienen"}} defentry { "subjcontrol" "mainverb" {Word1: "versucht" Word2: "versuchen" Word3: "versucht"}} defentry { "subjcontrol" "mainverb" {Word1: "verspricht" Word2: "versprechen" Word3: "versprochen"}} defentry { "objcontrol" "mainverb" {Word1: "ueberredet" Word2: "ueberreden" Word3: "ueberredet"}}