Next: , Previous: nutPW, Up: Grammars


5.49 regdgPW

This grammar models a regular dependency grammar as introduced in the ACL 2007 paper by Marco Kuhlmann and Mathias Moehl.

usedim id
usedim lp
usedim idlp
usedim lex
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% define id dimension
defdim id {
  deftype "id.label" {s a b "^"}
  deflabeltype "id.label"
  defentrytype {in: set(tuple("id.label" {"!" "?" "+" "*"}))
                out: set(tuple("id.label" {"!" "?" "+" "*"}))}
%%
  useprinciple "principle.graphPW" {
    dims {D: id}}
  useprinciple "principle.treePW" {
    dims {D: id}}
  useprinciple "principle.valencyPW" {
    dims {D: id}}
%%
  output "output.pretty"
  output "output.pretty1"
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% define lp dimension
defdim lp {
  deftype "lp.label" {b1 b2}
  deflabeltype "lp.label"
  defentrytype {in: set(tuple("lp.label" {"!" "?" "+" "*"}))
                out: set(tuple("lp.label" {"!" "?" "+" "*"}))
                order: set(tuple("lp.label" "lp.label"))}
%%
  useprinciple "principle.graphPW" {
    dims {D: lp}}
  useprinciple "principle.valencyPW" {
    dims {D: lp}}
  useprinciple "principle.orderDepsPW" {
    dims {D: lp}}
%%
  output "output.pretty"
  output "output.pretty1"
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% define idlp dimension
defdim idlp {
  defentrytype {order: set(tuple("id.label" "lp.label" "id.label" "lp.label"))
                commas: set(tuple("id.label" "lp.label" "id.label" "lp.label"))}
%%
  useprinciple "principle.blockPW" {
    dims {D1: lp D2: id}}
  useprinciple "principle.orderBlocksPW" {
    dims {D1: id D2: lp D3: idlp}}
  useprinciple "principle.commasPW" {
    dims {D1: lp D2: id D3: idlp}}
%%
  output "output.pretty"
  output "output.pretty1"
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% define lex dimension
defdim lex {
  defentrytype {word: string}
%%
  output "output.allDags1"
  output "output.allLatexs1"
  useoutput "output.allDags1"
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% define lexicon

%% S -> <a,<01>>(B)
defentry {
  dim id {in: {s?}
          out: {b!}}
  dim lp {in: {b1* b2*}
          out: {b1+}}
  dim idlp {order: {["^" b1 b b1]}
            commas: {}}
  dim lex {word: "a"}}
%% S -> <a,<0121>>(A,B)
defentry {
  dim id {in: {s?}
          out: {a! b!}}
  dim lp {in: {b1* b2*}
          out: {b1+}}
  dim idlp {order: {["^" b1 a b1] ["^" b1 b b1] ["^" b1 a b2]
                    [a b1 b b1] [a b1 a b2] [b b1 a b2]}
            commas: {}}
  dim lex {word: "a"}}

%% A -> <a,<0,1>>(B)
defentry {
  dim id {in: {a!}
          out: {b!}}
  dim lp {in: {b1* b2*}
          out: {b1+ b2+}
          order: <b1 b2>}
  dim idlp {order: {["^" b1 b b1]}
            commas: {["^" b1 b b1]}}
  dim lex {word: "a"}}
%% A -> <a,<01,21>>(A,B)
defentry {
  dim id {in: {a!}
          out: {a! b!}}
  dim lp {in: {b1* b2*}
          out: {b1+ b2+}
          order: <b1 b2>}
  dim idlp {order: {["^" b1 a b1] ["^" b1 b b1] ["^" b1 a b2]
                    [a b1 b b1] [a b1 a b2] [b b1 a b2]}
            commas: {[a b1 b b1]}}
  dim lex {word: "a"}}

%% B -> <b,<0>>
defentry {
  dim id {in: {b!}}
  dim lp {in: {b1* b2*}
          out: {b1+}}
  dim idlp {commas: {}}
  dim lex {word: "b"}}