~~DEMO.BAT 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284
  1. echo off
  2. rem ------------------------------------------- 11
  3. clear 14,0,1
  4. color 14
  5. big 1,,7,c{{o{{m{{p{{i{{l{{e{{r
  6. color 14,1
  7. box 6,,75,15,2
  8. call ~~wait 10 %1
  9. color 15,1
  10. put 7,,HOW CAN YOU WRITE COMPILER IN RIGAL ?
  11. color 1,7
  12. box 9,7,15,4,2
  13. box 9,55,15,4,2
  14. put 11,13,SOURCE
  15. put 12,12,PROGRAM
  16. put 11,59,RESULTING
  17. put 12,61,CODE
  18. color 14,4
  19. call ~~wait 8 %1
  20. put 11,25,\\\\\
  21. put 12,25,/////
  22. call ~~wait 8 %1
  23. put 11,37,\\\\\
  24. put 12,37,/////
  25. call ~~wait 8 %1
  26. put 11,49,\\\\\
  27. put 12,49,/////
  28. call ~~wait 10 %1
  29. color 0,7
  30. box 9,,15,4,2
  31. put 11,,PROGRAM'S
  32. put 12,,ABSTRACT
  33. put 13,,TREE
  34. color 14,4
  35. call ~~wait 50 %1
  36. put 13,27,V
  37. put 13,51,V
  38. box 14,14,20,3,1
  39. box 14,42,20,3,1
  40. call ~~wait 7 %1
  41. color 14,4
  42. put 15,21, PARSING
  43. put 16,23, and
  44. put 17,18,TREE BUILDING
  45. put 15,43,TRAVERSING THE TREE
  46. put 16,45, AND GENERATION
  47. put 17,47, OF THE CODE
  48. color 15,1
  49. put 21,,YOU WRITE BOTH PHASES IN RIGAL
  50. call ~~wait 150 %1
  51. rem --------------------------------------- 12
  52. clear 14,0,1
  53. color 14
  54. big 1,,7,o{{p{{t{{i{{m{{i{{z{{e{{r
  55. color 14,1
  56. box 6,,75,15,2
  57. call ~~wait 10 %1
  58. color 15,1
  59. put 7,,HOW CAN YOU WRITE OPTIMIZER ?
  60. color 1,7
  61. box 9,7,15,4,2
  62. box 9,55,15,4,2
  63. put 11,13,SOURCE
  64. put 12,12,PROGRAM
  65. put 11,60,OPTIMIZED
  66. put 12,61,PROGRAM
  67. put 13,62,TREE
  68. color 14,4
  69. put 11,25,\\\\\
  70. put 12,25,/////
  71. put 11,49,\\\\\
  72. put 12,49,/////
  73. color 0,7
  74. box 9,,15,4,2
  75. put 11,,PROGRAM'S
  76. put 12,,ABSTRACT
  77. put 13,,TREE
  78. color 14,4
  79. call ~~wait 50 %1
  80. put 13,27,V
  81. put 13,51,V
  82. color 0,7
  83. box 14,14,20,3,1
  84. put 15,16,... SAME PARSING
  85. put 16,23, and
  86. put 17,18,TREE BUILDING
  87. call ~~wait 10 %1
  88. color 14,4
  89. box 14,42,20,3,1
  90. put 15,44,TRAVERSING THE TREE
  91. put 16,51, AND
  92. put 17,44,TRANSFORMING IT
  93. color 15,1
  94. call ~~wait 150 %1
  95. rem ------------------------------------ 13
  96. clear 14,0,1
  97. color 14
  98. big 1,,7,implementation
  99. color 14,1
  100. box 6,,75,15,2
  101. call ~~wait 10 %1
  102. color 15,1
  103. put 7,,IMPLEMENTATION OF RIGAL INCLUDES
  104. color 1,7
  105. box 9,,15,3,2
  106. put 10,,TEXT
  107. put 12,,EDITOR
  108. box 9,8,17,3,2
  109. put 10,13,RIGAL
  110. put 12,12,CHECKER
  111. box 9,52,17,3,2
  112. put 10,59,SERVICE
  113. put 12,58,PROGRAMS
  114. box 15,19,17,3,2
  115. put 17,23,INTERPRETER
  116. box 15,42,17,3,2
  117. put 17,46,COMPILER
  118. call ~~wait 10 %1
  119. color 14,4
  120. put 21,,ALL COMPONENTS ARE CALLED FROM TEXT EDITOR
  121. box 9,,15,3,2
  122. put 10,,TEXT
  123. put 12,,EDITOR
  124. put 10,27,----
  125. put 11,27,----
  126. put 10,48,----
  127. put 11,48,----
  128. put 14,34,!!
  129. put 14,44,!!
  130. call ~~wait 200 %1
  131. color 1,7
  132. box 9,,15,3,2
  133. put 10,,TEXT
  134. put 12,,EDITOR
  135. color 14,4
  136. box 9,8,17,3,2
  137. put 10,13,RIGAL
  138. put 12,12,CHECKER
  139. put 21,,CHECKS RIGAL PROGRAM FOR SYNTAX ERRORS
  140. call ~~wait 50 %1
  141. color 1,7
  142. box 9,8,17,3,2
  143. put 10,13,RIGAL
  144. put 12,12,CHECKER
  145. color 14,4
  146. box 15,19,17,3,2
  147. put 17,23,INTERPRETER
  148. put 21,,EXECUTES RIGAL PROGRAM AFTER CHECKING
  149. call ~~wait 50 %1
  150. color 1,7
  151. box 15,19,17,3,2
  152. put 17,23,INTERPRETER
  153. color 14,4
  154. box 15,42,17,3,2
  155. put 17,46,COMPILER
  156. put 21,,Compiles RIGAL program to PASCAL and then to ".EXE" file
  157. call ~~wait 50 %1
  158. color 1,7
  159. box 15,42,17,3,2
  160. put 17,46,COMPILER
  161. color 14,4
  162. box 9,52,17,3,2
  163. put 10,59,SERVICE
  164. put 12,58,PROGRAMS
  165. put 21,,Different services like CROSS-REFERENCER or LINT
  166. call ~~wait 60 %1
  167. call ~~contin.BAT %1
  168. rem ------------------------------------ 14
  169. clear 14,0,1
  170. color 14
  171. big 1,,7,implementation
  172. color 15,1
  173. box 5,,60,17,2
  174. put 6,,RIGAL IMPLEMENTED IN
  175. put 7,,PDP-11 for RSX-11M
  176. put 8,,VAX for VAX/VMS
  177. color 15,0
  178. put 9,,IBM/PC/XT/AT for MS-DOS/PC-DOS and MS-WINDOWS
  179. color 15,1
  180. put 10,,SUN-4 workstations for SUN/UNIX
  181. put 12,,Tool requires minimum 2 MBytes of hard disc space
  182. put 13,,and 640 KBytes of RAM memory.
  183. put 14,,Size of one RIGAL program - not more than 40 000 tokens.
  184. put 16,,All implementations are written
  185. put 17,,in PASCAL and RIGAL itself.
  186. put 18,,THREE LARGE SYSTEMS WERE WRITTEN IN RIGAL:
  187. put 19,,compiler from RIGAL to PASCAL,
  188. put 20,,compiler from SDL/PLUS to PASCAL and
  189. put 21,,compiler from GRAPES/4GL to INFORMIX/4GL plus C
  190. call ~~wait 200 %1
  191. rem ------------------------------------ 15
  192. clear 14,0,1
  193. color 14
  194. big 1,,8,H{{O{{W{{{{I{{T
  195. big 9,,8,W{{O{{R{{K{{S
  196. box 17,,60,3,2
  197. put 18,,LOOK HOW TO CREATE A SIMPLE PROGRAM
  198. put 19,,in file EXA.RIG and EXECUTE IT
  199. put 20,,USING THE RIGAL INTEGRATED ENVIRONMENT
  200. call ~~wait 200 %1
  201. if exist exa.rig del exa.rig
  202. RIG.EXE EMPTY ~~demo_D.dat
  203. if errorlevel 5 ~~stop
  204. rem ------------------------------------ 16
  205. clear 14,0,1
  206. color 14
  207. big 1,,7,How to debug
  208. big 7,,7,RIGAL program ?
  209. box 13,,60,5,2
  210. put 15,,LOOK HOW TO DEBUG
  211. put 17,,EXISTING PROGRAM in file EXA.RIG
  212. call ~~wait 200 %1
  213. RIG.EXE EXA ~~demo_F.DAT
  214. if errorlevel 5 ~~stop
  215. CALL ~~contin.BAT %1
  216. rem ------------------------------------ 17
  217. clear 14,0,1
  218. color 14
  219. big 1,,7,How to write
  220. big 7,,7,parser ?
  221. box 15,,60,4,2
  222. put 16,,LOOK HOW TO HAVE
  223. put 17,,AN ARITHMETICAL EXPRESSION FROM FILE,
  224. put 18,,HOW TO PARSE IT,
  225. put 19,,HOW TO GENERATE THE POLISH POSTFIX FORM.
  226. call ~~wait 200 %1
  227. RIG.EXE EMPTY ~~DEMO_G.DAT
  228. if errorlevel 5 ~~stop
  229. rem ------------------------------------ 18
  230. clear 14,0,1
  231. color 14
  232. big 1,,7,Try to write
  233. big 7,,7,by yourself
  234. box 15,,60,4,2
  235. put 16,,YOU CAN MAKE COPY OF THIS DEMO PACKAGE.
  236. put 17,,TRY TO RUN RIG.EXE WITH DIFFERENT EXAMPLES.
  237. put 18,, RIG.EXE [ filename ]
  238. put 19,, default file is Work.rig
  239. call ~~wait 200 %1
  240. rem ------------------------------------ 19
  241. clear 14,0,1
  242. color 14
  243. big 1,,7,CONTACT
  244. color 15,1
  245. box 6,,60,15,2
  246. color 15,1
  247. put 8,,RIGAL was designed in 1987-1992
  248. put 9,,IN THE UNIVERSITY OF LATVIA
  249. put 10,,by MIKHAIL AUGUSTON, VADIM ENGELSON and ANDRIS ZARINSH
  250. color 15,0
  251. put 12,,WE WOULD LIKE TO HAVE CONTACTS
  252. put 13,,DEVOTED TO THE THEORY AND PRACTICE OF RIGAL.
  253. put 14,,THE TOOL IS COMMERCIALLY AVAILABLE SINCE MIDDLE OF 1990.
  254. color 15,1
  255. put 16,,Contact: Mikhail Auguston, Vadim Engelson
  256. put 17,,e-mail: vadim@lumii.lat.su
  257. PUt 18,,University of Latvia, Institute of Mathematics,
  258. put 19,,Rainis Boul. 29, 226250 RIGA LATVIA
  259. put 20,,TELEX: 161172 TEMA SU Phone:(0132)211014
  260. call ~~wait 200 %1
  261. remove > NUL