ruby-dcl 1.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (319) hide show
  1. data/ChangeLog +321 -0
  2. data/GenWrapper/Makefile +14 -0
  3. data/GenWrapper/cproto2init.rb +41 -0
  4. data/GenWrapper/dcl_narrayed_funcs.rb +181 -0
  5. data/GenWrapper/dcl_rb_footing +29 -0
  6. data/GenWrapper/dcl_rb_heading +129 -0
  7. data/GenWrapper/def.rb +20 -0
  8. data/GenWrapper/elim_ary_size.rb +398 -0
  9. data/GenWrapper/etc/Mk_proto +375 -0
  10. data/GenWrapper/etc/dcl_gen +13 -0
  11. data/GenWrapper/etc/p_header +63 -0
  12. data/GenWrapper/etc/p_init +410 -0
  13. data/GenWrapper/pparse.rb +137 -0
  14. data/GenWrapper/proto/Makefile +35 -0
  15. data/GenWrapper/proto/grph1_00 +17 -0
  16. data/GenWrapper/proto/grph1_csgi.fp +27 -0
  17. data/GenWrapper/proto/grph1_scpack.fp +442 -0
  18. data/GenWrapper/proto/grph1_sgpack.fp +1406 -0
  19. data/GenWrapper/proto/grph1_slpack.fp +316 -0
  20. data/GenWrapper/proto/grph1_stpack.fp +411 -0
  21. data/GenWrapper/proto/grph1_swpack.fp +746 -0
  22. data/GenWrapper/proto/grph2_00 +16 -0
  23. data/GenWrapper/proto/grph2_grpack.fp +139 -0
  24. data/GenWrapper/proto/grph2_ucpack.fp +522 -0
  25. data/GenWrapper/proto/grph2_udpack.fp +692 -0
  26. data/GenWrapper/proto/grph2_uepack.fp +601 -0
  27. data/GenWrapper/proto/grph2_ugpack.fp +436 -0
  28. data/GenWrapper/proto/grph2_uhpack.fp +246 -0
  29. data/GenWrapper/proto/grph2_ulpack.fp +516 -0
  30. data/GenWrapper/proto/grph2_umpack.fp +676 -0
  31. data/GenWrapper/proto/grph2_uspack.fp +989 -0
  32. data/GenWrapper/proto/grph2_uupack.fp +663 -0
  33. data/GenWrapper/proto/grph2_uvpack.fp +246 -0
  34. data/GenWrapper/proto/grph2_uwpack.fp +203 -0
  35. data/GenWrapper/proto/grph2_uxpack.fp +295 -0
  36. data/GenWrapper/proto/grph2_uypack.fp +295 -0
  37. data/GenWrapper/proto/grph2_uzpack.fp +574 -0
  38. data/GenWrapper/proto/math1_00 +12 -0
  39. data/GenWrapper/proto/math1_blklib.fp +58 -0
  40. data/GenWrapper/proto/math1_chrlib.fp +83 -0
  41. data/GenWrapper/proto/math1_fnclib.fp +79 -0
  42. data/GenWrapper/proto/math1_gnmlib.fp +118 -0
  43. data/GenWrapper/proto/math1_gt2dlib.fp +144 -0
  44. data/GenWrapper/proto/math1_ifalib.fp +123 -0
  45. data/GenWrapper/proto/math1_indxlib.fp +222 -0
  46. data/GenWrapper/proto/math1_intlib.fp +46 -0
  47. data/GenWrapper/proto/math1_lrllib.fp +276 -0
  48. data/GenWrapper/proto/math1_maplib.fp +24 -0
  49. data/GenWrapper/proto/math1_oslib.fp +28 -0
  50. data/GenWrapper/proto/math1_rfalib.fp +420 -0
  51. data/GenWrapper/proto/math1_rfblib.fp +51 -0
  52. data/GenWrapper/proto/math1_sublib.fp +60 -0
  53. data/GenWrapper/proto/math1_syslib.fp +767 -0
  54. data/GenWrapper/proto/math1_vialib.fp +339 -0
  55. data/GenWrapper/proto/math1_viblib.fp +264 -0
  56. data/GenWrapper/proto/math1_vralib.fp +339 -0
  57. data/GenWrapper/proto/math1_vrblib.fp +264 -0
  58. data/GenWrapper/proto/math1_xfclib.fp +68 -0
  59. data/GenWrapper/proto/math2_00 +12 -0
  60. data/GenWrapper/proto/math2_fftlib.fp +803 -0
  61. data/GenWrapper/proto/math2_intrlib.fp +32 -0
  62. data/GenWrapper/proto/math2_odelib.fp_notused +568 -0
  63. data/GenWrapper/proto/math2_rnmlib.fp +54 -0
  64. data/GenWrapper/proto/math2_shtlib.fp +1292 -0
  65. data/GenWrapper/proto/math2_shtlib.fp_old +1294 -0
  66. data/GenWrapper/proto/math2_vstlib.fp +84 -0
  67. data/GenWrapper/proto/misc1_00 +17 -0
  68. data/GenWrapper/proto/misc1_chnlib.fp +47 -0
  69. data/GenWrapper/proto/misc1_datelib.fp +352 -0
  70. data/GenWrapper/proto/misc1_fmtlib.fp +19 -0
  71. data/GenWrapper/proto/misc1_misclib.fp +26 -0
  72. data/GenWrapper/proto/misc1_randlib.fp +36 -0
  73. data/GenWrapper/proto/misc1_timelib.fp +151 -0
  74. data/GenWrapper/proto2c.rb +13 -0
  75. data/GenWrapper/prototype.rb +209 -0
  76. data/GenWrapper/util.rb +9 -0
  77. data/GenWrapper/variable.rb +671 -0
  78. data/README +29 -0
  79. data/Rakefile +44 -0
  80. data/ToDo +2 -0
  81. data/dcl_cary2obj.c +354 -0
  82. data/dcl_narrayed_funcs.c +518 -0
  83. data/dcl_obj2cary.c +512 -0
  84. data/dcl_rubydcloriginal.c +129 -0
  85. data/demo/gokuraku/hop/hop.rb +26 -0
  86. data/demo/gokuraku/jump/jump1.rb +64 -0
  87. data/demo/gokuraku/jump/jump2.rb +50 -0
  88. data/demo/gokuraku/layout/lay1.rb +46 -0
  89. data/demo/gokuraku/layout/lay2.rb +44 -0
  90. data/demo/gokuraku/step/step0.rb +34 -0
  91. data/demo/gokuraku/step/step1.rb +84 -0
  92. data/demo/gokuraku/step/step2.rb +62 -0
  93. data/demo/gokuraku/u1d/u1d1.rb +37 -0
  94. data/demo/gokuraku/u1d/u1d2.rb +50 -0
  95. data/demo/gokuraku/u2d/u2d1.rb +46 -0
  96. data/demo/gokuraku/u2d/u2d2.rb +49 -0
  97. data/demo/gokuraku/u2d/u2d3.rb +45 -0
  98. data/demo/gokuraku/u2d/u2d4.rb +61 -0
  99. data/demo/grph1/scpack/scpkt2.rb +40 -0
  100. data/demo/grph1/scpack/scpkt3.rb +102 -0
  101. data/demo/grph1/scpack/scpkt6.rb +84 -0
  102. data/demo/grph1/scpack/scpkt7.rb +59 -0
  103. data/demo/grph1/scpack/scpkt8.rb +60 -0
  104. data/demo/grph1/scpack/t810630.dat +296 -0
  105. data/demo/grph1/scpack/t811231.dat +296 -0
  106. data/demo/grph1/sgpack/sgfont.rb +52 -0
  107. data/demo/grph1/sgpack/sgfonz.rb +53 -0
  108. data/demo/grph1/sgpack/sgksx1.rb +44 -0
  109. data/demo/grph1/sgpack/sgksx2.rb +90 -0
  110. data/demo/grph1/sgpack/sgksx3.rb +75 -0
  111. data/demo/grph1/sgpack/sglidx.rb +40 -0
  112. data/demo/grph1/sgpack/sgltyp.rb +48 -0
  113. data/demo/grph1/sgpack/sgpk01.rb +39 -0
  114. data/demo/grph1/sgpack/sgpk02.rb +79 -0
  115. data/demo/grph1/sgpack/sgpk03.rb +107 -0
  116. data/demo/grph1/sgpack/sgpk04.rb +86 -0
  117. data/demo/grph1/sgpack/sgpk05.rb +66 -0
  118. data/demo/grph1/sgpack/sgpk06.rb +91 -0
  119. data/demo/grph1/sgpack/sgpk07.rb +66 -0
  120. data/demo/grph1/sgpack/sgpk08.rb +67 -0
  121. data/demo/grph1/sgpack/sgpk09.rb +61 -0
  122. data/demo/grph1/sgpack/sgpk10.rb +58 -0
  123. data/demo/grph1/sgpack/sgtclr.rb +59 -0
  124. data/demo/grph1/sgpack/sgtone.rb +70 -0
  125. data/demo/grph1/sgpack/sgtonz.rb +66 -0
  126. data/demo/grph1/slpack/slpk01.rb +37 -0
  127. data/demo/grph1/slpack/slpk02.rb +29 -0
  128. data/demo/grph1/slpack/slpk03.rb +36 -0
  129. data/demo/grph1/slpack/slpk04.rb +36 -0
  130. data/demo/grph2/g2pack/g2pk01.rb +78 -0
  131. data/demo/grph2/g2pack/g2pk02.rb +75 -0
  132. data/demo/grph2/grpack/grpk01.rb +65 -0
  133. data/demo/grph2/ucpack/ucpk01.rb +95 -0
  134. data/demo/grph2/ucpack/ucpk02.rb +95 -0
  135. data/demo/grph2/udegpk/u2df01.rb +50 -0
  136. data/demo/grph2/udegpk/u2df02.rb +76 -0
  137. data/demo/grph2/udegpk/u2df03.rb +80 -0
  138. data/demo/grph2/udegpk/u2df04.rb +52 -0
  139. data/demo/grph2/udegpk/u2df05.rb +70 -0
  140. data/demo/grph2/udegpk/u2df06.rb +59 -0
  141. data/demo/grph2/udegpk/u2df07.rb +68 -0
  142. data/demo/grph2/udegpk/u2df08.rb +91 -0
  143. data/demo/grph2/udegpk/u2df09b.rb +88 -0
  144. data/demo/grph2/udegpk/u2df09c.rb +89 -0
  145. data/demo/grph2/udegpk/u2df09e.rb +88 -0
  146. data/demo/grph2/udegpk/u2df09f.rb +89 -0
  147. data/demo/grph2/ulpack/ulpk01.rb +111 -0
  148. data/demo/grph2/ulpack/ulpk01n.rb +111 -0
  149. data/demo/grph2/ulpack/ulpk02.rb +111 -0
  150. data/demo/grph2/ulpack/ulpk02n.rb +111 -0
  151. data/demo/grph2/umpack/t811231.dat +296 -0
  152. data/demo/grph2/umpack/test01.rb +69 -0
  153. data/demo/grph2/umpack/test02.rb +64 -0
  154. data/demo/grph2/umpack/test03.rb +84 -0
  155. data/demo/grph2/umpack/test04.rb +54 -0
  156. data/demo/grph2/umpack/test05.rb +85 -0
  157. data/demo/grph2/umpack/test06.rb +44 -0
  158. data/demo/grph2/umpack/test07.rb +43 -0
  159. data/demo/grph2/umpack/test08.rb +37 -0
  160. data/demo/grph2/umpack/test09.rb +86 -0
  161. data/demo/grph2/umpack/test10.rb +52 -0
  162. data/demo/grph2/umpack/umpk01.rb +65 -0
  163. data/demo/grph2/umpack/umpk02.rb +54 -0
  164. data/demo/grph2/umpack/umpk03.rb +46 -0
  165. data/demo/grph2/umpack/umpk04.rb +65 -0
  166. data/demo/grph2/umpack/umpk05.rb +84 -0
  167. data/demo/grph2/uspack/uspk01.rb +39 -0
  168. data/demo/grph2/uspack/uspk02.rb +47 -0
  169. data/demo/grph2/uspack/uspk03.rb +38 -0
  170. data/demo/grph2/uspack/uspk04.rb +64 -0
  171. data/demo/grph2/uspack/uspk05.rb +68 -0
  172. data/demo/grph2/uspack/uspk06.rb +43 -0
  173. data/demo/grph2/uspack/uspk07.rb +62 -0
  174. data/demo/grph2/uspack/uspk08.rb +46 -0
  175. data/demo/grph2/uspack/uspk09.rb +89 -0
  176. data/demo/grph2/uspack/uspk10.rb +48 -0
  177. data/demo/grph2/uspack/uspk11.rb +71 -0
  178. data/demo/grph2/uspack/uspk12.rb +51 -0
  179. data/demo/grph2/uupack/uupk01.rb +50 -0
  180. data/demo/grph2/uupack/uupk02.rb +74 -0
  181. data/demo/grph2/uupack/uupk03.rb +56 -0
  182. data/demo/grph2/uupack/uupk04.rb +84 -0
  183. data/demo/grph2/uupack/uupk05.rb +74 -0
  184. data/demo/grph2/uupack/uupk06.rb +77 -0
  185. data/demo/grph2/uupack/uupk07.rb +88 -0
  186. data/demo/grph2/uxyzpk/uxyz01.rb +38 -0
  187. data/demo/grph2/uxyzpk/uxyz02.rb +36 -0
  188. data/demo/grph2/uxyzpk/uxyz03.rb +37 -0
  189. data/demo/grph2/uxyzpk/uxyz04.rb +54 -0
  190. data/demo/grph2/uxyzpk/uxyz05.rb +41 -0
  191. data/demo/grph2/uxyzpk/uxyz06.rb +42 -0
  192. data/demo/grph2/uxyzpk/uxyz07.rb +38 -0
  193. data/demo/grph2/uxyzpk/uxyz08.rb +60 -0
  194. data/demo/grph2/uxyzpk/uxyz09.rb +52 -0
  195. data/demo/grph2/uxyzpk/uxyz10.rb +57 -0
  196. data/demo/grph2/ximage/MEMO +23 -0
  197. data/demo/grph2/ximage/tomsclm.dat +1344 -0
  198. data/demo/grph2/ximage/ximg01.rb +145 -0
  199. data/demo/math1/gt2dlib/gt2d01.rb +33 -0
  200. data/demo/math2/fftlib/fftl01.rb +28 -0
  201. data/demo/math2/fftlib/fftl02.rb +224 -0
  202. data/demo/math2/intrlib/intr01.rb +22 -0
  203. data/demo/math2/rnmlib/rnml01.rb +21 -0
  204. data/demo/math2/vstlib/vstl01.rb +29 -0
  205. data/demo/math2/vstlib/vstl02.rb +38 -0
  206. data/demo/rakuraku/color/color1.rb +61 -0
  207. data/demo/rakuraku/color/color2.rb +57 -0
  208. data/demo/rakuraku/color/color3.rb +81 -0
  209. data/demo/rakuraku/kihon/kihon1.rb +39 -0
  210. data/demo/rakuraku/kihon/kihon2.rb +56 -0
  211. data/demo/rakuraku/kihon/kihon3.rb +57 -0
  212. data/demo/rakuraku/kihon/kihon4.rb +70 -0
  213. data/demo/rakuraku/kihon/kihon5.rb +56 -0
  214. data/demo/rakuraku/kihon/kihon6.rb +40 -0
  215. data/demo/rakuraku/kihon/kihon7.rb +98 -0
  216. data/demo/rakuraku/kihon/kihon8.rb +93 -0
  217. data/demo/rakuraku/kihon/kihon9.rb +77 -0
  218. data/demo/rakuraku/kihon/kihona.rb +123 -0
  219. data/demo/rakuraku/kihon/kihonb.rb +73 -0
  220. data/demo/rakuraku/kihon/kihonc.rb +110 -0
  221. data/demo/rakuraku/layout/lay1.rb +29 -0
  222. data/demo/rakuraku/layout/lay2.rb +28 -0
  223. data/demo/rakuraku/layout/lay3.rb +29 -0
  224. data/demo/rakuraku/map3d/map3d1.rb +68 -0
  225. data/demo/rakuraku/map3d/map3d2.rb +67 -0
  226. data/demo/rakuraku/map3d/map3d3.rb +66 -0
  227. data/demo/rakuraku/map3d/map3d4.rb +107 -0
  228. data/demo/rakuraku/map3d/map3d5.rb +118 -0
  229. data/demo/rakuraku/map3d/map3d6.rb +96 -0
  230. data/demo/rakuraku/map3d/map3d7.rb +98 -0
  231. data/demo/rakuraku/miss/miss1.rb +76 -0
  232. data/demo/rakuraku/miss/miss2.rb +60 -0
  233. data/demo/rakuraku/quick/quick1.rb +35 -0
  234. data/demo/rakuraku/quick/quick2.rb +33 -0
  235. data/demo/rakuraku/quick/quick3.rb +46 -0
  236. data/demo/rakuraku/quick/quick4.rb +47 -0
  237. data/demo/rakuraku/quick/quick5.rb +46 -0
  238. data/demo/rakuraku/u2d/u2d1.rb +50 -0
  239. data/demo/rakuraku/u2d/u2d2.rb +51 -0
  240. data/demo/rakuraku/u2d/u2d3.rb +70 -0
  241. data/demo/rakuraku/u2d/u2d4.rb +59 -0
  242. data/demo/rakuraku/u2d/u2d5.rb +61 -0
  243. data/demo/rakuraku/u2d/u2d6.rb +57 -0
  244. data/demo/rakuraku/u2d/u2d7.rb +103 -0
  245. data/demo/rakuraku/uspack/uspac1.rb +35 -0
  246. data/demo/rakuraku/uspack/uspac2.rb +66 -0
  247. data/demo/rakuraku/uspack/uspac3.rb +37 -0
  248. data/demo/rakuraku/uspack/uspac4.rb +49 -0
  249. data/demo/rakuraku/uxyz/uxyz1.rb +37 -0
  250. data/demo/rakuraku/uxyz/uxyz2.rb +35 -0
  251. data/demo/rakuraku/uxyz/uxyz3.rb +38 -0
  252. data/demo/rakuraku/uxyz/uxyz4.rb +36 -0
  253. data/demo/rakuraku/uxyz/uxyz5.rb +57 -0
  254. data/demo/rakuraku/uxyz/uxyz6.rb +43 -0
  255. data/demo/rakuraku/uxyz/uxyz7.rb +39 -0
  256. data/demo/rakuraku/uxyz/uxyz8.rb +56 -0
  257. data/demo/rubydcloriginal/uemrkz1.rb +37 -0
  258. data/dummy.c +9 -0
  259. data/extconf.rb +133 -0
  260. data/grph1_csgi.c +119 -0
  261. data/grph1_scpack.c +1388 -0
  262. data/grph1_sgpack.c +3876 -0
  263. data/grph1_slpack.c +432 -0
  264. data/grph1_stpack.c +1044 -0
  265. data/grph1_swpack.c +1922 -0
  266. data/grph1_zgpack.c.org +141 -0
  267. data/grph2_grpack.c +368 -0
  268. data/grph2_ucpack.c +1232 -0
  269. data/grph2_udpack.c +1404 -0
  270. data/grph2_uepack.c +1443 -0
  271. data/grph2_ugpack.c +1073 -0
  272. data/grph2_uhpack.c +943 -0
  273. data/grph2_ulpack.c +1304 -0
  274. data/grph2_umpack.c +1540 -0
  275. data/grph2_uspack.c +2481 -0
  276. data/grph2_uupack.c +1689 -0
  277. data/grph2_uvpack.c +943 -0
  278. data/grph2_uwpack.c +552 -0
  279. data/grph2_uxpack.c +555 -0
  280. data/grph2_uypack.c +555 -0
  281. data/grph2_uzpack.c +1455 -0
  282. data/init.c.default +187 -0
  283. data/init.c.gtk +189 -0
  284. data/lib/dcl.rb +5084 -0
  285. data/math1_blklib.c +227 -0
  286. data/math1_chrlib.c +239 -0
  287. data/math1_fnclib.c +254 -0
  288. data/math1_gnmlib.c +356 -0
  289. data/math1_gt2dlib.c +514 -0
  290. data/math1_ifalib.c +427 -0
  291. data/math1_indxlib.c +709 -0
  292. data/math1_intlib.c +167 -0
  293. data/math1_lrllib.c +817 -0
  294. data/math1_maplib.c +172 -0
  295. data/math1_oslib.c +111 -0
  296. data/math1_rfalib.c +1417 -0
  297. data/math1_rfblib.c +232 -0
  298. data/math1_sublib.c +221 -0
  299. data/math1_syslib.c +2025 -0
  300. data/math1_vialib.c +1156 -0
  301. data/math1_viblib.c +1027 -0
  302. data/math1_vralib.c +1156 -0
  303. data/math1_vrblib.c +1027 -0
  304. data/math1_xfclib.c +142 -0
  305. data/math2_fftlib.c +833 -0
  306. data/math2_intrlib.c +138 -0
  307. data/math2_rnmlib.c +226 -0
  308. data/math2_shtlib.c +1568 -0
  309. data/math2_vstlib.c +366 -0
  310. data/misc1_chnlib.c +179 -0
  311. data/misc1_datelib.c +953 -0
  312. data/misc1_fmtlib.c +99 -0
  313. data/misc1_misclib.c +118 -0
  314. data/misc1_randlib.c +142 -0
  315. data/misc1_timelib.c +380 -0
  316. data/obsolete/README +2 -0
  317. data/obsolete/dcl_ext.html +112 -0
  318. data/obsolete/dcl_ext.rb +313 -0
  319. metadata +433 -0
@@ -0,0 +1,19 @@
1
+ /*
2
+ * misc1_fmtlib.fp
3
+ *
4
+ * $Id: misc1_fmtlib.fp,v 1.1.1.1 2011-02-23 07:21:28 horinout Exp $
5
+ */
6
+
7
+ /*****************************************************
8
+ * misc1/fmtlib/chval.f
9
+ ****************************************************/
10
+ /*
11
+ * SUBROUTINE CHVAL(CFMT,VAL,CVAL)
12
+ * CHARACTER CFMT*(*),CVAL*(*)
13
+ */
14
+ SUBROUTINE CHVAL(
15
+ CHARACTER*(*) CFMT
16
+ REAL VAL
17
+ CHARACTER*(*) o CVAL
18
+ )
19
+
@@ -0,0 +1,26 @@
1
+ /*
2
+ * misc1_misclib.fp
3
+ *
4
+ * $Id: misc1_misclib.fp,v 1.1.1.1 2011-02-23 07:21:28 horinout Exp $
5
+ */
6
+
7
+ /*****************************************************
8
+ * misc1/misclib/cns.f
9
+ ****************************************************/
10
+ /*
11
+ * CHARACTER*1 FUNCTION CNS(INS)
12
+ */
13
+ CHARACTER*1 FUNCTION CNS(
14
+ INTEGER INS
15
+ )
16
+
17
+ /*****************************************************
18
+ * misc1/misclib/cdblk.f
19
+ ****************************************************/
20
+ /*
21
+ * SUBROUTINE CDBLK(CHR)
22
+ * CHARACTER CHR*(*)
23
+ */
24
+ SUBROUTINE CDBLK(
25
+ CHARACTER*(*) io CHR
26
+ )
@@ -0,0 +1,36 @@
1
+ /*
2
+ * misc1_randlib.fp
3
+ *
4
+ * $Id: misc1_randlib.fp,v 1.1.1.1 2011-02-23 07:21:28 horinout Exp $
5
+ */
6
+
7
+ /*****************************************************
8
+ * misc1/randlib/rngu1.f
9
+ ****************************************************/
10
+ /*
11
+ * REAL FUNCTION RNGU1(ISEED)
12
+ */
13
+ REAL FUNCTION RNGU1(
14
+ INTEGER io ISEED
15
+ )
16
+
17
+ /*****************************************************
18
+ * misc1/randlib/rngu2.f
19
+ ****************************************************/
20
+ /*
21
+ * REAL FUNCTION RNGU2(ISEED)
22
+ */
23
+ REAL FUNCTION RNGU2(
24
+ INTEGER io ISEED
25
+ )
26
+
27
+ /*****************************************************
28
+ * misc1/randlib/rngu3.f
29
+ ****************************************************/
30
+ /*
31
+ * REAL FUNCTION RNGU3(ISEED)
32
+ */
33
+ REAL FUNCTION RNGU3(
34
+ INTEGER io ISEED
35
+ )
36
+
@@ -0,0 +1,151 @@
1
+ /*
2
+ * misc1_timelib.fp
3
+ *
4
+ * $Id: misc1_timelib.fp,v 1.1.1.1 2011-02-23 07:21:28 horinout Exp $
5
+ */
6
+
7
+ /*****************************************************
8
+ * misc1/timelib/time12.f
9
+ ****************************************************/
10
+ /*
11
+ * SUBROUTINE TIME12(ITIME,ITT)
12
+ */
13
+ SUBROUTINE TIME12(
14
+ INTEGER ITIME
15
+ INTEGER o ITT
16
+ )
17
+
18
+ /*****************************************************
19
+ * misc1/timelib/time13.f
20
+ ****************************************************/
21
+ /*
22
+ * SUBROUTINE TIME13(ITIME,IH,IM,IS)
23
+ */
24
+ SUBROUTINE TIME13(
25
+ INTEGER ITIME
26
+ INTEGER o IH
27
+ INTEGER o IM
28
+ INTEGER o IS
29
+ )
30
+
31
+ /*****************************************************
32
+ * misc1/timelib/time21.f
33
+ ****************************************************/
34
+ /*
35
+ * SUBROUTINE TIME21(ITIME,ITT)
36
+ */
37
+ SUBROUTINE TIME21(
38
+ INTEGER o ITIME
39
+ INTEGER ITT
40
+ )
41
+
42
+ /*****************************************************
43
+ * misc1/timelib/time23.f
44
+ ****************************************************/
45
+ /*
46
+ * SUBROUTINE TIME23(IH,IM,IS,ITT)
47
+ */
48
+ SUBROUTINE TIME23(
49
+ INTEGER o IH
50
+ INTEGER o IM
51
+ INTEGER o IS
52
+ INTEGER ITT
53
+ )
54
+
55
+ /*****************************************************
56
+ * misc1/timelib/time31.f
57
+ ****************************************************/
58
+ /*
59
+ * SUBROUTINE TIME31(ITIME,IH,IM,IS)
60
+ */
61
+ SUBROUTINE TIME31(
62
+ INTEGER o ITIME
63
+ INTEGER IH
64
+ INTEGER IM
65
+ INTEGER IS
66
+ )
67
+
68
+ /*****************************************************
69
+ * misc1/timelib/time32.f
70
+ ****************************************************/
71
+ /*
72
+ * SUBROUTINE TIME32(IH,IM,IS,ITT)
73
+ */
74
+ SUBROUTINE TIME32(
75
+ INTEGER IH
76
+ INTEGER IM
77
+ INTEGER IS
78
+ INTEGER o ITT
79
+ )
80
+
81
+ /*****************************************************
82
+ * misc1/timelib/timec1.f
83
+ ****************************************************/
84
+ /*
85
+ * SUBROUTINE TIMEC1(CFORM,ITIME)
86
+ * CHARACTER CFORM*(*)
87
+ */
88
+ SUBROUTINE TIMEC1(
89
+ CHARACTER*(*) io CFORM
90
+ INTEGER ITIME
91
+ )
92
+
93
+ /*****************************************************
94
+ * misc1/timelib/timec2.f
95
+ ****************************************************/
96
+ /*
97
+ * SUBROUTINE TIMEC2(CFORM,ITT)
98
+ * CHARACTER CFORM*(*)
99
+ */
100
+ SUBROUTINE TIMEC2(
101
+ CHARACTER*(*) io CFORM
102
+ INTEGER ITT
103
+ )
104
+
105
+ /*****************************************************
106
+ * misc1/timelib/timec3.f
107
+ ****************************************************/
108
+ /*
109
+ * SUBROUTINE TIMEC3(CFORM,IH,IM,IS)
110
+ * CHARACTER CFORM*(*)
111
+ */
112
+ SUBROUTINE TIMEC3(
113
+ CHARACTER*(*) io CFORM
114
+ INTEGER IH
115
+ INTEGER IM
116
+ INTEGER IS
117
+ )
118
+
119
+ /*****************************************************
120
+ * misc1/timelib/timeq1.f
121
+ ****************************************************/
122
+ /*
123
+ * SUBROUTINE TIMEQ1(ITIME)
124
+ */
125
+ SUBROUTINE TIMEQ1(
126
+ INTEGER o ITIME
127
+ )
128
+
129
+ /*****************************************************
130
+ * misc1/timelib/timeq2.f
131
+ ****************************************************/
132
+ /*
133
+ * SUBROUTINE TIMEQ2(ITT)
134
+ */
135
+ SUBROUTINE TIMEQ2(
136
+ INTEGER o ITT
137
+ )
138
+
139
+ /*****************************************************
140
+ * misc1/timelib/timeq3.c
141
+ ****************************************************/
142
+ /*
143
+ * void timeq3_(ih, im, is)
144
+ */
145
+ /*
146
+ SUBROUTINE TIMEQ3(
147
+ INTEGER o IH
148
+ INTEGER o IM
149
+ INTEGER o IS
150
+ )
151
+ */
@@ -0,0 +1,13 @@
1
+ # proto2c.rb
2
+ # $Id: proto2c.rb,v 1.1.1.1 2011-02-23 07:21:28 horinout Exp $
3
+
4
+ require "./pparse"
5
+
6
+ ARGV.each do |f|
7
+ i = 0
8
+ PrototypeParser.new(f).parse do |x|
9
+ print "\n" if i > 0
10
+ i += 1
11
+ print x
12
+ end
13
+ end
@@ -0,0 +1,209 @@
1
+ # prototype.rb
2
+ # $Id: prototype.rb,v 1.1.1.1 2011-02-23 07:21:28 horinout Exp $
3
+
4
+ require "./util"
5
+ require "./variable"
6
+
7
+ class Prototype
8
+ INDENT = " "*4
9
+
10
+ def indent(n=1)
11
+ INDENT*n
12
+ end
13
+
14
+ def initialize(type_or_module, name, args, rtn)
15
+ @vtype = (type_or_module == :module ? nil : type_or_module)
16
+ @name = name
17
+ @args = args
18
+ @rtnval = rtn
19
+ @lenvar = []
20
+ @rtnlenvar =[]
21
+
22
+ # check output array size
23
+ chk = @rtnval.find_all{|o| o.ary}
24
+ chk += @args.find_all{|o| (o.ary && !o.output?)}
25
+ chk.each{|o|
26
+ size = []
27
+ o.ary.split(",").each do |i|
28
+ case i
29
+ when "*"
30
+ size.push "DFLT_SIZE"
31
+ next
32
+ when /^\d+$/
33
+ size.push i
34
+ next
35
+ when /^(\d+):(\d+)$/
36
+ size.push($2.to_i - $1.to_i + 1)
37
+ next
38
+ end
39
+
40
+ wk = i.gsub(/[a-z]+[a-z0-9]*/){|j|
41
+ sz = @args.find{|x| x.name == j}
42
+ if sz
43
+ sz.localvariable[1]
44
+ else
45
+ "DFLT_SIZE"
46
+ end
47
+ }
48
+
49
+ case wk
50
+ when /(.+):(.+)/
51
+ ed = ($2 == "*" ? "DFLT_SIZE" : $2)
52
+ size.push( "(" + (ed + "-" + $1 + "+1").
53
+ gsub("--", "+").gsub("-0","").
54
+ gsub("[-]1[+]1", "").gsub("[+]1[+]1", "+2") +
55
+ ")" )
56
+ else
57
+ size.push wk
58
+ end
59
+ end
60
+ o.setarysize(size)
61
+ p ["Prototype:1", @name, o.ary, size, o.arysize] if $DEBUG
62
+ }
63
+
64
+ # set @lenvar
65
+ @args.each{|i|
66
+ j = i.ftnlen
67
+ @lenvar.push j if j
68
+ }
69
+
70
+ # set @rtnlenvar
71
+ if @vtype
72
+ @rtnval.each{|i|
73
+ j = i.ftnlen
74
+ @rtnlenvar.push j if j
75
+ }
76
+ end
77
+
78
+ end
79
+
80
+ def to_s
81
+ buf = head
82
+ defvar = defvar()
83
+ buf << defvar
84
+ buf << initialization
85
+ buf << call
86
+ buf << result
87
+ buf << tail
88
+ end
89
+
90
+ def head
91
+ vstr = @args.find_all{|i| i.input?}.
92
+ collect{|i| i.name}.unshift("obj").join(", ")
93
+ buf = "static VALUE\n"
94
+ buf << format("dcl_%s(%s)\n", @name, vstr)
95
+ buf << format("%sVALUE %s;\n{\n", indent, vstr)
96
+ end
97
+
98
+ def defvar
99
+ buf = ""
100
+ vars = @args + (@vtype ? @rtnval : [])
101
+ vars.each{|i|
102
+ t, n = i.localvariable
103
+ if /\*$/ =~ t
104
+ buf << format("%s%s%s;\n", indent, t, n)
105
+ else
106
+ buf << format("%s%s %s;\n", indent, t, n)
107
+ end
108
+ }
109
+
110
+ @rtnval.each{|i|
111
+ buf << format("%s%s %s;\n", indent, "VALUE", i.name) if !i.input?
112
+ }
113
+ buf << "\n" unless buf.empty?
114
+ buf
115
+ end
116
+
117
+ def initialization
118
+ buf = ""
119
+ @args.find_all{|i| i.input?}.each{|i|
120
+ j = i.checktype
121
+ buf << j.gsub(/^/, indent) if j
122
+ }
123
+ buf << "\n" unless buf.empty?
124
+
125
+ @args.find_all{|i| i.input? && !i.ary}.each{|i|
126
+ j = i.initialization
127
+ buf << j.gsub(/^/, indent) if j
128
+ }
129
+ @args.find_all{|i| i.input? && i.ary}.each{|i|
130
+ j = i.initialization
131
+ buf << j.gsub(/^/, indent) if j
132
+ }
133
+ buf << "\n" unless buf.empty?
134
+
135
+ wk = @rtnval.find_all{|i| !i.input?} +
136
+ @args.find_all{|i| i.work?}
137
+ wk.each{|i|
138
+ j = i.allocworkingarea
139
+ buf << j.gsub(/^/, indent) if j
140
+ }
141
+ buf << "\n" unless buf.empty?
142
+
143
+ buf
144
+ end
145
+
146
+ def call
147
+ buf = ""
148
+ buf << indent
149
+ if @vtype
150
+ if ( @vtype =~ /CHARACTER|COMPLEX/)
151
+ wk = [@rtnval[0].arg_name] + @rtnlenvar +
152
+ @args.collect{|i| i.arg_name} + @lenvar
153
+ else
154
+ buf << (@rtnval[0].prefix + @rtnval[0].name + " = ")
155
+ wk = @args.collect{|i| i.arg_name} + @lenvar
156
+ end
157
+ else
158
+ wk = @args.collect{|i| i.arg_name} + @lenvar
159
+ end
160
+ buf << format("%s_(%s);\n", @name, wk.join(", "))
161
+ buf << "\n" unless buf.empty?
162
+ buf
163
+ end
164
+
165
+ def result
166
+ buf = ""
167
+ if @vtype
168
+ buf << indent + @rtnval[0].getresult
169
+ else
170
+ @rtnval.each{|i|
171
+ buf << (indent + i.getresult)
172
+ }
173
+ end
174
+ buf << "\n" unless buf.empty?
175
+
176
+ # free area allocated at initialization
177
+ @args.find_all{|i| i.input?}.each{|i|
178
+ j = i.freecary
179
+ buf << j.gsub(/^/, indent) if j
180
+ }
181
+
182
+ # free area allocated at allocworkingarea
183
+ wk = @rtnval.find_all{|i| !i.input?} +
184
+ @args.find_all{|i| i.work?}
185
+ wk.each{|i|
186
+ j = i.freeworkingarea
187
+ buf << j.gsub(/^/, indent) if j
188
+ }
189
+ buf << "\n" unless buf.empty?
190
+
191
+ if (@vtype || (@rtnval.size == 1))
192
+ buf << indent +
193
+ format("return %s;\n", @rtnval[0].name)
194
+ elsif ( @rtnval.size == 0 )
195
+ buf << indent + "return Qnil;\n"
196
+ else
197
+ vars = @rtnval.collect{|i| i.name}
198
+ buf << indent +
199
+ format("return rb_ary_new3(%d, %s);\n",
200
+ vars.size, vars.join(", "))
201
+ end
202
+ buf << "\n" unless buf.empty?
203
+ buf
204
+ end
205
+
206
+ def tail
207
+ "}\n"
208
+ end
209
+ end