home *** CD-ROM | disk | FTP | other *** search
/ GEMini Atari / GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso / files / language / sbprolog / nrev_p.asl < prev    next >
Encoding:
Text File  |  1993-10-23  |  3.5 KB  |  205 lines

  1. label((nrev,2,14)).
  2. switchonlist(1,(nrev,2,'12nil'),(nrev,2,'13lis')).
  3. label((sot_label,-1,15)).
  4. try((nrev,2,12),2).
  5. trust((nrev,2,13),2).
  6. label((nrev,2,12)).
  7. getnil(1).
  8. label((nrev,2,'12nil')).
  9. getnil(2).
  10. proceed.
  11. label((nrev,2,13)).
  12. allocate(5).
  13. getlist(1).
  14. jump((nrev,2,17)).
  15. label((nrev,2,'13lis')).
  16. allocate(5).
  17. getlist_k(1).
  18. label((nrev,2,17)).
  19. unipvar(2).
  20. unitvar(1).
  21. getpvar(3,2).
  22. putpvar(4,2).
  23. call(nrev,2,5).
  24. putuval(4,1).
  25. putlist(2).
  26. bldpval(2).
  27. bldnil.
  28. putuval(3,3).
  29. deallocate.
  30. execute((append,3)).
  31. label((append,3,35)).
  32. switchonlist(1,(append,3,'33nil'),(append,3,'34lis')).
  33. label((sot_label,-1,36)).
  34. try((append,3,33),3).
  35. trust((append,3,34),3).
  36. label((append,3,33)).
  37. getnil(1).
  38. label((append,3,'33nil')).
  39. gettval(2,3).
  40. proceed.
  41. label((append,3,34)).
  42. getlist_tvar_tvar(1,4,1).
  43. jump((append,3,38)).
  44. label((append,3,'34lis')).
  45. getlist_k_tvar_tvar(1,4,1).
  46. label((append,3,38)).
  47. getlist(3).
  48. unitval(4).
  49. unitvar(3).
  50. switchonlist(1,(append,3,'33nil'),(append,3,'34lis')).
  51. try((append,3,33),3).
  52. trust((append,3,34),3).
  53. label((bench,1,53)).
  54. allocate(6).
  55. getpvar(2,1).
  56. putpvar(3,1).
  57. call(cputime,1,6).
  58. putpval(2,1).
  59. call(dodummy,1,6).
  60. putpvar(4,1).
  61. call(cputime,1,6).
  62. putpval(2,1).
  63. call(dobench,1,6).
  64. putpvar(5,1).
  65. call(cputime,1,6).
  66. putuval(2,1).
  67. putuval(3,2).
  68. putuval(4,3).
  69. putuval(5,4).
  70. deallocate.
  71. execute((report,4)).
  72. label((dobench,1,66)).
  73. label((sot_label,-1,67)).
  74. try((dobench,1,64),1).
  75. trust((dobench,1,65),1).
  76. label((dobench,1,64)).
  77. allocate(5).
  78. getpvar(2,1).
  79. putpvar(3,1).
  80. call(data,1,5).
  81. putpval(2,1).
  82. call(repeat,1,5).
  83. putpval(3,1).
  84. putpvar(4,2).
  85. call(nrev,2,5).
  86. fail.
  87. deallocate.
  88. proceed.
  89. label((dobench,1,65)).
  90. proceed.
  91. label((dodummy,1,80)).
  92. label((sot_label,-1,81)).
  93. try((dodummy,1,78),1).
  94. trust((dodummy,1,79),1).
  95. label((dodummy,1,78)).
  96. allocate(5).
  97. getpvar(2,1).
  98. putpvar(3,1).
  99. call(data,1,5).
  100. putpval(2,1).
  101. call(repeat,1,5).
  102. putpval(3,1).
  103. putpvar(4,2).
  104. call(dummy,2,5).
  105. fail.
  106. deallocate.
  107. proceed.
  108. label((dodummy,1,79)).
  109. proceed.
  110. label((dummy,2,86)).
  111. proceed.
  112. label((data,1,90)).
  113. putnumcon(30,2).
  114. execute((data,2)).
  115. label((data,2,103)).
  116. switchonlist(1,(data,2,'101nil'),(data,2,'102lis')).
  117. label((sot_label,-1,104)).
  118. try((data,2,101),2).
  119. trust((data,2,102),2).
  120. label((data,2,101)).
  121. getnil(1).
  122. label((data,2,'101nil')).
  123. getnumcon(0,2).
  124. proceed.
  125. label((data,2,102)).
  126. getlist(1).
  127. jump((data,2,106)).
  128. label((data,2,'102lis')).
  129. getlist_k(1).
  130. label((data,2,106)).
  131. unicon(a).
  132. unitvar(1).
  133. movreg(2,3).
  134. movreg(3,4).
  135. jumple(4,abs(-1)).
  136. putnumcon(1,4).
  137. subreg(4,3).
  138. movreg(3,2).
  139. switchonlist(1,(data,2,'101nil'),(data,2,'102lis')).
  140. try((data,2,101),2).
  141. trust((data,2,102),2).
  142. label((repeat,1,118)).
  143. label((sot_label,-1,119)).
  144. try((repeat,1,116),1).
  145. trust((repeat,1,117),1).
  146. label((repeat,1,116)).
  147. proceed.
  148. label((repeat,1,117)).
  149. movreg(1,2).
  150. movreg(2,3).
  151. putnumcon(1,4).
  152. subreg(4,3).
  153. jumple(3,abs(-1)).
  154. putnumcon(1,3).
  155. subreg(3,2).
  156. movreg(2,1).
  157. execute((repeat,1)).
  158. label((report,4,151)).
  159. allocate(10).
  160. getpvar(2,1).
  161. getpvar(3,2).
  162. getpvar(4,3).
  163. getpvar(5,4).
  164. putpval(3,1).
  165. call(write,1,10).
  166. call(nl,0,10).
  167. putpval(4,1).
  168. call(write,1,10).
  169. call(nl,0,10).
  170. putpval(5,1).
  171. call(write,1,10).
  172. call(nl,0,10).
  173. putdval(4,1).
  174. putdval(3,2).
  175. subreg(2,1).
  176. getpvar(6,1).
  177. call(write,1,10).
  178. call(nl,0,10).
  179. putdval(5,1).
  180. putdval(4,2).
  181. subreg(2,1).
  182. getpvar(7,1).
  183. call(write,1,10).
  184. call(nl,0,10).
  185. putdval(7,1).
  186. putdval(6,2).
  187. subreg(2,1).
  188. getpvar(8,1).
  189. call(write,1,10).
  190. call(nl,0,10).
  191. putnumcon(496,1).
  192. putdval(2,2).
  193. mulreg(2,1).
  194. putnumcon(1000,2).
  195. mulreg(2,1).
  196. putdval(8,2).
  197. divreg(2,1).
  198. getpvar(9,1).
  199. putcon('Lips = ',1).
  200. call(write,1,10).
  201. putpval(9,1).
  202. call(write,1,10).
  203. deallocate.
  204. execute((nl,0)).
  205.