Next: ESSLLI04_idPW, Previous: EQABPW, Up: Grammars
This is the first part of the grammar developed in the ESSLLI 2004 course, using only the ID graph dimension. It was written by Ralph Debusmann and Denys Duchier. The ESSLLI 2004 course slides can be found here: http://www.ps.uni-sb.de/~rade/talks.html.
usedim id usedim lex usedim multi %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% define dimension id defdim id { %% %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% define types deftype "id.agr" {nom acc} deftype "id.agrs" iset("id.agr") deftype "id.attrs" {agr: "id.agr"} deftype "id.entry" {in: valency("id.label") out: valency("id.label") agrs: "id.agrs" agree: set("id.label") govern: vec("id.label" "id.agrs")} deftype "id.label" {det subj obj vbse vprt vinf part root} defattrstype "id.attrs" defentrytype "id.entry" deflabeltype "id.label" %% %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% use principles useprinciple "principle.graph" { dims {D: id}} useprinciple "principle.tree" { dims {D: id}} useprinciple "principle.valency" { dims {D: id} args {In: _.D.entry.in Out: _.D.entry.out}} useprinciple "principle.agr" { dims {D: id} args {Agr: _.D.attrs.agr Agrs: _.D.entry.agrs}} useprinciple "principle.agreement" { dims {D: id} args {Agr1: ^.D.attrs.agr Agr2: _.D.attrs.agr Agree: ^.D.entry.agree}} useprinciple "principle.government" { dims {D: id} args {Agr2: _.D.attrs.agr Govern: ^.D.entry.govern}} %% %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% use and choose outputs output "output.latex" output "output.latex1" output "output.pretty" } %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% define dimension lex defdim lex { %% %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% define types defentrytype {word: string} %% %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% use and choose outputs output "output.dags" output "output.dags1" %% useoutput "output.dags1" } %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% define dimension multi defdim multi { } %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% 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!} govern: {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?}}} %% %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% altogether defclass "root" Word { "root_id" dim lex {word: Word}} defclass "det" Word Agrs { "det_id" dim id {agrs: Agrs} dim lex {word: Word}} defclass "cnoun" Word Agrs { "cnoun_id" dim id {agrs: Agrs} dim lex {word: Word}} defclass "pname" Word { "pname_id" dim lex {word: Word}} defclass "part" Word { "part_id" dim lex {word: Word}} defclass "fin" Word { "fin_id" dim lex {word: Word}} defclass "vbse" Word { "vbse_id" dim lex {word: Word}} defclass "vinf" Word { "vinf_id" dim lex {word: Word}} defclass "vprt" Word { "vprt_id" dim lex {word: Word}} defclass "ersatz" Word { "ersatz_id" dim lex {word: Word}} defclass "mainverb" Word1 Word2 Word3 { "fin" {Word: Word1} | "vbse" {Word: Word2} | "vprt" {Word: Word3} | "vinf" {Word: Word2}} %% %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% special classes %% requiring an object (in accusative case) defclass "objc" { dim id {out: {obj!} govern: {obj: {acc}}}} %% requiring an infinite verb with id label Label defclass "Labelc" Label { dim id {out: {Label!}}} %% intransitive verbs defclass "intransitive" {} %% transitive verbs defclass "transitive" { "objc"} %% subject-to-subject raising defclass "subjraising" { "Labelc" {Label: vinf}} %% subject-to-subject control defclass "subjcontrol" { "subjraising"} %% subject-to-object control defclass "objcontrol" { "Labelc" {Label: vinf} "objc"} %% auxiliaries defclass "aux" Label { "Labelc" {Label: Label}} %% 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"} % Modals defentry { "vbse" {Word: "koennen"} "auxbse"} defentry { "ersatz" {Word: "koennen"} "auxbse"} % 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"}}