Next: , Previous: ANBN, Up: Grammars


5.2 ANBNCN

This grammar covers the non-context-free language of words with n as followed by n bs followed by n cs. It was written by Ralph Debusmann for his dissertation.

usedim id
usedim lp
usedim lex
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% define id dimension
defdim id {
  deftype "id.label" {a b c}
  deflabeltype "id.label"
  defentrytype {in: valency("id.label")
                out: valency("id.label")}
%%
  useprinciple "principle.graph" {
    dims {D: id}}
  useprinciple "principle.tree" {
    dims {D: id}}
  useprinciple "principle.valency" {
    dims {D: id}}
%%
  output "output.pretty"
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% define lp dimension
defdim lp {
  deftype "lp.label" {"1" "2" "3" "^"}
  deflabeltype "lp.label"
  defentrytype {in: valency("lp.label")
                out: valency("lp.label")
                order: set(tuple("lp.label" "lp.label"))}
%%
  useprinciple "principle.graph" {
    dims {D: lp}}
  useprinciple "principle.tree" {
    dims {D: lp}}
  useprinciple "principle.valency" {
    dims {D: lp}}
  useprinciple "principle.order2" {
    dims {D: lp}}
%%
  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: {a?}
          out: {a? b! c!}}
  dim lp {in: {}
          out: {"1"* "2"* "3"*}
          order: <"^" "1" "2" "3">}
  dim lex {word: "a"}}

defentry {
  dim id {in: {a?}
          out: {a? b! c!}}
  dim lp {in: {"1"!}}
  dim lex {word: "a"}}

defentry {
  dim id {in: {b!}}
  dim lp {in: {"2"!}}
  dim lex {word: "b"}}

defentry {
  dim id {in: {c!}}
  dim lp {in: {"3"!}}
  dim lex {word: "c"}}