% file: TS_la2.mp - grammar railroad diagrams for mpost program % date: Wed Nov 08 16:30:19 2006 input "/yacco2/library/o2diag.mp" numeric no_of_rules,Box_solid,Box_dotted,Circle_solid,Circle_dotted; Box_solid:=1;Box_dotted:=2;Circle_solid:=3;Circle_dotted:=4; string rule_names[].literal; string rule_names[].vname; numeric rule_s_no_rhs[]; string rhs_elems[][][].literal; string rhs_elems[][][].vname; numeric rhs_elems[][][].Drw_how; numeric rule_s_subrule_no_elems[][]; no_of_rules := 2; rule_names[1].literal := "Reol";rule_names[1].vname := "Reol"; rule_s_no_rhs[1] := 1; rule_s_subrule_no_elems[1][1]:= 1; rhs_elems[1][1][1].literal := "Rdelimiters"; rhs_elems[1][1][1].Drw_how := Box_solid; rhs_elems[1][1][1].vname := "aaaaaa"; rule_names[2].literal := "Rdelimiters";rule_names[2].vname := "Rdelimiters"; rule_s_no_rhs[2] := 3; rule_s_subrule_no_elems[2][1]:= 1; rhs_elems[2][1][1].literal := "x0a"; rhs_elems[2][1][1].Drw_how := Circle_solid; rhs_elems[2][1][1].vname := "abaaaa"; rule_s_subrule_no_elems[2][2]:= 2; rhs_elems[2][2][1].literal := "x0d"; rhs_elems[2][2][1].Drw_how := Circle_solid; rhs_elems[2][2][1].vname := "ababaa"; rhs_elems[2][2][2].literal := "|.|"; rhs_elems[2][2][2].Drw_how := Circle_solid; rhs_elems[2][2][2].vname := "ababab"; rule_s_subrule_no_elems[2][3]:= 2; rhs_elems[2][3][1].literal := "x0d"; rhs_elems[2][3][1].Drw_how := Circle_solid; rhs_elems[2][3][1].vname := "abacaa"; rhs_elems[2][3][2].literal := "x0a"; rhs_elems[2][3][2].Drw_how := Circle_solid; rhs_elems[2][3][2].vname := "abacab"; init_variables; beginfig(1); drw_rule(1); endfig; beginfig(2); drw_rule_a_rhs(1,1); endfig; beginfig(3); drw_rule(2); endfig; beginfig(4); drw_rule_a_rhs(2,1); endfig; beginfig(5); drw_rule_a_rhs(2,2); endfig; beginfig(6); drw_rule_a_rhs(2,3); endfig; end;