Next: , Previous: SCR, Up: Grammars


5.35 SCRPW

This grammar is the same as SCR except that it only uses PW principles.

usedim id
usedim lp
usedim idlp
usedim lex
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% define id dimension
defdim id {
  deftype "id.label" {n v}
  deflabeltype "id.label"
  defentrytype {in: set(tuple("id.label" {"!" "?" "+" "*"}))
                out: set(tuple("id.label" {"!" "?" "+" "*"}))}
%%
  useprinciple "principle.graphPWConstraints" { dims {D: id} }
  useprinciple "principle.graphPWDist" { dims {D: id} }
  useprinciple "principle.treePW" { dims {D: id} }
  useprinciple "principle.valencyPW" { dims {D: id} }
%%
  output "output.pretty"
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% define lp dimension
defdim lp {
  deftype "lp.label" {"1" "2" "^"}
  deflabeltype "lp.label"
  defentrytype {in: set(tuple("lp.label" {"!" "?" "+" "*"}))
                out: set(tuple("lp.label" {"!" "?" "+" "*"}))
                order: set(tuple("lp.label" "lp.label"))}
%%
  useprinciple "principle.graphPWConstraints" { dims {D: lp} }
  useprinciple "principle.graphPWDist" { dims {D: lp} }
  useprinciple "principle.treePW" { dims {D: lp} }
  useprinciple "principle.valencyPW" { dims {D: lp} }
  useprinciple "principle.orderPW" { dims {D: lp} }
%%
  output "output.pretty"
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% define idlp dimension
defdim idlp {
  useprinciple "principle.climbingPW" {
    dims {D1: lp
          D2: id}}
%%
  output "output.pretty"
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% define lex dimension
defdim lex {
  defentrytype {word: string}
%%
  output "output.dags1"
  output "output.latexs1"
  useoutput "output.dags1"
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% define lexicon

defentry {
  dim id {in: {}
          out: {n! v?}}
  dim lp {in: {}
          out: {"1"* "2"?}
          order: <"1" "2" "^">}
  dim lex {word: "v"}}

defentry {
  dim id {in: {v!}
          out: {n! v?}}
  dim lp {in: {"2"!}
          out: {"2"?}
          order: <"2" "^">}
  dim lex {word: "v"}}

defentry {
  dim id {in: {n!}}
  dim lp {in: {"1"!}}
  dim lex {word: "n"}}