Next: , Previous: Acl01, Up: Grammars


5.6 Acl01PW

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