Added upstream from http://ftp.icm.edu.pl/pub/loglan/
[loglan.git] / utils / editor.dos / edibase0.dba
1 template("program","program",[txtfield(0,0,7,"program"),field("name",u,0,7,8,ref(0)," <name> ",0),txtfield(0,15,1,";"),tmpfield("body1",1,0)],5,14)\r
2 template("program-block","program",[txtfield(0,0,5,"block"),tmpfield("body1",1,0)],5,14)\r
3 template("block","block",[txtfield(0,0,5,"block"),tmpfield("body",1,0),txtfield(9,14,1,";")],6,15)\r
4 template("pref...block","block",[txtfield(0,0,4,"pref"),field("prefix_id",ru,0,4,13,ref(0)," <prefix_id> ",0),field("actual_pars",ru,0,17,15,ref(0)," <actual_pars> ",0),txtfield(0,32,5,"block"),tmpfield("body",1,0),txtfield(9,14,1,";")],6,15)\r
5 template("body1","aux",[field("declarations",rli,0,2,14,ref(0),"<declarations>",0),txtfield(1,0,5,"begin"),field("statements",rli,2,2,12,ref(0),"<statements>",0),txtfield(3,0,3,"end"),field("comment",ru,3,3,11,ref(0)," <comment> ",0)],4,14)\r
6 template("body","aux",[field("declarations",rli,0,2,14,ref(0),"<declarations>",0),txtfield(1,0,5,"begin"),field("statements",rli,2,2,12,ref(0),"<statements>",0),field("lastwill",rt,3,2,10,ref(0),"<lastwill>",0),txtfield(4,0,3,"end"),field("comment",ru,4,3,11,ref(0)," <comment> ",0)],5,14)\r
7 template("lastwill","lastwill",[txtfield(0,0,9,"lastwill:"),field("statements",rli,0,9,12,ref(0),"<statements>",0)],1,21)\r
8 template("declarations","declaration",[txtfield(0,0,2,"  "),field("declaration",rem,0,2,13,ref(0),"<declaration>",0),txtfield(0,15,2,"  ")],1,17)\r
9 template("constant","constant1",[txtfield(0,0,5,"const"),field("id",u,0,5,6,ref(0)," <id> ",0),txtfield(0,11,1,"="),field("value",u,0,12,9,ref(0)," <value> ",0),txtfield(0,21,1,";")],1,22)\r
10 template("grouped_var","grouped_var1",[txtfield(0,0,3,"var"),field("id_list",u,0,3,14,ref(0)," <id> {,<id>} ",0),txtfield(0,17,1,":"),field("type",tm,0,18,6,ref(0),"<type>",0),txtfield(0,24,1,";")],1,25)\r
11 template("primitive","primitive_type",[field("prim_id",m,0,0,16,ref(0),"<primitive_type>",0)],1,16)\r
12 template("identifier","id_type",[field("id",u,0,0,11,ref(0)," <id_type> ",0)],1,11)\r
13 template("class","class",[tmpfield("head",0,0),txtfield(0,26,5,"class"),field("parameters",rli,0,31,12,ref(0),"<parameters>",0),txtfield(0,43,1,";"),tmpfield("tch_body",1,0),txtfield(8,14,1,";")],9,15)\r
14 template("function","function",[tmpfield("head",0,0),txtfield(0,26,8,"function"),field("parameters",rli,0,34,12,ref(0),"<parameters>",0),txtfield(0,46,1,":"),field("type",tm,0,47,6,ref(0),"<type>",0),txtfield(0,53,1,";"),field("taken",rt,1,2,7,ref(0),"<taken>",0),tmpfield("body",2,0),txtfield(6,14,1,";")],7,15)\r
15 template("procedure","procedure",[tmpfield("head",0,0),txtfield(0,26,9,"procedure"),field("parameters",rli,0,35,12,ref(0),"<parameters>",0),txtfield(0,47,1,";"),field("taken",rt,1,2,7,ref(0),"<taken>",0),tmpfield("body",2,0),txtfield(6,14,1,";")],7,15)\r
16 template("virt_function","virt_function",[tmpfield("virt_head",0,0),txtfield(0,34,8,"function"),field("parameters",rli,0,42,12,ref(0),"<parameters>",0),txtfield(0,54,1,":"),field("type",tm,0,55,6,ref(0),"<type>",0),txtfield(0,61,1,";"),field("taken",rt,1,2,7,ref(0),"<taken>",0),tmpfield("body",2,0),txtfield(6,14,1,";")],7,15)\r
17 template("virt_procedure","virt_procedure",[tmpfield("virt_head",0,0),txtfield(0,34,9,"procedure"),field("parameters",rli,0,43,12,ref(0),"<parameters>",0),txtfield(0,55,1,";"),field("taken",rt,1,2,7,ref(0),"<taken>",0),tmpfield("body",2,0),txtfield(6,14,1,";")],7,15)\r
18 template("coroutine","coroutine",[tmpfield("head",0,0),txtfield(0,26,9,"coroutine"),field("parameters",rli,0,35,12,ref(0),"<parameters>",0),txtfield(0,47,1,";"),tmpfield("tch_body",1,0),txtfield(8,14,1,";")],9,15)\r
19 template("process","process",[tmpfield("head",0,0),txtfield(0,26,7,"process"),field("parameters",rli,0,33,12,ref(0),"<parameters>",0),txtfield(0,45,1,";"),tmpfield("tch_body",1,0),txtfield(8,14,1,";")],9,15)\r
20 template("head","aux",[txtfield(0,0,4,"unit"),field("name",u,0,4,8,ref(0)," <name> ",0),txtfield(0,12,1,":"),field("prefix_id",ru,0,13,13,ref(0)," <prefix_id> ",0)],1,26)\r
21 template("virt_head","aux",[txtfield(0,0,12,"unit virtual"),field("name",u,0,12,8,ref(0)," <name> ",0),txtfield(0,20,1,":"),field("prefix_id",ru,0,21,13,ref(0)," <prefix_id> ",0)],1,34)\r
22 template("tch_body","aux",[field("taken",rt,0,2,7,ref(0),"<taken>",0),field("close",rt,1,2,7,ref(0),"<close>",0),field("hidden",rt,2,2,8,ref(0),"<hidden>",0),tmpfield("body",3,0)],7,14)\r
23 template("taken","taken",[txtfield(0,0,5,"taken"),field("taken",ru,0,5,14,ref(0)," <id> {,<id>} ",0),txtfield(0,19,1,";")],1,20)\r
24 template("close","close",[txtfield(0,0,5,"close"),field("close",ru,0,5,14,ref(0)," <id> {,<id>} ",0),txtfield(0,19,1,";")],1,20)\r
25 template("hidden","hidden",[txtfield(0,0,6,"hidden"),field("hidden",ru,0,6,14,ref(0)," <id> {,<id>} ",0),txtfield(0,20,1,";")],1,21)\r
26 template("signal","signal1",[txtfield(0,0,6,"signal"),field("id",u,0,6,6,ref(0)," <id> ",0),field("s_parameters",rli,0,12,12,ref(0),"<parameters>",0),txtfield(0,24,1,";")],1,25)\r
27 template("s_parameters","parameter",[txtfield(0,0,1,"("),field("s_parameter",rem,0,1,11,ref(0),"<parameter>",0),txtfield(0,12,1,")")],1,13)\r
28 template("input","input_par",[txtfield(0,0,5,"input"),tmpfield("io_rest",0,5)],1,30)\r
29 template("output","output_par",[txtfield(0,0,6,"output"),tmpfield("io_rest",0,6)],1,31)\r
30 template("inout","in_out_par",[txtfield(0,0,5,"inout"),tmpfield("io_rest",0,5)],1,30)\r
31 template("io_rest","aux",[field("id_list",u,0,0,14,ref(0)," <id> {,<id>} ",0),txtfield(0,14,1,":"),field("type",tm,0,15,6,ref(0),"<type>",0),field("sep",rt,0,21,3,ref(0),"<;>",0),txtfield(0,24,1," ")],1,25)\r
32 template("sep","sep",[txtfield(0,0,1,";")],1,1)\r
33 template("type","type_par",[txtfield(0,0,4,"type"),field("id",u,0,4,6,ref(0)," <id> ",0),field("sep",rt,0,10,3,ref(0),"<;>",0),txtfield(0,13,1," ")],1,14)\r
34 template("func_par","fun_par",[txtfield(0,0,8,"function"),field("id",u,0,8,6,ref(0)," <id> ",0),field("sep",rt,0,14,3,ref(0),"<;>",0),txtfield(0,17,1," ")],1,18)\r
35 template("proc_par","proc_par",[txtfield(0,0,9,"procedure"),field("id",u,0,9,6,ref(0)," <id> ",0),field("sep",rt,0,15,3,ref(0),"<;>",0),txtfield(0,18,1," ")],1,19)\r
36 template("parameters","parameter",[txtfield(0,0,1,"("),field("parameter",rem,0,1,11,ref(0),"<parameter>",0),txtfield(0,12,1,")")],1,13)\r
37 template("fun_param","fun_param",[txtfield(0,0,8,"function"),field("s_parameters",rli,0,8,12,ref(0),"<parameters>",0),txtfield(0,20,1,":"),field("type",tm,0,21,6,ref(0),"<type>",0),field("sep",rt,0,27,3,ref(0),"<;>",0),txtfield(0,30,1," ")],1,31)\r
38 template("proc_param","proc_param",[txtfield(0,0,9,"procedure"),field("s_parameters",rli,0,9,12,ref(0),"<parameters>",0),field("sep",rt,0,21,3,ref(0),"<;>",0),txtfield(0,24,1," ")],1,25)\r
39 template("handlers","handlers",[txtfield(0,0,8,"handlers"),field("s_handlers",rli,1,1,12,ref(0),"<s_handlers>",0),field("others",rli,2,1,8,ref(0),"<others>",0),txtfield(3,0,3,"end")],4,3)\r
40 template("s_handlers","handler",[txtfield(0,0,1," "),field("s_handler",re,0,1,11,ref(0),"<s_handler>",0),txtfield(0,12,1," ")],1,13)\r
41 template("s_handler","handler1",[txtfield(0,0,4,"when"),field("id_list",u,0,4,14,ref(0)," <id> {,<id>} ",0),field("s_parameters",rli,0,18,12,ref(0),"<parameters>",0),txtfield(0,30,1,":"),field("statements",rli,1,1,12,ref(0),"<statements>",0)],2,13)\r
42 template("others","block_stat",[txtfield(0,1,6,"others"),field("statement",rem,1,2,11,ref(0),"<statement>",0)],2,13)\r
43 template("statements","statement",[txtfield(0,0,2,"  "),field("statement",rem,0,2,11,ref(0),"<statement>",0),txtfield(0,13,2,"  ")],1,15)\r
44 template("ifthen","aux",[txtfield(0,0,2,"if"),field("if_cond",u,0,2,8,ref(0)," <cond> ",0),txtfield(0,10,4,"then"),field("then_statements",rli,1,4,12,ref(0),"<statements>",0)],2,16)\r
45 template("then_statements","statement",[txtfield(0,0,1," "),field("statement",rem,0,1,11,ref(0),"<statement>",0),txtfield(0,12,1," ")],1,13)\r
46 template("else_statements","statement",[txtfield(0,0,1," "),field("statement",rem,0,1,11,ref(0),"<statement>",0),txtfield(0,12,1," ")],1,13)\r
47 template("if_then","if_then",[tmpfield("ifthen",0,0),txtfield(2,0,3,"fi;")],3,3)\r
48 template("if_then_else","if_then_else",[tmpfield("ifthen",0,0),txtfield(2,2,4,"else"),field("else_statements",rli,3,4,12,ref(0),"<statements>",0),txtfield(4,0,3,"fi;")],5,3)\r
49 template("do","do",[txtfield(0,0,2,"do"),field("statements",rli,1,2,12,ref(0),"<statements>",0),txtfield(2,0,3,"od;")],3,3)\r
50 template("while","while",[txtfield(0,0,5,"while"),field("cond",u,0,5,8,ref(0)," <cond> ",0),tmpfield("do",1,2)],4,5)\r
51 template("for","aux",[txtfield(0,0,3,"for"),field("id",u,0,3,6,ref(0)," <id> ",0),txtfield(0,9,2,":="),field("start_expr",u,0,11,14,ref(0)," <start_value> ",0)],1,25)\r
52 template("for_to","for_to",[tmpfield("for",0,0),txtfield(0,25,2,"to"),field("stop_expr",u,0,27,13,ref(0)," <stop_expr> ",0),tmpfield("do",1,2)],4,5)\r
53 template("for_step_to","for_step_to",[tmpfield("for",0,0),txtfield(0,25,4,"step"),field("step",u,0,29,8,ref(0)," <step> ",0),txtfield(0,37,2,"to"),field("stop_expr",u,0,39,13,ref(0)," <stop_expr> ",0),tmpfield("do",1,2)],4,5)\r
54 template("for_downto","for_downto",[tmpfield("for",0,0),txtfield(0,25,6,"downto"),field("stop_expr",u,0,31,13,ref(0)," <stop_expr> ",0),tmpfield("do",1,2)],4,5)\r
55 template("for_step_downto","for_step_downto",[tmpfield("for",0,0),txtfield(0,25,4,"step"),field("step",u,0,29,8,ref(0)," <step> ",0),txtfield(0,37,6,"downto"),field("stop_expr",u,0,43,13,ref(0)," <stop_expr> ",0),tmpfield("do",1,2)],4,5)\r
56 template("case","case",[txtfield(0,0,4,"case"),field("ac_expr",u,0,4,8,ref(0)," <expr> ",0),field("selectors",rli,1,2,11,ref(0),"<selectors>",0),field("others",rli,2,2,8,ref(0),"<others>",0),txtfield(3,0,5,"esac;")],4,5)\r
57 template("selectors","selector",[txtfield(0,0,1," "),field("selector",re,0,1,10,ref(0),"<selector>",0),txtfield(0,7,1," ")],1,8)\r
58 template("selector","selector1",[txtfield(0,0,4,"when"),field("value_list",u,0,4,20,ref(0)," <value> {,<value>} ",0),txtfield(0,24,1,":"),field("statements",rli,1,2,12,ref(0),"<statements>",0)],2,14)\r
59 template("read","read",[txtfield(0,0,6,"read ("),field("var_list",u,0,6,16,ref(0)," <var> {,<var>} ",0),txtfield(0,22,2,");")],1,24)\r
60 template("write","write",[txtfield(0,0,7,"write ("),field("exf_list",u,0,7,18,ref(0)," <expr> {,<expr>} ",0),txtfield(0,25,2,");")],1,27)\r
61 template("writeln(...)","writeln",[txtfield(0,0,9,"writeln ("),field("expr_list",u,0,9,18,ref(0)," <expr> {,<expr>} ",0),txtfield(0,2,2,");")],1,29)\r
62 template("writeln","writeln",[txtfield(0,0,8,"writeln;")],1,8)\r
63 template("assign","assign",[field("var_list",u,0,0,16,ref(0)," <var> {,<var>} ",0),txtfield(0,16,2,":="),field("expr",u,0,18,8,ref(0)," <expr> ",0),txtfield(0,26,1,";")],1,27)\r
64 template("copy","copy",[field("var_list",u,0,0,16,ref(0)," <var> {,<var>} ",0),txtfield(0,16,9,":= copy ("),field("object_expr",u,0,25,15,ref(0)," <object_expr> ",0),txtfield(0,40,2,");")],1,42)\r
65 template("call","call",[txtfield(0,0,4,"call"),field("procedure_expr",u,0,4,18,ref(0)," <procedure_expr> ",0),field("actual_pars",ru,0,22,15,ref(0)," <actual_pars> ",0),txtfield(0,37,1,";")],1,38)\r
66 template("new_array","new_array",[txtfield(0,0,9,"new_array"),field("var",u,0,9,7,ref(0)," <var> ",0),txtfield(0,16,5,"dim ["),field("lower_bound",u,0,21,15,ref(0)," <lower_bound> ",0),txtfield(0,36,1,":"),field("upper_bound",u,0,37,15,ref(0)," <upper_bound> ",0),txtfield(0,52,2,"];")],1,54)\r
67 template("kill","kill",[txtfield(0,0,6,"kill ("),field("object_expr",u,0,6,15,ref(0)," <object_expr> ",0),txtfield(0,21,2,");")],1,23)\r
68 template("attach","attach",[txtfield(0,0,8,"attach ("),field("object_expr",u,0,8,15,ref(0)," <object_expr> ",0),txtfield(0,23,2,");")],1,25)\r
69 template("detach","detach",[txtfield(0,0,7,"detach;")],1,7)\r
70 template("lock","lock",[txtfield(0,0,6,"lock ("),field("var",u,0,6,7,ref(0)," <var> ",0),txtfield(0,13,2,");")],1,15)\r
71 template("unlock","unlock",[txtfield(0,0,8,"unlock ("),field("var",u,0,8,7,ref(0)," <var> ",0),txtfield(0,15,2,");")],1,17)\r
72 template("ts","ts",[txtfield(0,0,4,"lock ("),field("var",u,0,4,7,ref(0)," <var> ",0),txtfield(0,11,2,");")],1,13)\r
73 template("stop(...)","stop",[txtfield(0,0,6,"stop ("),field("var",u,0,6,7,ref(0)," <var> ",0),txtfield(0,13,2,");")],1,15)\r
74 template("stop","stop",[txtfield(0,0,5,"stop;")],1,5)\r
75 template("resume","resume",[txtfield(0,0,8,"resume ("),field("object_expr",u,0,8,15,ref(0)," <object_expr> ",0),txtfield(0,23,2,");")],1,25)\r
76 template("wait","wait",[txtfield(0,0,5,"wait;")],1,5)\r
77 template("raise","raise",[txtfield(0,0,5,"raise"),field("id",u,0,5,6,ref(0)," <id> ",0),field("actual_pars",ru,0,11,15,ref(0)," <actual_pars> ",0),txtfield(0,26,1,";")],1,27)\r
78 template("wind","wind",[txtfield(0,0,5,"wind;")],1,5)\r
79 template("terminate","terminate",[txtfield(0,0,10,"terminate;")],1,10)\r
80 template("repeat","repeat",[txtfield(0,0,7,"repeat;")],1,7)\r
81 template("inner","inner",[txtfield(0,0,6,"inner;")],1,6)\r
82 template("return","return",[txtfield(0,0,7,"return;")],1,7)\r
83 menu_temp("program_unit",1,70,["program","program-block"])\r
84 menu_temp("type",1,67,["primitive","identifier","array"])\r
85 menu_temp("prim_id",1,68,["integer","real","boolean","character","string","semaphore","process","coroutine"])\r
86 menu_temp("elem_id",1,66,[" integer"," real"," boolean"," character"," string"," semaphore"," process"," coroutine"," identifier"])\r
87 menu_temp("declaration",1,63,["constant","grouped_var","signal","handlers","class","function","procedure","virt_function","virt_procedure","coroutine","process"])\r
88 menu_temp("s_parameter",1,69,["input","output","inout","fun_par","proc_par","type"])\r
89 menu_temp("parameter",1,67,["input","output","inout","fun_param","proc_param","type"])\r
90 menu_temp("statement",1,53,["assign","copy","call","new_array","kill","exit","repeat","exit repeat","return","inner","block","pref...block","COMPOUND_STATEMENT","INPUT/OUTPUT_STATEMENT","COROUTINE_STATEMENT","PROCESS_STATEMENT","SIGNAL/HANDLER_STATEMENT","SEMAPHORE_STATEMENT"])\r
91 menu_temp("COMPOUND_STATEMENT",1,62,["if_then","if_then_else","do","while","for_to","for_downto","for_step_to","for_step_downto","case"])\r
92 menu_temp("INPUT/OUTPUT_STATEMENT",1,65,["read","write","writeln","writeln(...)"])\r
93 menu_temp("COROUTINE_STATEMENT",1,71,["attach","detach"])\r
94 menu_temp("PROCESS_STATEMENT",1,71,["attach","detach","resume","wait","stop","stop(...)"])\r
95 menu_temp("SIGNAL/HANDLER_STATEMENT",1,68,["raise","return","terminate","wind"])\r
96 menu_temp("SEMAPHORE_STATEMENT",1,68,["lock","unlock","ts","stop(...)"])\r
97 windowsize(17,77)\r
98 windowstart(0,0)\r
99 mycursord(0,0)\r
100 insmode\r
101 keys([])\r
102 fkeys([fkey(1),fkey(2)])\r
103 arrows([right,left,up,down,pgup,pgdn,end,home,ctrlend,ctrlhome,esc])\r
104 object(1)\r
105 helpfile("edihelp0.hlp")\r