aenv.specs 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219
  1. a_env = cluster is create, % -> env
  2. set_input, % env, file ->
  3. get_input, % env -> file
  4. set_output, % file -> env
  5. get_output, % file -> env
  6. get_lh_equate, % env -> bool
  7. set_lh_equate, % env, bool ->
  8. begin_cluster, % env ->
  9. end_cluster, % env ->
  10. use_owndata, % env ->
  11. begin_proc, % env ->
  12. end_proc, % env ->
  13. get_arg_count, % env -> int
  14. set_arg_count, % env, int ->
  15. set_proc_type, % env, wrd ->
  16. add_option, % env, int ->
  17. add_clink, % env, wrd ->
  18. add_plink, % env, wrd -> int
  19. add_link, % env, wrd -> int
  20. add_odlink, % env, wrd -> int
  21. add_vinit, % env, wrd -> int
  22. add_mlink, % env, wrd ->
  23. add_rlink, % env, int, aw -> wrd
  24. add_wrd, % env, wrd
  25. add_eblock, % env ->
  26. begin_loop, % env ->
  27. end_loop, % env ->
  28. get_loop_disp, % env -> wrd
  29. begin_if, % env ->
  30. begin_else, % env ->
  31. end_if, % env ->
  32. get_fi_disp, % env -> wrd
  33. get_else_disp, % env -> wrd
  34. begin_tagcase, % env ->
  35. end_tagcase, % env ->
  36. get_tags_exist, % env -> bool
  37. set_tags_exist, % env, bool ->
  38. begin_catch, % env ->
  39. begin_except, % env, wrd, aw ->
  40. end_catch, % env ->
  41. get_uncatch_disp, % env -> wrd
  42. define, % env, str, wrd ->
  43. defmac, % env, str, mtype ->
  44. label, % env, str -> wrd
  45. lookup, % env, str -> wrd
  46. dlookup, % env, str -> def
  47. err, % env, str ->
  48. undefined, % env, str ->
  49. get_char_tab, % env -> ai
  50. get_temp_ac, % env -> ac
  51. newline, % env ->
  52. dump; % env, file ->
  53. rep = any;
  54. create = proc () returns (env);
  55. end create;
  56. get_input = proc (e: env) returns (file);
  57. end get_input;
  58. set_input = proc (e: env, f: file);
  59. end set_input;
  60. get_output = proc (e: env) returns (file);
  61. end get_output;
  62. set_output = proc (e: env, f: file);
  63. end set_output;
  64. get_lh_equate = proc (e: env) returns (bool);
  65. end get_lh_equate;
  66. set_lh_equate = proc (e: env, b: bool);
  67. end set_lh_equate;
  68. begin_cluster = proc (e: env);
  69. end begin_cluster;
  70. end_cluster = proc (e: env);
  71. end end_cluster;
  72. use_owndata = proc (e: env);
  73. end use_owndata;
  74. begin_proc = proc (e: env);
  75. end begin_proc;
  76. end_proc = proc (ee: env);
  77. end end_proc;
  78. get_arg_count = proc (e: env) returns (int);
  79. end get_arg_count;
  80. set_arg_count = proc (e: env, cnt: int);
  81. end set_arg_count;
  82. set_proc_type = proc (e: env, w: wrd);
  83. end set_proc_type;
  84. add_option = proc (e: env, opt: int);
  85. end add_option;
  86. add_clink = proc (e: env, w: wrd) returns (int);
  87. end add_clink;
  88. add_plink = proc (e: env, w: wrd) returns (int);
  89. end add_plink;
  90. add_link = proc (e: env, w: wrd) returns (int);
  91. end add_link;
  92. add_odlink = proc (e: env, w: wrd) returns (int);
  93. end add_odlink;
  94. add_vinit = proc (e: env, w: wrd) returns (int);
  95. end add_vinit;
  96. add_mlink = proc (e: env, w: wrd);
  97. end add_mlink;
  98. add_rlink = proc (e: env, typ: int, vec: aw) returns (wrd);
  99. end add_rlink;
  100. add_wrd = proc (e: env, w: wrd);
  101. end add_wrd;
  102. add_eblock = proc (e: env);
  103. end add_eblock;
  104. begin_loop = proc (e: env);
  105. end begin_loop;
  106. end_loop = proc (e: env);
  107. end end_loop;
  108. get_loop_disp = proc (e: env) returns (wrd);
  109. end get_loop_disp;
  110. begin_if = proc (e: env);
  111. end begin_if;
  112. begin_else = proc (e: env);
  113. end begin_else;
  114. end_if = proc (e: env);
  115. end end_if;
  116. get_fi_disp = proc (e: env) returns (wrd);
  117. end get_fi_disp;
  118. get_else_disp = proc (e: env) returns (wrd);
  119. end get_else_disp;
  120. begin_tagcase = proc (e: env);
  121. end begin_tagcase;
  122. get_tags_exist = proc (e: env) returns (bool);
  123. end get_tags_exist;
  124. set_tags_exist = proc (e: env, b: bool);
  125. end set_tags_exist;
  126. end_tagcase = proc (e: env);
  127. end end_tagcase;
  128. begin_catch = proc (e: env);
  129. end begin_catch;
  130. begin_except = proc (e: env, var: wrd, names: aw);
  131. end begin_except;
  132. end_catch = proc (e: env);
  133. end end_catch;
  134. get_uncatch_disp = proc (e: env) returns (wrd);
  135. end get_uncatch_disp;
  136. define = proc (e: env, sym: str, val: wrd);
  137. end define;
  138. defmac = proc (e: env, sym: str, mac: mtype);
  139. end defmac;
  140. label = proc (e: env, sym: str) returns (wrd);
  141. end label;
  142. lookup = proc (e: env, sym: str) returns (wrd);
  143. end lookup;
  144. dlookup = proc (e: env, sym: str) returns (def);
  145. end dlookup;
  146. err = proc (e: env, why: str);
  147. end err;
  148. undefined = proc (e: env, sym: str);
  149. end undefined;
  150. get_char_tab = proc (e: env) returns (ai);
  151. end get_char_tab;
  152. get_temp_ac = proc (e: env) returns (ac);
  153. end get_temp_ac;
  154. newline = proc (e: env);
  155. end newline;
  156. new_sym = proc (s: str) returns (str);
  157. end new_sym;
  158. put_wrd = proc (e: rep, w: wrd);
  159. end put_wrd;
  160. dump = proc (e: env, f: file);
  161. end dump;
  162. end a_env;