ruby-vpi 19.0.0 → 20.0.0

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 (776) hide show
  1. data/LICENSE +12 -13
  2. data/README +1 -1
  3. data/Rakefile +104 -118
  4. data/TODO +77 -0
  5. data/bin/convert.rb +1 -1
  6. data/bin/generate/design.rb +3 -2
  7. data/bin/generate/loader.rb +1 -0
  8. data/bin/generate/proto.rb +16 -14
  9. data/bin/generate/runner.rake +8 -3
  10. data/bin/generate/spec.rb +11 -13
  11. data/bin/generate.rb +23 -18
  12. data/bin/ruby-vpi +36 -27
  13. data/doc/api/c/annotated.html +36 -0
  14. data/{ref → doc/api}/c/common_8h.html +9 -13
  15. data/{ref → doc/api}/c/doxygen.css +0 -0
  16. data/{ref → doc/api}/c/doxygen.png +0 -0
  17. data/{ref → doc/api}/c/files.html +10 -8
  18. data/doc/api/c/functions.html +184 -0
  19. data/doc/api/c/functions_vars.html +184 -0
  20. data/{ref → doc/api}/c/globals.html +12 -11
  21. data/{ref → doc/api}/c/globals_0x63.html +12 -11
  22. data/{ref → doc/api}/c/globals_0x65.html +12 -11
  23. data/{ref → doc/api}/c/globals_0x66.html +12 -11
  24. data/{ref → doc/api}/c/globals_0x6d.html +14 -13
  25. data/{ref → doc/api}/c/globals_0x70.html +21 -20
  26. data/{ref → doc/api}/c/globals_0x72.html +14 -13
  27. data/{ref → doc/api}/c/globals_0x74.html +12 -11
  28. data/{ref → doc/api}/c/globals_0x76.html +17 -16
  29. data/{ref → doc/api}/c/globals_0x78.html +12 -11
  30. data/{ref → doc/api}/c/globals_defs.html +12 -10
  31. data/{ref → doc/api}/c/globals_defs_0x65.html +12 -10
  32. data/{ref → doc/api}/c/globals_defs_0x70.html +12 -10
  33. data/{ref → doc/api}/c/globals_defs_0x76.html +14 -12
  34. data/{ref → doc/api}/c/globals_defs_0x78.html +12 -10
  35. data/{ref → doc/api}/c/globals_enum.html +11 -9
  36. data/{ref → doc/api}/c/globals_eval.html +11 -9
  37. data/{ref → doc/api}/c/globals_func.html +17 -15
  38. data/doc/api/c/globals_type.html +72 -0
  39. data/{ref → doc/api}/c/globals_vars.html +13 -11
  40. data/{ref → doc/api}/c/index.html +7 -6
  41. data/{ref → doc/api}/c/main_8c.html +7 -11
  42. data/{ref → doc/api}/c/main_8h.html +7 -11
  43. data/{ref → doc/api}/c/relay_8c.html +7 -11
  44. data/{ref → doc/api}/c/relay_8h.html +7 -11
  45. data/{ref/c/structt__cb__data.html → doc/api/c/structs__cb__data.html} +32 -30
  46. data/{ref/c/structt__vpi__delay.html → doc/api/c/structs__vpi__delay.html} +29 -27
  47. data/{ref/c/structt__vpi__error__info.html → doc/api/c/structs__vpi__error__info.html} +32 -30
  48. data/{ref/c/structt__vpi__strengthval.html → doc/api/c/structs__vpi__strengthval.html} +20 -18
  49. data/{ref/c/structt__vpi__systf__data.html → doc/api/c/structs__vpi__systf__data.html} +32 -30
  50. data/{ref/c/structt__vpi__time.html → doc/api/c/structs__vpi__time.html} +23 -21
  51. data/doc/api/c/structs__vpi__value.html +207 -0
  52. data/{ref/c/structt__vpi__vecval.html → doc/api/c/structs__vpi__vecval.html} +17 -15
  53. data/{ref/c/structt__vpi__vlog__info.html → doc/api/c/structs__vpi__vlog__info.html} +23 -21
  54. data/{ref → doc/api}/c/tab_b.gif +0 -0
  55. data/{ref → doc/api}/c/tab_l.gif +0 -0
  56. data/{ref → doc/api}/c/tab_r.gif +0 -0
  57. data/{ref → doc/api}/c/tabs.css +2 -2
  58. data/{ref → doc/api}/c/verilog_8h.html +11 -15
  59. data/{ref → doc/api}/c/vlog_8c.html +14 -18
  60. data/{ref → doc/api}/c/vlog_8h.html +9 -13
  61. data/{ref → doc/api}/c/vpi__user_8h.html +120 -239
  62. data/{ref → doc/api}/ruby/classes/ERB.html +7 -7
  63. data/doc/api/ruby/classes/ERB.src/M000025.html +29 -0
  64. data/{ref → doc/api}/ruby/classes/FileUtils.html +6 -23
  65. data/doc/api/ruby/classes/FileUtils.src/M000026.html +20 -0
  66. data/{ref → doc/api}/ruby/classes/Float.html +8 -8
  67. data/doc/api/ruby/classes/Float.src/M000020.html +19 -0
  68. data/{ref → doc/api}/ruby/classes/Integer.html +67 -67
  69. data/doc/api/ruby/classes/Integer.src/M000008.html +25 -0
  70. data/doc/api/ruby/classes/Integer.src/M000009.html +18 -0
  71. data/doc/api/ruby/classes/Integer.src/M000010.html +18 -0
  72. data/doc/api/ruby/classes/Integer.src/M000011.html +18 -0
  73. data/doc/api/ruby/classes/Integer.src/M000012.html +18 -0
  74. data/doc/api/ruby/classes/Integer.src/M000013.html +18 -0
  75. data/doc/api/ruby/classes/Integer.src/M000016.html +25 -0
  76. data/doc/api/ruby/classes/Integer.src/M000017.html +31 -0
  77. data/doc/api/ruby/classes/Integer.src/M000018.html +25 -0
  78. data/doc/api/ruby/classes/Integer.src/M000019.html +30 -0
  79. data/{ref → doc/api}/ruby/classes/Object.html +3 -3
  80. data/{ref → doc/api}/ruby/classes/RDoc.html +7 -7
  81. data/doc/api/ruby/classes/RDoc.src/M000541.html +40 -0
  82. data/doc/api/ruby/classes/RubyVPI/SIMULATORS.html +130 -0
  83. data/doc/api/ruby/classes/RubyVPI/SIMULATORS.src/M000028.html +19 -0
  84. data/{ref → doc/api}/ruby/classes/RubyVPI.html +96 -55
  85. data/doc/api/ruby/classes/RubyVPI.src/M000027.html +34 -0
  86. data/{ref → doc/api}/ruby/classes/String.html +16 -16
  87. data/doc/api/ruby/classes/String.src/M000021.html +36 -0
  88. data/doc/api/ruby/classes/String.src/M000022.html +18 -0
  89. data/doc/api/ruby/classes/String.src/M000023.html +18 -0
  90. data/doc/api/ruby/classes/String.src/M000024.html +41 -0
  91. data/doc/api/ruby/classes/VPI/Handle.html +2098 -0
  92. data/doc/api/ruby/classes/VPI/Handle.src/M000434.html +31 -0
  93. data/doc/api/ruby/classes/VPI/Handle.src/M000435.html +18 -0
  94. data/doc/api/ruby/classes/VPI/Handle.src/M000436.html +18 -0
  95. data/doc/api/ruby/classes/VPI/Handle.src/M000439.html +18 -0
  96. data/doc/api/ruby/classes/VPI/Handle.src/M000440.html +18 -0
  97. data/doc/api/ruby/classes/VPI/Handle.src/M000443.html +18 -0
  98. data/doc/api/ruby/classes/VPI/Handle.src/M000444.html +18 -0
  99. data/doc/api/ruby/classes/VPI/Handle.src/M000447.html +18 -0
  100. data/doc/api/ruby/classes/VPI/Handle.src/M000448.html +18 -0
  101. data/doc/api/ruby/classes/VPI/Handle.src/M000451.html +18 -0
  102. data/doc/api/ruby/classes/VPI/Handle.src/M000452.html +18 -0
  103. data/doc/api/ruby/classes/VPI/Handle.src/M000455.html +18 -0
  104. data/doc/api/ruby/classes/VPI/Handle.src/M000456.html +18 -0
  105. data/doc/api/ruby/classes/VPI/Handle.src/M000459.html +24 -0
  106. data/doc/api/ruby/classes/VPI/Handle.src/M000461.html +21 -0
  107. data/doc/api/ruby/classes/VPI/Handle.src/M000462.html +28 -0
  108. data/doc/api/ruby/classes/VPI/Handle.src/M000463.html +50 -0
  109. data/doc/api/ruby/classes/VPI/Handle.src/M000464.html +19 -0
  110. data/doc/api/ruby/classes/VPI/Handle.src/M000465.html +19 -0
  111. data/doc/api/ruby/classes/VPI/Handle.src/M000466.html +18 -0
  112. data/doc/api/ruby/classes/VPI/Handle.src/M000467.html +18 -0
  113. data/doc/api/ruby/classes/VPI/Handle.src/M000468.html +30 -0
  114. data/doc/api/ruby/classes/VPI/Handle.src/M000469.html +18 -0
  115. data/doc/api/ruby/classes/VPI/Handle.src/M000470.html +18 -0
  116. data/doc/api/ruby/classes/VPI/Handle.src/M000471.html +40 -0
  117. data/doc/api/ruby/classes/VPI/Handle.src/M000472.html +18 -0
  118. data/doc/api/ruby/classes/VPI/Handle.src/M000473.html +21 -0
  119. data/doc/api/ruby/classes/VPI/Handle.src/M000474.html +16 -0
  120. data/doc/api/ruby/classes/VPI/Handle.src/M000475.html +16 -0
  121. data/doc/api/ruby/classes/VPI/Handle.src/M000476.html +16 -0
  122. data/doc/api/ruby/classes/VPI/Handle.src/M000477.html +16 -0
  123. data/doc/api/ruby/classes/VPI/Handle.src/M000478.html +16 -0
  124. data/doc/api/ruby/classes/VPI/Handle.src/M000479.html +16 -0
  125. data/doc/api/ruby/classes/VPI/Handle.src/M000480.html +16 -0
  126. data/doc/api/ruby/classes/VPI/Handle.src/M000481.html +16 -0
  127. data/doc/api/ruby/classes/VPI/Handle.src/M000482.html +16 -0
  128. data/doc/api/ruby/classes/VPI/Handle.src/M000483.html +16 -0
  129. data/doc/api/ruby/classes/VPI/Handle.src/M000484.html +16 -0
  130. data/doc/api/ruby/classes/VPI/Handle.src/M000485.html +16 -0
  131. data/doc/api/ruby/classes/VPI/Handle.src/M000486.html +16 -0
  132. data/doc/api/ruby/classes/VPI/Handle.src/M000487.html +16 -0
  133. data/doc/api/ruby/classes/VPI/Handle.src/M000488.html +16 -0
  134. data/doc/api/ruby/classes/VPI/Handle.src/M000489.html +16 -0
  135. data/doc/api/ruby/classes/VPI/Handle.src/M000490.html +16 -0
  136. data/doc/api/ruby/classes/VPI/Handle.src/M000491.html +16 -0
  137. data/doc/api/ruby/classes/VPI/Handle.src/M000492.html +16 -0
  138. data/doc/api/ruby/classes/VPI/Handle.src/M000493.html +16 -0
  139. data/doc/api/ruby/classes/VPI/Handle.src/M000494.html +16 -0
  140. data/doc/api/ruby/classes/VPI/Handle.src/M000495.html +16 -0
  141. data/doc/api/ruby/classes/VPI/Handle.src/M000496.html +16 -0
  142. data/doc/api/ruby/classes/VPI/Handle.src/M000497.html +16 -0
  143. data/doc/api/ruby/classes/VPI/Handle.src/M000498.html +16 -0
  144. data/doc/api/ruby/classes/VPI/Handle.src/M000499.html +16 -0
  145. data/doc/api/ruby/classes/VPI/Handle.src/M000500.html +16 -0
  146. data/doc/api/ruby/classes/VPI/Handle.src/M000501.html +16 -0
  147. data/doc/api/ruby/classes/VPI/Handle.src/M000502.html +16 -0
  148. data/doc/api/ruby/classes/VPI/Handle.src/M000503.html +16 -0
  149. data/doc/api/ruby/classes/VPI/Handle.src/M000504.html +16 -0
  150. data/doc/api/ruby/classes/VPI/Handle.src/M000505.html +16 -0
  151. data/doc/api/ruby/classes/VPI/Handle.src/M000506.html +16 -0
  152. data/doc/api/ruby/classes/VPI/Handle.src/M000507.html +16 -0
  153. data/doc/api/ruby/classes/VPI/Handle.src/M000508.html +16 -0
  154. data/doc/api/ruby/classes/VPI/Handle.src/M000509.html +16 -0
  155. data/doc/api/ruby/classes/VPI/Handle.src/M000510.html +16 -0
  156. data/doc/api/ruby/classes/VPI/Handle.src/M000511.html +16 -0
  157. data/doc/api/ruby/classes/VPI/Handle.src/M000512.html +16 -0
  158. data/doc/api/ruby/classes/VPI/Handle.src/M000513.html +16 -0
  159. data/doc/api/ruby/classes/VPI/Handle.src/M000514.html +16 -0
  160. data/doc/api/ruby/classes/VPI/Handle.src/M000515.html +16 -0
  161. data/doc/api/ruby/classes/VPI/Handle.src/M000516.html +16 -0
  162. data/doc/api/ruby/classes/VPI/Handle.src/M000517.html +16 -0
  163. data/doc/api/ruby/classes/VPI/Handle.src/M000518.html +16 -0
  164. data/doc/api/ruby/classes/VPI/Handle.src/M000519.html +16 -0
  165. data/doc/api/ruby/classes/VPI/Handle.src/M000520.html +16 -0
  166. data/doc/api/ruby/classes/VPI/Handle.src/M000521.html +16 -0
  167. data/doc/api/ruby/classes/VPI/Handle.src/M000522.html +16 -0
  168. data/doc/api/ruby/classes/VPI/Handle.src/M000523.html +16 -0
  169. data/doc/api/ruby/classes/VPI/Handle.src/M000524.html +16 -0
  170. data/doc/api/ruby/classes/VPI/Handle.src/M000525.html +16 -0
  171. data/doc/api/ruby/classes/VPI/Handle.src/M000526.html +16 -0
  172. data/doc/api/ruby/classes/VPI/Handle.src/M000527.html +16 -0
  173. data/doc/api/ruby/classes/VPI/Handle.src/M000528.html +16 -0
  174. data/doc/api/ruby/classes/VPI/Handle.src/M000529.html +16 -0
  175. data/doc/api/ruby/classes/VPI/Handle.src/M000530.html +16 -0
  176. data/doc/api/ruby/classes/VPI/Handle.src/M000531.html +16 -0
  177. data/doc/api/ruby/classes/VPI/Handle.src/M000532.html +16 -0
  178. data/doc/api/ruby/classes/VPI/Handle.src/M000533.html +16 -0
  179. data/doc/api/ruby/classes/VPI/Handle.src/M000534.html +16 -0
  180. data/doc/api/ruby/classes/VPI/Handle.src/M000535.html +16 -0
  181. data/doc/api/ruby/classes/VPI/Handle.src/M000536.html +16 -0
  182. data/doc/api/ruby/classes/VPI/Handle.src/M000537.html +16 -0
  183. data/{ref → doc/api}/ruby/classes/VPI/S_vpi_time.html +18 -18
  184. data/doc/api/ruby/classes/VPI/S_vpi_time.src/M000538.html +18 -0
  185. data/doc/api/ruby/classes/VPI/S_vpi_time.src/M000539.html +19 -0
  186. data/{ref → doc/api}/ruby/classes/VPI/S_vpi_value.html +17 -17
  187. data/doc/api/ruby/classes/VPI/S_vpi_value.src/M000431.html +35 -0
  188. data/doc/api/ruby/classes/VPI/S_vpi_value.src/M000432.html +42 -0
  189. data/doc/api/ruby/classes/VPI/S_vpi_value.src/M000433.html +42 -0
  190. data/doc/api/ruby/classes/VPI.html +11152 -0
  191. data/doc/api/ruby/classes/VPI.src/M000029.html +19 -0
  192. data/doc/api/ruby/classes/VPI.src/M000030.html +18 -0
  193. data/doc/api/ruby/classes/VPI.src/M000031.html +19 -0
  194. data/doc/api/ruby/classes/VPI.src/M000033.html +25 -0
  195. data/doc/api/ruby/classes/VPI.src/M000034.html +26 -0
  196. data/doc/api/ruby/classes/VPI.src/M000036.html +16 -0
  197. data/doc/api/ruby/classes/VPI.src/M000037.html +16 -0
  198. data/doc/api/ruby/classes/VPI.src/M000038.html +16 -0
  199. data/doc/api/ruby/classes/VPI.src/M000039.html +16 -0
  200. data/doc/api/ruby/classes/VPI.src/M000040.html +16 -0
  201. data/doc/api/ruby/classes/VPI.src/M000041.html +16 -0
  202. data/doc/api/ruby/classes/VPI.src/M000042.html +16 -0
  203. data/doc/api/ruby/classes/VPI.src/M000043.html +16 -0
  204. data/doc/api/ruby/classes/VPI.src/M000044.html +16 -0
  205. data/doc/api/ruby/classes/VPI.src/M000045.html +16 -0
  206. data/doc/api/ruby/classes/VPI.src/M000046.html +16 -0
  207. data/doc/api/ruby/classes/VPI.src/M000047.html +16 -0
  208. data/doc/api/ruby/classes/VPI.src/M000048.html +16 -0
  209. data/doc/api/ruby/classes/VPI.src/M000049.html +16 -0
  210. data/doc/api/ruby/classes/VPI.src/M000050.html +16 -0
  211. data/doc/api/ruby/classes/VPI.src/M000051.html +16 -0
  212. data/doc/api/ruby/classes/VPI.src/M000052.html +16 -0
  213. data/doc/api/ruby/classes/VPI.src/M000053.html +16 -0
  214. data/doc/api/ruby/classes/VPI.src/M000054.html +16 -0
  215. data/doc/api/ruby/classes/VPI.src/M000055.html +16 -0
  216. data/doc/api/ruby/classes/VPI.src/M000056.html +16 -0
  217. data/doc/api/ruby/classes/VPI.src/M000057.html +16 -0
  218. data/doc/api/ruby/classes/VPI.src/M000058.html +16 -0
  219. data/doc/api/ruby/classes/VPI.src/M000059.html +16 -0
  220. data/doc/api/ruby/classes/VPI.src/M000060.html +16 -0
  221. data/doc/api/ruby/classes/VPI.src/M000061.html +16 -0
  222. data/doc/api/ruby/classes/VPI.src/M000062.html +16 -0
  223. data/doc/api/ruby/classes/VPI.src/M000063.html +16 -0
  224. data/doc/api/ruby/classes/VPI.src/M000064.html +16 -0
  225. data/doc/api/ruby/classes/VPI.src/M000065.html +16 -0
  226. data/doc/api/ruby/classes/VPI.src/M000066.html +16 -0
  227. data/doc/api/ruby/classes/VPI.src/M000067.html +16 -0
  228. data/doc/api/ruby/classes/VPI.src/M000068.html +16 -0
  229. data/doc/api/ruby/classes/VPI.src/M000069.html +16 -0
  230. data/doc/api/ruby/classes/VPI.src/M000070.html +16 -0
  231. data/doc/api/ruby/classes/VPI.src/M000071.html +16 -0
  232. data/doc/api/ruby/classes/VPI.src/M000072.html +16 -0
  233. data/doc/api/ruby/classes/VPI.src/M000073.html +16 -0
  234. data/doc/api/ruby/classes/VPI.src/M000074.html +16 -0
  235. data/doc/api/ruby/classes/VPI.src/M000075.html +16 -0
  236. data/doc/api/ruby/classes/VPI.src/M000076.html +16 -0
  237. data/doc/api/ruby/classes/VPI.src/M000077.html +16 -0
  238. data/doc/api/ruby/classes/VPI.src/M000078.html +16 -0
  239. data/doc/api/ruby/classes/VPI.src/M000079.html +16 -0
  240. data/doc/api/ruby/classes/VPI.src/M000080.html +16 -0
  241. data/doc/api/ruby/classes/VPI.src/M000081.html +16 -0
  242. data/doc/api/ruby/classes/VPI.src/M000082.html +16 -0
  243. data/doc/api/ruby/classes/VPI.src/M000083.html +16 -0
  244. data/doc/api/ruby/classes/VPI.src/M000084.html +16 -0
  245. data/doc/api/ruby/classes/VPI.src/M000085.html +16 -0
  246. data/doc/api/ruby/classes/VPI.src/M000086.html +16 -0
  247. data/doc/api/ruby/classes/VPI.src/M000087.html +16 -0
  248. data/doc/api/ruby/classes/VPI.src/M000088.html +16 -0
  249. data/doc/api/ruby/classes/VPI.src/M000089.html +16 -0
  250. data/doc/api/ruby/classes/VPI.src/M000090.html +16 -0
  251. data/doc/api/ruby/classes/VPI.src/M000091.html +16 -0
  252. data/doc/api/ruby/classes/VPI.src/M000092.html +16 -0
  253. data/doc/api/ruby/classes/VPI.src/M000093.html +16 -0
  254. data/doc/api/ruby/classes/VPI.src/M000094.html +16 -0
  255. data/doc/api/ruby/classes/VPI.src/M000095.html +16 -0
  256. data/doc/api/ruby/classes/VPI.src/M000096.html +16 -0
  257. data/doc/api/ruby/classes/VPI.src/M000097.html +16 -0
  258. data/doc/api/ruby/classes/VPI.src/M000098.html +16 -0
  259. data/doc/api/ruby/classes/VPI.src/M000099.html +16 -0
  260. data/doc/api/ruby/classes/VPI.src/M000100.html +16 -0
  261. data/doc/api/ruby/classes/VPI.src/M000101.html +16 -0
  262. data/doc/api/ruby/classes/VPI.src/M000102.html +16 -0
  263. data/doc/api/ruby/classes/VPI.src/M000103.html +16 -0
  264. data/doc/api/ruby/classes/VPI.src/M000104.html +16 -0
  265. data/doc/api/ruby/classes/VPI.src/M000105.html +16 -0
  266. data/doc/api/ruby/classes/VPI.src/M000106.html +16 -0
  267. data/doc/api/ruby/classes/VPI.src/M000107.html +16 -0
  268. data/doc/api/ruby/classes/VPI.src/M000108.html +16 -0
  269. data/doc/api/ruby/classes/VPI.src/M000109.html +16 -0
  270. data/doc/api/ruby/classes/VPI.src/M000110.html +16 -0
  271. data/doc/api/ruby/classes/VPI.src/M000111.html +16 -0
  272. data/doc/api/ruby/classes/VPI.src/M000112.html +16 -0
  273. data/doc/api/ruby/classes/VPI.src/M000113.html +16 -0
  274. data/doc/api/ruby/classes/VPI.src/M000114.html +16 -0
  275. data/doc/api/ruby/classes/VPI.src/M000115.html +16 -0
  276. data/doc/api/ruby/classes/VPI.src/M000116.html +16 -0
  277. data/doc/api/ruby/classes/VPI.src/M000117.html +16 -0
  278. data/doc/api/ruby/classes/VPI.src/M000118.html +16 -0
  279. data/doc/api/ruby/classes/VPI.src/M000119.html +16 -0
  280. data/doc/api/ruby/classes/VPI.src/M000120.html +16 -0
  281. data/doc/api/ruby/classes/VPI.src/M000121.html +16 -0
  282. data/doc/api/ruby/classes/VPI.src/M000122.html +16 -0
  283. data/doc/api/ruby/classes/VPI.src/M000123.html +16 -0
  284. data/doc/api/ruby/classes/VPI.src/M000124.html +16 -0
  285. data/doc/api/ruby/classes/VPI.src/M000125.html +16 -0
  286. data/doc/api/ruby/classes/VPI.src/M000126.html +16 -0
  287. data/doc/api/ruby/classes/VPI.src/M000127.html +16 -0
  288. data/doc/api/ruby/classes/VPI.src/M000128.html +16 -0
  289. data/doc/api/ruby/classes/VPI.src/M000129.html +16 -0
  290. data/doc/api/ruby/classes/VPI.src/M000130.html +16 -0
  291. data/doc/api/ruby/classes/VPI.src/M000131.html +16 -0
  292. data/doc/api/ruby/classes/VPI.src/M000132.html +16 -0
  293. data/doc/api/ruby/classes/VPI.src/M000133.html +16 -0
  294. data/doc/api/ruby/classes/VPI.src/M000134.html +16 -0
  295. data/doc/api/ruby/classes/VPI.src/M000135.html +16 -0
  296. data/doc/api/ruby/classes/VPI.src/M000136.html +16 -0
  297. data/doc/api/ruby/classes/VPI.src/M000137.html +16 -0
  298. data/doc/api/ruby/classes/VPI.src/M000138.html +16 -0
  299. data/doc/api/ruby/classes/VPI.src/M000139.html +16 -0
  300. data/doc/api/ruby/classes/VPI.src/M000140.html +16 -0
  301. data/doc/api/ruby/classes/VPI.src/M000141.html +16 -0
  302. data/doc/api/ruby/classes/VPI.src/M000142.html +16 -0
  303. data/doc/api/ruby/classes/VPI.src/M000143.html +16 -0
  304. data/doc/api/ruby/classes/VPI.src/M000144.html +16 -0
  305. data/doc/api/ruby/classes/VPI.src/M000145.html +16 -0
  306. data/doc/api/ruby/classes/VPI.src/M000146.html +16 -0
  307. data/doc/api/ruby/classes/VPI.src/M000147.html +16 -0
  308. data/doc/api/ruby/classes/VPI.src/M000148.html +16 -0
  309. data/doc/api/ruby/classes/VPI.src/M000149.html +16 -0
  310. data/doc/api/ruby/classes/VPI.src/M000150.html +16 -0
  311. data/doc/api/ruby/classes/VPI.src/M000151.html +16 -0
  312. data/doc/api/ruby/classes/VPI.src/M000152.html +16 -0
  313. data/doc/api/ruby/classes/VPI.src/M000153.html +16 -0
  314. data/doc/api/ruby/classes/VPI.src/M000154.html +16 -0
  315. data/doc/api/ruby/classes/VPI.src/M000155.html +16 -0
  316. data/doc/api/ruby/classes/VPI.src/M000156.html +16 -0
  317. data/doc/api/ruby/classes/VPI.src/M000157.html +16 -0
  318. data/doc/api/ruby/classes/VPI.src/M000158.html +16 -0
  319. data/doc/api/ruby/classes/VPI.src/M000159.html +16 -0
  320. data/doc/api/ruby/classes/VPI.src/M000160.html +16 -0
  321. data/doc/api/ruby/classes/VPI.src/M000161.html +16 -0
  322. data/doc/api/ruby/classes/VPI.src/M000162.html +16 -0
  323. data/doc/api/ruby/classes/VPI.src/M000163.html +16 -0
  324. data/doc/api/ruby/classes/VPI.src/M000164.html +16 -0
  325. data/doc/api/ruby/classes/VPI.src/M000165.html +16 -0
  326. data/doc/api/ruby/classes/VPI.src/M000166.html +16 -0
  327. data/doc/api/ruby/classes/VPI.src/M000167.html +16 -0
  328. data/doc/api/ruby/classes/VPI.src/M000168.html +16 -0
  329. data/doc/api/ruby/classes/VPI.src/M000169.html +16 -0
  330. data/doc/api/ruby/classes/VPI.src/M000170.html +16 -0
  331. data/doc/api/ruby/classes/VPI.src/M000171.html +16 -0
  332. data/doc/api/ruby/classes/VPI.src/M000172.html +16 -0
  333. data/doc/api/ruby/classes/VPI.src/M000173.html +16 -0
  334. data/doc/api/ruby/classes/VPI.src/M000174.html +16 -0
  335. data/doc/api/ruby/classes/VPI.src/M000175.html +16 -0
  336. data/doc/api/ruby/classes/VPI.src/M000176.html +16 -0
  337. data/doc/api/ruby/classes/VPI.src/M000177.html +16 -0
  338. data/doc/api/ruby/classes/VPI.src/M000178.html +16 -0
  339. data/doc/api/ruby/classes/VPI.src/M000179.html +16 -0
  340. data/doc/api/ruby/classes/VPI.src/M000180.html +16 -0
  341. data/doc/api/ruby/classes/VPI.src/M000181.html +16 -0
  342. data/doc/api/ruby/classes/VPI.src/M000182.html +16 -0
  343. data/doc/api/ruby/classes/VPI.src/M000183.html +16 -0
  344. data/doc/api/ruby/classes/VPI.src/M000184.html +16 -0
  345. data/doc/api/ruby/classes/VPI.src/M000185.html +16 -0
  346. data/doc/api/ruby/classes/VPI.src/M000186.html +16 -0
  347. data/doc/api/ruby/classes/VPI.src/M000187.html +16 -0
  348. data/doc/api/ruby/classes/VPI.src/M000188.html +16 -0
  349. data/doc/api/ruby/classes/VPI.src/M000189.html +16 -0
  350. data/doc/api/ruby/classes/VPI.src/M000190.html +16 -0
  351. data/doc/api/ruby/classes/VPI.src/M000191.html +16 -0
  352. data/doc/api/ruby/classes/VPI.src/M000192.html +16 -0
  353. data/doc/api/ruby/classes/VPI.src/M000193.html +16 -0
  354. data/doc/api/ruby/classes/VPI.src/M000194.html +16 -0
  355. data/doc/api/ruby/classes/VPI.src/M000195.html +16 -0
  356. data/doc/api/ruby/classes/VPI.src/M000196.html +16 -0
  357. data/doc/api/ruby/classes/VPI.src/M000197.html +16 -0
  358. data/doc/api/ruby/classes/VPI.src/M000198.html +16 -0
  359. data/doc/api/ruby/classes/VPI.src/M000199.html +16 -0
  360. data/doc/api/ruby/classes/VPI.src/M000200.html +16 -0
  361. data/doc/api/ruby/classes/VPI.src/M000201.html +16 -0
  362. data/doc/api/ruby/classes/VPI.src/M000202.html +16 -0
  363. data/doc/api/ruby/classes/VPI.src/M000203.html +16 -0
  364. data/doc/api/ruby/classes/VPI.src/M000204.html +16 -0
  365. data/doc/api/ruby/classes/VPI.src/M000205.html +16 -0
  366. data/doc/api/ruby/classes/VPI.src/M000206.html +16 -0
  367. data/doc/api/ruby/classes/VPI.src/M000207.html +16 -0
  368. data/doc/api/ruby/classes/VPI.src/M000208.html +16 -0
  369. data/doc/api/ruby/classes/VPI.src/M000209.html +16 -0
  370. data/doc/api/ruby/classes/VPI.src/M000210.html +16 -0
  371. data/doc/api/ruby/classes/VPI.src/M000211.html +16 -0
  372. data/doc/api/ruby/classes/VPI.src/M000212.html +16 -0
  373. data/doc/api/ruby/classes/VPI.src/M000213.html +16 -0
  374. data/doc/api/ruby/classes/VPI.src/M000214.html +16 -0
  375. data/doc/api/ruby/classes/VPI.src/M000215.html +16 -0
  376. data/doc/api/ruby/classes/VPI.src/M000216.html +16 -0
  377. data/doc/api/ruby/classes/VPI.src/M000217.html +16 -0
  378. data/doc/api/ruby/classes/VPI.src/M000218.html +16 -0
  379. data/doc/api/ruby/classes/VPI.src/M000219.html +16 -0
  380. data/doc/api/ruby/classes/VPI.src/M000220.html +16 -0
  381. data/doc/api/ruby/classes/VPI.src/M000221.html +16 -0
  382. data/doc/api/ruby/classes/VPI.src/M000222.html +16 -0
  383. data/doc/api/ruby/classes/VPI.src/M000223.html +16 -0
  384. data/doc/api/ruby/classes/VPI.src/M000224.html +16 -0
  385. data/doc/api/ruby/classes/VPI.src/M000225.html +16 -0
  386. data/doc/api/ruby/classes/VPI.src/M000226.html +16 -0
  387. data/doc/api/ruby/classes/VPI.src/M000227.html +16 -0
  388. data/doc/api/ruby/classes/VPI.src/M000228.html +16 -0
  389. data/doc/api/ruby/classes/VPI.src/M000229.html +16 -0
  390. data/doc/api/ruby/classes/VPI.src/M000230.html +16 -0
  391. data/doc/api/ruby/classes/VPI.src/M000231.html +16 -0
  392. data/doc/api/ruby/classes/VPI.src/M000232.html +16 -0
  393. data/doc/api/ruby/classes/VPI.src/M000233.html +16 -0
  394. data/doc/api/ruby/classes/VPI.src/M000234.html +16 -0
  395. data/doc/api/ruby/classes/VPI.src/M000235.html +16 -0
  396. data/doc/api/ruby/classes/VPI.src/M000236.html +16 -0
  397. data/doc/api/ruby/classes/VPI.src/M000237.html +16 -0
  398. data/doc/api/ruby/classes/VPI.src/M000238.html +16 -0
  399. data/doc/api/ruby/classes/VPI.src/M000239.html +16 -0
  400. data/doc/api/ruby/classes/VPI.src/M000240.html +16 -0
  401. data/doc/api/ruby/classes/VPI.src/M000241.html +16 -0
  402. data/doc/api/ruby/classes/VPI.src/M000242.html +16 -0
  403. data/doc/api/ruby/classes/VPI.src/M000243.html +16 -0
  404. data/doc/api/ruby/classes/VPI.src/M000244.html +16 -0
  405. data/doc/api/ruby/classes/VPI.src/M000245.html +16 -0
  406. data/doc/api/ruby/classes/VPI.src/M000246.html +16 -0
  407. data/doc/api/ruby/classes/VPI.src/M000247.html +16 -0
  408. data/doc/api/ruby/classes/VPI.src/M000248.html +16 -0
  409. data/doc/api/ruby/classes/VPI.src/M000249.html +16 -0
  410. data/doc/api/ruby/classes/VPI.src/M000250.html +16 -0
  411. data/doc/api/ruby/classes/VPI.src/M000251.html +16 -0
  412. data/doc/api/ruby/classes/VPI.src/M000252.html +16 -0
  413. data/doc/api/ruby/classes/VPI.src/M000253.html +16 -0
  414. data/doc/api/ruby/classes/VPI.src/M000254.html +16 -0
  415. data/doc/api/ruby/classes/VPI.src/M000255.html +16 -0
  416. data/doc/api/ruby/classes/VPI.src/M000256.html +16 -0
  417. data/doc/api/ruby/classes/VPI.src/M000257.html +16 -0
  418. data/doc/api/ruby/classes/VPI.src/M000258.html +16 -0
  419. data/doc/api/ruby/classes/VPI.src/M000259.html +16 -0
  420. data/doc/api/ruby/classes/VPI.src/M000260.html +16 -0
  421. data/doc/api/ruby/classes/VPI.src/M000261.html +16 -0
  422. data/doc/api/ruby/classes/VPI.src/M000262.html +16 -0
  423. data/doc/api/ruby/classes/VPI.src/M000263.html +16 -0
  424. data/doc/api/ruby/classes/VPI.src/M000264.html +16 -0
  425. data/doc/api/ruby/classes/VPI.src/M000265.html +16 -0
  426. data/doc/api/ruby/classes/VPI.src/M000266.html +16 -0
  427. data/doc/api/ruby/classes/VPI.src/M000267.html +16 -0
  428. data/doc/api/ruby/classes/VPI.src/M000268.html +16 -0
  429. data/doc/api/ruby/classes/VPI.src/M000269.html +16 -0
  430. data/doc/api/ruby/classes/VPI.src/M000270.html +16 -0
  431. data/doc/api/ruby/classes/VPI.src/M000271.html +16 -0
  432. data/doc/api/ruby/classes/VPI.src/M000272.html +16 -0
  433. data/doc/api/ruby/classes/VPI.src/M000273.html +16 -0
  434. data/doc/api/ruby/classes/VPI.src/M000274.html +16 -0
  435. data/doc/api/ruby/classes/VPI.src/M000275.html +16 -0
  436. data/doc/api/ruby/classes/VPI.src/M000276.html +16 -0
  437. data/doc/api/ruby/classes/VPI.src/M000277.html +16 -0
  438. data/doc/api/ruby/classes/VPI.src/M000278.html +16 -0
  439. data/doc/api/ruby/classes/VPI.src/M000279.html +16 -0
  440. data/doc/api/ruby/classes/VPI.src/M000280.html +16 -0
  441. data/doc/api/ruby/classes/VPI.src/M000281.html +16 -0
  442. data/doc/api/ruby/classes/VPI.src/M000282.html +16 -0
  443. data/doc/api/ruby/classes/VPI.src/M000283.html +16 -0
  444. data/doc/api/ruby/classes/VPI.src/M000284.html +16 -0
  445. data/doc/api/ruby/classes/VPI.src/M000285.html +16 -0
  446. data/doc/api/ruby/classes/VPI.src/M000286.html +16 -0
  447. data/doc/api/ruby/classes/VPI.src/M000287.html +16 -0
  448. data/doc/api/ruby/classes/VPI.src/M000288.html +16 -0
  449. data/doc/api/ruby/classes/VPI.src/M000289.html +16 -0
  450. data/doc/api/ruby/classes/VPI.src/M000290.html +16 -0
  451. data/doc/api/ruby/classes/VPI.src/M000291.html +16 -0
  452. data/doc/api/ruby/classes/VPI.src/M000292.html +16 -0
  453. data/doc/api/ruby/classes/VPI.src/M000293.html +16 -0
  454. data/doc/api/ruby/classes/VPI.src/M000294.html +16 -0
  455. data/doc/api/ruby/classes/VPI.src/M000295.html +16 -0
  456. data/doc/api/ruby/classes/VPI.src/M000296.html +16 -0
  457. data/doc/api/ruby/classes/VPI.src/M000297.html +16 -0
  458. data/doc/api/ruby/classes/VPI.src/M000298.html +16 -0
  459. data/doc/api/ruby/classes/VPI.src/M000299.html +16 -0
  460. data/doc/api/ruby/classes/VPI.src/M000300.html +16 -0
  461. data/doc/api/ruby/classes/VPI.src/M000301.html +16 -0
  462. data/doc/api/ruby/classes/VPI.src/M000302.html +16 -0
  463. data/doc/api/ruby/classes/VPI.src/M000303.html +16 -0
  464. data/doc/api/ruby/classes/VPI.src/M000304.html +16 -0
  465. data/doc/api/ruby/classes/VPI.src/M000305.html +16 -0
  466. data/doc/api/ruby/classes/VPI.src/M000306.html +16 -0
  467. data/doc/api/ruby/classes/VPI.src/M000307.html +16 -0
  468. data/doc/api/ruby/classes/VPI.src/M000308.html +16 -0
  469. data/doc/api/ruby/classes/VPI.src/M000309.html +16 -0
  470. data/doc/api/ruby/classes/VPI.src/M000310.html +16 -0
  471. data/doc/api/ruby/classes/VPI.src/M000311.html +16 -0
  472. data/doc/api/ruby/classes/VPI.src/M000312.html +16 -0
  473. data/doc/api/ruby/classes/VPI.src/M000313.html +16 -0
  474. data/doc/api/ruby/classes/VPI.src/M000314.html +16 -0
  475. data/doc/api/ruby/classes/VPI.src/M000315.html +16 -0
  476. data/doc/api/ruby/classes/VPI.src/M000316.html +16 -0
  477. data/doc/api/ruby/classes/VPI.src/M000317.html +16 -0
  478. data/doc/api/ruby/classes/VPI.src/M000318.html +16 -0
  479. data/doc/api/ruby/classes/VPI.src/M000319.html +16 -0
  480. data/doc/api/ruby/classes/VPI.src/M000320.html +16 -0
  481. data/doc/api/ruby/classes/VPI.src/M000321.html +16 -0
  482. data/doc/api/ruby/classes/VPI.src/M000322.html +16 -0
  483. data/doc/api/ruby/classes/VPI.src/M000323.html +16 -0
  484. data/doc/api/ruby/classes/VPI.src/M000324.html +16 -0
  485. data/doc/api/ruby/classes/VPI.src/M000325.html +16 -0
  486. data/doc/api/ruby/classes/VPI.src/M000326.html +16 -0
  487. data/doc/api/ruby/classes/VPI.src/M000327.html +16 -0
  488. data/doc/api/ruby/classes/VPI.src/M000328.html +16 -0
  489. data/doc/api/ruby/classes/VPI.src/M000329.html +16 -0
  490. data/doc/api/ruby/classes/VPI.src/M000330.html +16 -0
  491. data/doc/api/ruby/classes/VPI.src/M000331.html +16 -0
  492. data/doc/api/ruby/classes/VPI.src/M000332.html +16 -0
  493. data/doc/api/ruby/classes/VPI.src/M000333.html +16 -0
  494. data/doc/api/ruby/classes/VPI.src/M000334.html +16 -0
  495. data/doc/api/ruby/classes/VPI.src/M000335.html +16 -0
  496. data/doc/api/ruby/classes/VPI.src/M000336.html +16 -0
  497. data/doc/api/ruby/classes/VPI.src/M000337.html +16 -0
  498. data/doc/api/ruby/classes/VPI.src/M000338.html +16 -0
  499. data/doc/api/ruby/classes/VPI.src/M000339.html +16 -0
  500. data/doc/api/ruby/classes/VPI.src/M000340.html +16 -0
  501. data/doc/api/ruby/classes/VPI.src/M000341.html +16 -0
  502. data/doc/api/ruby/classes/VPI.src/M000342.html +16 -0
  503. data/doc/api/ruby/classes/VPI.src/M000343.html +16 -0
  504. data/doc/api/ruby/classes/VPI.src/M000344.html +16 -0
  505. data/doc/api/ruby/classes/VPI.src/M000345.html +16 -0
  506. data/doc/api/ruby/classes/VPI.src/M000346.html +16 -0
  507. data/doc/api/ruby/classes/VPI.src/M000347.html +16 -0
  508. data/doc/api/ruby/classes/VPI.src/M000348.html +16 -0
  509. data/doc/api/ruby/classes/VPI.src/M000349.html +16 -0
  510. data/doc/api/ruby/classes/VPI.src/M000350.html +16 -0
  511. data/doc/api/ruby/classes/VPI.src/M000351.html +16 -0
  512. data/doc/api/ruby/classes/VPI.src/M000352.html +16 -0
  513. data/doc/api/ruby/classes/VPI.src/M000353.html +16 -0
  514. data/doc/api/ruby/classes/VPI.src/M000354.html +16 -0
  515. data/doc/api/ruby/classes/VPI.src/M000355.html +16 -0
  516. data/doc/api/ruby/classes/VPI.src/M000356.html +16 -0
  517. data/doc/api/ruby/classes/VPI.src/M000357.html +16 -0
  518. data/doc/api/ruby/classes/VPI.src/M000358.html +16 -0
  519. data/doc/api/ruby/classes/VPI.src/M000359.html +16 -0
  520. data/doc/api/ruby/classes/VPI.src/M000360.html +16 -0
  521. data/doc/api/ruby/classes/VPI.src/M000361.html +16 -0
  522. data/doc/api/ruby/classes/VPI.src/M000362.html +16 -0
  523. data/doc/api/ruby/classes/VPI.src/M000363.html +16 -0
  524. data/doc/api/ruby/classes/VPI.src/M000364.html +16 -0
  525. data/doc/api/ruby/classes/VPI.src/M000365.html +16 -0
  526. data/doc/api/ruby/classes/VPI.src/M000366.html +16 -0
  527. data/doc/api/ruby/classes/VPI.src/M000367.html +16 -0
  528. data/doc/api/ruby/classes/VPI.src/M000368.html +16 -0
  529. data/doc/api/ruby/classes/VPI.src/M000369.html +16 -0
  530. data/doc/api/ruby/classes/VPI.src/M000370.html +16 -0
  531. data/doc/api/ruby/classes/VPI.src/M000371.html +16 -0
  532. data/doc/api/ruby/classes/VPI.src/M000372.html +16 -0
  533. data/doc/api/ruby/classes/VPI.src/M000373.html +16 -0
  534. data/doc/api/ruby/classes/VPI.src/M000374.html +16 -0
  535. data/doc/api/ruby/classes/VPI.src/M000375.html +16 -0
  536. data/doc/api/ruby/classes/VPI.src/M000376.html +16 -0
  537. data/doc/api/ruby/classes/VPI.src/M000377.html +16 -0
  538. data/doc/api/ruby/classes/VPI.src/M000378.html +16 -0
  539. data/doc/api/ruby/classes/VPI.src/M000379.html +16 -0
  540. data/doc/api/ruby/classes/VPI.src/M000380.html +16 -0
  541. data/doc/api/ruby/classes/VPI.src/M000381.html +16 -0
  542. data/doc/api/ruby/classes/VPI.src/M000382.html +16 -0
  543. data/doc/api/ruby/classes/VPI.src/M000383.html +16 -0
  544. data/doc/api/ruby/classes/VPI.src/M000384.html +16 -0
  545. data/doc/api/ruby/classes/VPI.src/M000385.html +16 -0
  546. data/doc/api/ruby/classes/VPI.src/M000386.html +16 -0
  547. data/doc/api/ruby/classes/VPI.src/M000387.html +16 -0
  548. data/doc/api/ruby/classes/VPI.src/M000388.html +16 -0
  549. data/doc/api/ruby/classes/VPI.src/M000389.html +16 -0
  550. data/doc/api/ruby/classes/VPI.src/M000390.html +16 -0
  551. data/doc/api/ruby/classes/VPI.src/M000391.html +16 -0
  552. data/doc/api/ruby/classes/VPI.src/M000392.html +16 -0
  553. data/doc/api/ruby/classes/VPI.src/M000393.html +16 -0
  554. data/doc/api/ruby/classes/VPI.src/M000394.html +16 -0
  555. data/doc/api/ruby/classes/VPI.src/M000395.html +16 -0
  556. data/doc/api/ruby/classes/VPI.src/M000396.html +16 -0
  557. data/doc/api/ruby/classes/VPI.src/M000397.html +16 -0
  558. data/doc/api/ruby/classes/VPI.src/M000398.html +16 -0
  559. data/doc/api/ruby/classes/VPI.src/M000399.html +16 -0
  560. data/doc/api/ruby/classes/VPI.src/M000400.html +16 -0
  561. data/doc/api/ruby/classes/VPI.src/M000401.html +16 -0
  562. data/doc/api/ruby/classes/VPI.src/M000402.html +16 -0
  563. data/doc/api/ruby/classes/VPI.src/M000403.html +16 -0
  564. data/doc/api/ruby/classes/VPI.src/M000404.html +16 -0
  565. data/doc/api/ruby/classes/VPI.src/M000405.html +16 -0
  566. data/doc/api/ruby/classes/VPI.src/M000406.html +16 -0
  567. data/doc/api/ruby/classes/VPI.src/M000407.html +16 -0
  568. data/doc/api/ruby/classes/VPI.src/M000408.html +16 -0
  569. data/doc/api/ruby/classes/VPI.src/M000409.html +16 -0
  570. data/doc/api/ruby/classes/VPI.src/M000410.html +16 -0
  571. data/doc/api/ruby/classes/VPI.src/M000411.html +16 -0
  572. data/doc/api/ruby/classes/VPI.src/M000412.html +16 -0
  573. data/doc/api/ruby/classes/VPI.src/M000413.html +16 -0
  574. data/doc/api/ruby/classes/VPI.src/M000414.html +16 -0
  575. data/doc/api/ruby/classes/VPI.src/M000415.html +16 -0
  576. data/doc/api/ruby/classes/VPI.src/M000416.html +16 -0
  577. data/doc/api/ruby/classes/VPI.src/M000417.html +16 -0
  578. data/doc/api/ruby/classes/VPI.src/M000418.html +16 -0
  579. data/doc/api/ruby/classes/VPI.src/M000419.html +16 -0
  580. data/doc/api/ruby/classes/VPI.src/M000420.html +16 -0
  581. data/doc/api/ruby/classes/VPI.src/M000421.html +16 -0
  582. data/doc/api/ruby/classes/VPI.src/M000422.html +16 -0
  583. data/doc/api/ruby/classes/VPI.src/M000423.html +16 -0
  584. data/doc/api/ruby/classes/VPI.src/M000424.html +16 -0
  585. data/doc/api/ruby/classes/VPI.src/M000425.html +16 -0
  586. data/doc/api/ruby/classes/VPI.src/M000426.html +16 -0
  587. data/doc/api/ruby/classes/VPI.src/M000427.html +16 -0
  588. data/doc/api/ruby/classes/VPI.src/M000428.html +16 -0
  589. data/doc/api/ruby/classes/VPI.src/M000429.html +16 -0
  590. data/doc/api/ruby/classes/VPI.src/M000430.html +16 -0
  591. data/{ref → doc/api}/ruby/classes/VerilogParser/Module/Port.html +17 -17
  592. data/doc/api/ruby/classes/VerilogParser/Module/Port.src/M000005.html +23 -0
  593. data/doc/api/ruby/classes/VerilogParser/Module/Port.src/M000006.html +18 -0
  594. data/doc/api/ruby/classes/VerilogParser/Module/Port.src/M000007.html +18 -0
  595. data/{ref → doc/api}/ruby/classes/VerilogParser/Module.html +7 -7
  596. data/doc/api/ruby/classes/VerilogParser/Module.src/M000004.html +29 -0
  597. data/{ref → doc/api}/ruby/classes/VerilogParser.html +7 -7
  598. data/doc/api/ruby/classes/VerilogParser.src/M000003.html +26 -0
  599. data/doc/api/ruby/created.rid +1 -0
  600. data/{ref → doc/api}/ruby/files/bin/convert_rb.html +4 -4
  601. data/{ref → doc/api}/ruby/files/bin/generate_rb.html +10 -6
  602. data/doc/api/ruby/files/bin/ruby-vpi.html +169 -0
  603. data/doc/api/ruby/files/bin/ruby-vpi.src/M000001.html +35 -0
  604. data/{ref → doc/api}/ruby/files/lib/ruby-vpi/core/callback_rb.html +3 -3
  605. data/doc/api/ruby/files/lib/ruby-vpi/core/edge-methods_rb.html +107 -0
  606. data/{ref → doc/api}/ruby/files/lib/ruby-vpi/core/edge_rb.html +3 -3
  607. data/{ref → doc/api}/ruby/files/lib/ruby-vpi/core/handle_rb.html +10 -3
  608. data/{ref → doc/api}/ruby/files/lib/ruby-vpi/core/scheduler_rb.html +3 -3
  609. data/{ref → doc/api}/ruby/files/lib/ruby-vpi/core/struct_rb.html +2 -2
  610. data/{ref → doc/api}/ruby/files/lib/ruby-vpi/core_rb.html +3 -3
  611. data/{ref → doc/api}/ruby/files/lib/ruby-vpi/erb_rb.html +2 -2
  612. data/{ref → doc/api}/ruby/files/lib/ruby-vpi/float_rb.html +2 -2
  613. data/{ref → doc/api}/ruby/files/lib/ruby-vpi/integer_rb.html +2 -2
  614. data/{ref → doc/api}/ruby/files/lib/ruby-vpi/rake_rb.html +3 -3
  615. data/{ref → doc/api}/ruby/files/lib/ruby-vpi/rcov_rb.html +3 -4
  616. data/{ref → doc/api}/ruby/files/lib/ruby-vpi/rdoc_rb.html +2 -2
  617. data/{ref → doc/api}/ruby/files/lib/ruby-vpi/runner_boot_loader_rb.html +9 -10
  618. data/doc/api/ruby/files/lib/ruby-vpi/runner_boot_loader_rb.src/M000002.html +17 -0
  619. data/{ref → doc/api}/ruby/files/lib/ruby-vpi/runner_proxy_rb.html +3 -3
  620. data/{ref → doc/api}/ruby/files/lib/ruby-vpi/runner_rb.html +3 -3
  621. data/{ref → doc/api}/ruby/files/lib/ruby-vpi/util_rb.html +2 -2
  622. data/{ref → doc/api}/ruby/files/lib/ruby-vpi/verilog_parser_rb.html +2 -2
  623. data/{ref → doc/api}/ruby/files/lib/ruby-vpi_rb.html +3 -3
  624. data/doc/api/ruby/files/ruby-vpi-dynamic_rb.html +110 -0
  625. data/{ref → doc/api}/ruby/fr_class_index.html +3 -2
  626. data/{ref → doc/api}/ruby/fr_file_index.html +5 -2
  627. data/doc/api/ruby/fr_method_index.html +567 -0
  628. data/{ref → doc/api}/ruby/index.html +5 -5
  629. data/{ref → doc/api}/ruby/rdoc-style.css +0 -0
  630. data/doc/{manual.doc → guide.erb} +379 -121
  631. data/doc/guide.html +3524 -0
  632. data/examples/counter/RSpec/counter_design.rb +7 -7
  633. data/examples/counter/RSpec/counter_loader.rb +1 -0
  634. data/examples/counter/RSpec/counter_proto.rb +8 -6
  635. data/examples/counter/RSpec/counter_runner.rake +9 -4
  636. data/examples/counter/RSpec/counter_spec.rb +13 -13
  637. data/examples/counter/xUnit/counter_design.rb +7 -6
  638. data/examples/counter/xUnit/counter_loader.rb +1 -0
  639. data/examples/counter/xUnit/counter_proto.rb +8 -6
  640. data/examples/counter/xUnit/counter_runner.rake +9 -4
  641. data/examples/counter/xUnit/counter_spec.rb +15 -15
  642. data/examples/pipelined_alu/hw5_unit_design.rb +11 -10
  643. data/examples/pipelined_alu/hw5_unit_loader.rb +1 -0
  644. data/examples/pipelined_alu/hw5_unit_proto.rb +4 -2
  645. data/examples/pipelined_alu/hw5_unit_runner.rake +9 -4
  646. data/examples/pipelined_alu/hw5_unit_spec.rb +18 -18
  647. data/examples/register_file/register_file_design.rb +2 -2
  648. data/examples/register_file/register_file_loader.rb +1 -0
  649. data/examples/register_file/register_file_proto.rb +15 -8
  650. data/examples/register_file/register_file_runner.rake +9 -4
  651. data/examples/register_file/register_file_spec.rb +15 -15
  652. data/ext/main.c +4 -4
  653. data/lib/ruby-vpi/core/edge-methods.rb +32 -0
  654. data/lib/ruby-vpi/core/edge.rb +8 -43
  655. data/lib/ruby-vpi/core/handle.rb +127 -91
  656. data/lib/ruby-vpi/core/scheduler.rb +14 -15
  657. data/lib/ruby-vpi/core.rb +1 -1
  658. data/lib/ruby-vpi/rake.rb +5 -7
  659. data/lib/ruby-vpi/rcov.rb +2 -7
  660. data/lib/ruby-vpi/runner.rb +16 -11
  661. data/lib/ruby-vpi/runner_boot_loader.rb +24 -60
  662. data/lib/ruby-vpi/runner_proxy.rb +2 -6
  663. data/lib/ruby-vpi.rb +56 -14
  664. metadata +809 -368
  665. data/doc/README +0 -9
  666. data/doc/Rakefile +0 -92
  667. data/doc/common.css +0 -108
  668. data/doc/common.inc +0 -14
  669. data/doc/common.tpl +0 -90
  670. data/doc/history.doc +0 -17
  671. data/doc/history.html +0 -2694
  672. data/doc/history.inc +0 -1077
  673. data/doc/history.rb +0 -22
  674. data/doc/history.yaml +0 -1409
  675. data/doc/images/feed-icon-28x28.png +0 -0
  676. data/doc/images/tango/LICENSE +0 -67
  677. data/doc/images/tango/caution.png +0 -0
  678. data/doc/images/tango/caution.svg +0 -290
  679. data/doc/images/tango/home.png +0 -0
  680. data/doc/images/tango/home.svg +0 -386
  681. data/doc/images/tango/important.png +0 -0
  682. data/doc/images/tango/important.svg +0 -163
  683. data/doc/images/tango/next.png +0 -0
  684. data/doc/images/tango/next.svg +0 -191
  685. data/doc/images/tango/note.png +0 -0
  686. data/doc/images/tango/note.svg +0 -483
  687. data/doc/images/tango/prev.png +0 -0
  688. data/doc/images/tango/prev.svg +0 -852
  689. data/doc/images/tango/tip.png +0 -0
  690. data/doc/images/tango/tip.svg +0 -1145
  691. data/doc/images/tango/up.png +0 -0
  692. data/doc/images/tango/up.svg +0 -195
  693. data/doc/images/tango/warning.png +0 -0
  694. data/doc/images/tango/warning.svg +0 -334
  695. data/doc/intro.inc +0 -215
  696. data/doc/lib/doc_format.rb +0 -137
  697. data/doc/lib/doc_proxy.rb +0 -562
  698. data/doc/lib/erb_content.rb +0 -55
  699. data/doc/lib/erb_proxy.rb +0 -42
  700. data/doc/manual.html +0 -3061
  701. data/doc/memo.doc +0 -66
  702. data/doc/memo.html +0 -210
  703. data/doc/print.css +0 -69
  704. data/doc/readme.doc +0 -10
  705. data/doc/readme.html +0 -515
  706. data/doc/rss.erb +0 -29
  707. data/doc/rss.xml +0 -186
  708. data/doc/screen.css +0 -146
  709. data/doc/spacing.css +0 -57
  710. data/index.html +0 -2
  711. data/ref/c/annotated.html +0 -34
  712. data/ref/c/functions.html +0 -182
  713. data/ref/c/functions_vars.html +0 -182
  714. data/ref/c/globals_0x73.html +0 -73
  715. data/ref/c/globals_type.html +0 -88
  716. data/ref/c/structt__vpi__value.html +0 -204
  717. data/ref/ruby/classes/ERB.src/M000024.html +0 -29
  718. data/ref/ruby/classes/FileUtils.src/M000025.html +0 -18
  719. data/ref/ruby/classes/FileUtils.src/M000026.html +0 -18
  720. data/ref/ruby/classes/Float.src/M000019.html +0 -19
  721. data/ref/ruby/classes/Integer.src/M000007.html +0 -25
  722. data/ref/ruby/classes/Integer.src/M000008.html +0 -18
  723. data/ref/ruby/classes/Integer.src/M000009.html +0 -18
  724. data/ref/ruby/classes/Integer.src/M000010.html +0 -18
  725. data/ref/ruby/classes/Integer.src/M000011.html +0 -18
  726. data/ref/ruby/classes/Integer.src/M000012.html +0 -18
  727. data/ref/ruby/classes/Integer.src/M000015.html +0 -25
  728. data/ref/ruby/classes/Integer.src/M000016.html +0 -31
  729. data/ref/ruby/classes/Integer.src/M000017.html +0 -25
  730. data/ref/ruby/classes/Integer.src/M000018.html +0 -30
  731. data/ref/ruby/classes/RDoc.src/M000081.html +0 -40
  732. data/ref/ruby/classes/String.src/M000020.html +0 -36
  733. data/ref/ruby/classes/String.src/M000021.html +0 -41
  734. data/ref/ruby/classes/String.src/M000022.html +0 -18
  735. data/ref/ruby/classes/String.src/M000023.html +0 -18
  736. data/ref/ruby/classes/VPI/Handle.html +0 -898
  737. data/ref/ruby/classes/VPI/Handle.src/M000037.html +0 -18
  738. data/ref/ruby/classes/VPI/Handle.src/M000038.html +0 -21
  739. data/ref/ruby/classes/VPI/Handle.src/M000039.html +0 -18
  740. data/ref/ruby/classes/VPI/Handle.src/M000040.html +0 -18
  741. data/ref/ruby/classes/VPI/Handle.src/M000045.html +0 -18
  742. data/ref/ruby/classes/VPI/Handle.src/M000046.html +0 -18
  743. data/ref/ruby/classes/VPI/Handle.src/M000057.html +0 -18
  744. data/ref/ruby/classes/VPI/Handle.src/M000058.html +0 -18
  745. data/ref/ruby/classes/VPI/Handle.src/M000061.html +0 -18
  746. data/ref/ruby/classes/VPI/Handle.src/M000062.html +0 -18
  747. data/ref/ruby/classes/VPI/Handle.src/M000065.html +0 -24
  748. data/ref/ruby/classes/VPI/Handle.src/M000067.html +0 -21
  749. data/ref/ruby/classes/VPI/Handle.src/M000068.html +0 -28
  750. data/ref/ruby/classes/VPI/Handle.src/M000069.html +0 -50
  751. data/ref/ruby/classes/VPI/Handle.src/M000070.html +0 -19
  752. data/ref/ruby/classes/VPI/Handle.src/M000071.html +0 -19
  753. data/ref/ruby/classes/VPI/Handle.src/M000072.html +0 -18
  754. data/ref/ruby/classes/VPI/Handle.src/M000073.html +0 -30
  755. data/ref/ruby/classes/VPI/Handle.src/M000075.html +0 -18
  756. data/ref/ruby/classes/VPI/Handle.src/M000076.html +0 -40
  757. data/ref/ruby/classes/VPI/Handle.src/M000077.html +0 -31
  758. data/ref/ruby/classes/VPI/S_vpi_time.src/M000078.html +0 -18
  759. data/ref/ruby/classes/VPI/S_vpi_time.src/M000079.html +0 -19
  760. data/ref/ruby/classes/VPI/S_vpi_value.src/M000034.html +0 -35
  761. data/ref/ruby/classes/VPI/S_vpi_value.src/M000035.html +0 -42
  762. data/ref/ruby/classes/VPI/S_vpi_value.src/M000036.html +0 -42
  763. data/ref/ruby/classes/VPI.html +0 -356
  764. data/ref/ruby/classes/VPI.src/M000027.html +0 -19
  765. data/ref/ruby/classes/VPI.src/M000028.html +0 -18
  766. data/ref/ruby/classes/VPI.src/M000029.html +0 -19
  767. data/ref/ruby/classes/VPI.src/M000031.html +0 -25
  768. data/ref/ruby/classes/VPI.src/M000032.html +0 -26
  769. data/ref/ruby/classes/VerilogParser/Module/Port.src/M000004.html +0 -23
  770. data/ref/ruby/classes/VerilogParser/Module/Port.src/M000005.html +0 -18
  771. data/ref/ruby/classes/VerilogParser/Module/Port.src/M000006.html +0 -18
  772. data/ref/ruby/classes/VerilogParser/Module.src/M000003.html +0 -29
  773. data/ref/ruby/classes/VerilogParser.src/M000002.html +0 -26
  774. data/ref/ruby/created.rid +0 -1
  775. data/ref/ruby/files/lib/ruby-vpi/runner_boot_loader_rb.src/M000001.html +0 -17
  776. data/ref/ruby/fr_method_index.html +0 -107
data/doc/intro.inc DELETED
@@ -1,215 +0,0 @@
1
- Ruby-VPI is a platform for unit testing, rapid prototyping, and systems integration of Verilog modules through the "Ruby programming language":http://www.ruby-lang.org. It lets you:
2
-
3
- * Access the _entire_ "IEEE 1364-2005 Verilog VPI":http://ieeexplore.ieee.org/xpl/standardstoc.jsp?isnumber=33945 interface from Ruby.
4
- * Create complex Verilog test benches easily and wholly in Ruby.
5
- * Apply agile software development practices to develop hardware.
6
- * Perform "specification-driven functional verification":http://ruby-vpi.rubyforge.org/papers/masters_thesis.html ("PDF version":http://ruby-vpi.rubyforge.org/papers/masters_thesis.pdf).
7
-
8
- Ruby-VPI is "open source software":http://en.wikipedia.org/wiki/Open_source_software released under "this license":#intro.license.
9
-
10
-
11
- <% section "Resources", "resources" do %>
12
- <% paragraph "Records" do %>
13
- * "What's new":history.html#<%= version.to_html_anchor %>
14
- - release notes for version <%= version %>.
15
- ** "History":history.html
16
- - a record of all release notes.
17
- ** <a type="application/rss+xml" href="<%= RSS_URL %>"><img src="images/feed-icon-28x28.png" alt="RSS feed for release announcements" style="float: right"/></a> "RSS feed":<%= RSS_URL %>
18
- - keep track of new releases at your leisure.
19
- * "Plans":memo.html
20
- - pending tasks for future releases.
21
- * "Talks":http://ruby-vpi.rubyforge.org/talks/
22
- - materials from presentations and seminars.
23
- * "Papers":http://ruby-vpi.rubyforge.org/papers/
24
- - research publications.
25
- <% end %>
26
-
27
- <% paragraph "Documentation" do %>
28
- * "Motivation":http://ruby-vpi.rubyforge.org/papers/masters_thesis.html#tth_sEc5.2
29
- - why was Ruby-VPI developed?
30
- * "User manual":manual.html
31
- - complete documentation for users.
32
- ** "Tutorial":manual.html#usage.tutorial
33
- - learn how to use Ruby-VPI quickly.
34
- * "Reference":../ref/
35
- - API documentation for Ruby libraries and C extension.
36
- <% end %>
37
-
38
- <% paragraph "Facilities" do %>
39
- * "Downloads":<%= downloadURL %>
40
- - obtain release packages
41
- * "Source code":<%= codeURL %>
42
- - browse online or obtain with "Darcs":http://darcs.net.
43
- * "Forums":<%= forumURL %>
44
- - discuss things and ask questions.
45
- * "Mailing list":<%= mailListURL %>
46
- - discuss things and ask questions.
47
- * "Bugs":<%= trackerURL %>
48
- - report defects in the software.
49
- * "Patches":<%= trackerURL %>
50
- - submit patches to source code.
51
- * "Requests":<%= trackerURL %>
52
- - request new features or get support.
53
- * "Project portal":<%= portalURL %>
54
- - hosted generously by "RubyForge":http://rubyforge.org.
55
- <% end %>
56
- <% end %>
57
-
58
-
59
- <% section "Features", "intro.features" do %>
60
- <% paragraph "Portable" do %>
61
- * Supports the _entire_ "IEEE 1364-2005 Verilog VPI":http://ieeexplore.ieee.org/xpl/standardstoc.jsp?isnumber=33945 standard.
62
- * Works with all <%= xref "intro.reqs", "major Verilog simulators" %> available today.
63
- * Compiled _just once_ during "installation":manual.html#setup.inst and used forever!
64
- <% end %>
65
-
66
- <% paragraph "Agile" do %>
67
- * Enables "agile practices":http://agilemanifesto.org/ such as
68
- ** "test-driven":http://www.testdriven.com development
69
- ** "behavior-driven":http://behaviour-driven.org development
70
- ** "rapid prototyping":manual.html#usage.tutorial.implement-proto for design exploration
71
-
72
- * Eliminates unneccesary work:
73
- ** "Specifications":manual.html#usage.tutorial.specification are readable, portable, and _executable_.
74
- ** The "automated test generator":manual.html#usage.tools.generate helps you accomodate design changes with _minimal_ effort.
75
- ** There is absolutely _no compiling_!
76
- <% end %>
77
-
78
- <% paragraph "Powerful" do %>
79
- * Inherits the "power and elegance":http://www.ruby-lang.org/en/about/ of Ruby:
80
- ** Unlimited length integers
81
- ** Regular expressions
82
- ** Multi-threading
83
- ** System calls and I/O
84
- ** "_ad infinitum_":http://rubyforge.org
85
-
86
- * Uses "ruby-debug":http://rubyforge.org/projects/ruby-debug/ for "interactive debugging":manual.html#usage.debugger.
87
- * Uses "rcov":http://eigenclass.org/hiki.rb?rcov for test "coverage analysis and report generation":manual.html#usage.test-runner.env-vars.
88
- <% end %>
89
- <% end %>
90
-
91
-
92
- <% section "Requirements", "intro.reqs" do %>
93
- The following software is necessary in order to use Ruby-VPI.
94
-
95
- <% paragraph "Verilog simulator" do %>
96
- Ruby-VPI is known to work with the following simulators. However, you should be able to use it with any Verilog simulator that supports VPI.
97
-
98
- * "Synopsys VCS":http://www.synopsys.com/products/simulation/simulation.html
99
- - any version that supports the <tt>-load</tt> option is acceptable.
100
-
101
- * "Mentor Modelsim":http://www.model.com
102
- - any version that supports the <tt>-pli</tt> option is acceptable.
103
-
104
- * "Cadence NC-Sim":http://www.cadence.com/products/functional_ver/nc-verilog/
105
- - any version that supports the <tt>+loadvpi</tt> option should be acceptable.
106
-
107
- * "GPL Cver":http://www.pragmatic-c.com/gpl-cver/
108
- - version 2.11a or newer is acceptable.
109
-
110
- * "Icarus Verilog":http://www.geda.seul.org/tools/icarus/index.html
111
- - version 0.8 is _mostly_ acceptable because you *will not* be able to "access child handles through method calls":manual.html#Accessing_a_handle_s_relatives. The reason for this limitation is explained "in the user manual":manual.html#problems.ivl.vpi_handle_by_name.absolute-paths.
112
- <% end %>
113
-
114
- <% paragraph "Compilers" do %>
115
- * "make":http://en.wikipedia.org/wiki/Make
116
- - any flavor should be acceptable.
117
-
118
- * C compiler
119
- - the "GNU Compiler Collection (GCC)":http://www.gnu.org/software/gcc/ is preferred, but any C compiler should be acceptable.
120
-
121
- * "SWIG":http://www.swig.org/download.html
122
- - version 1.3.29 or newer is necessary.
123
-
124
- * "Ruby":http://www.ruby-lang.org/en/downloads/
125
- - version 1.8 or newer, including header and linkable object files for building extensions, is necessary. You can install Ruby by following "these instructions":http://www.ruby-lang.org/en/downloads/.
126
- <% end %>
127
-
128
- <% paragraph "Libraries" do %>
129
- * "POSIX threads (pthreads)":http://en.wikipedia.org/wiki/Pthreads
130
- - header and linkable object files, and operating system support for this library are necessary.
131
-
132
- * "RubyGems":http://rubyforge.org/frs/?group_id=126
133
- - any recent version should be acceptable. You can install RubyGems by following "these instructions":http://www.rubygems.org/read/chapter/3.
134
- <% end %>
135
- <% end %>
136
-
137
-
138
- <% section "Appetizers", "intro.appetizers" do %>
139
- Here is a tiny sampling of code to whet your appetite. See "the tutorial":manual.html#usage.tutorial for more samples.
140
-
141
- * Assign the value 2^2048^ to a register:
142
- ** @your_register.intVal = 2 ** 2048@
143
- ** @your_register.put_value 2 ** 2048@
144
-
145
- * Check if all nets in a module are at high impedance:
146
- ** @your_module.all_net? { |your_net| your_net.z? }@
147
- ** <code>
148
- your_nets = your_module.net_a
149
- your_nets.all? { |net| net.z? }
150
- </code>
151
-
152
- * See a register's path, width, and location (file & line number):
153
- ** @puts your_register@
154
- ** <code>
155
- p :path => your_register.fullName
156
- p :width => your_register.size
157
- p :file => your_register.fileName
158
- p :file => your_register.lineNo
159
- </code>
160
-
161
- * Access the first five elements in a memory:
162
- ** @your_memory.memoryWord_a.first(5)@
163
- ** @your_memory.memoryWord_a[0..4]@
164
- ** @your_memory.memoryWord_a[0, 5]@
165
-
166
- * Clear a memory by filling it with zeroes:
167
- ** @your_memory.each_memoryWord { |w| w.zero! }@
168
- ** @your_memory.each_memoryWord { |w| w.intVal = 0 }@
169
- ** @your_memory.each_memoryWord { |w| w.put_value 0 }@
170
- <% end %>
171
-
172
-
173
- <% section "Applications", "intro.applications" do %>
174
- Examples of tasks that can be performed with Ruby-VPI are:
175
-
176
- * From the second edition of "_The Verilog PLI Handbook_":http://www.sutherland-hdl.com/publications.html:
177
- ** C language bus-functional models
178
- ** Reading test vector files
179
- ** Delay calculation
180
- ** Custom output displays
181
- ** Co-simulation
182
- ** Design debug utilities
183
- ** Simulation analysis
184
-
185
- * Adapted from "Pin Hong's":http://embedded.eecs.berkeley.edu/Alumni/pinhong/scriptEDA/ observations:
186
- ** Writing hardware models in Ruby
187
- ** Dumping or processing netlist data from Verilog database
188
- ** Dumping or processing simulation data
189
- ** Feeding dynamic simulation stimuli
190
- ** Back-annotating delay information
191
- ** Interactive logic simulation
192
- ** Building a distributed simulation
193
- <% end %>
194
-
195
-
196
- <% section "Related works", "intro.related-works" do %>
197
- * "ANVIL":http://anvil.sourceforge.net is a C++ interface to VPI.
198
- * "Teal":http://teal.sourceforge.net is a C++ interface to VPI.
199
- * "JOVE":http://jove.sourceforge.net is a Java interface to VPI.
200
- * "ScriptEDA":http://embedded.eecs.berkeley.edu/Alumni/pinhong/scriptEDA/ is a Perl, Python, and Tcl interface to VPI.
201
- * "RHDL":http://rhdl.rubyforge.org is a hardware description and verification language based on Ruby.
202
- * "MyHDL":http://myhdl.jandecaluwe.com is a hardware description and verification language based on Python, which features conversion to Verilog and co-simulation.
203
-
204
- <% section "Ye olde PLI", "intro.related-works.pli" do %>
205
- The following projects utilize the archaic *tf* and *acc* PLI interfaces, which have been officially deprecated in IEEE Std 1364-2005.
206
-
207
- * "ScriptSim":http://www.nelsim.com is a Perl, Python, and Tcl/Tk interface to PLI.
208
- * "Verilog::Pli":http://www.veripool.com/verilog-pli.html is a Perl interface to PLI.
209
- <% end %>
210
- <% end %>
211
-
212
-
213
- <% section "License", "intro.license" do %>
214
- <%= h(File.read('../LICENSE')).gsub(/^Copyright.*$/, '\&<br/>') %>
215
- <% end %>
@@ -1,137 +0,0 @@
1
- #--
2
- # Copyright 2006 Suraj N. Kurapati
3
- # See the file named LICENSE for details.
4
-
5
- require 'cgi'
6
- require 'digest/md5'
7
-
8
- begin
9
- require 'rubygems'
10
- rescue LoadError
11
- end
12
-
13
- require 'coderay'
14
- require 'redcloth'
15
-
16
- class String
17
- # The content of these HTML tags will be preserved verbatim
18
- # when they are processed by Textile. By doing this, we
19
- # avoid unwanted Textile transformations, such as quotation
20
- # marks becoming curly (&#8192;), in source code.
21
- PRESERVED_TAGS = %w[tt code pre]
22
-
23
- # Transforms this string into HTML.
24
- def to_html
25
- text = dup
26
-
27
- # escape preserved tags
28
- preserved = {} # escaped => original
29
-
30
- PRESERVED_TAGS.each do |tag|
31
- text.gsub! %r{(<#{tag}.*?>)(.*?)(</#{tag}>)}m do
32
- orig = $1 + CGI.escapeHTML(CGI.unescapeHTML($2)) + $3
33
- esc = Digest::MD5.hexdigest(orig)
34
-
35
- preserved[esc] = orig
36
- esc
37
- end
38
- end
39
-
40
-
41
- # convert Textile into HTML
42
- html = text.redcloth
43
-
44
-
45
- # restore preserved tags
46
- preserved.each_pair do |esc, orig|
47
- html.gsub! %r{<p>#{esc}</p>|#{esc}}, orig
48
- end
49
-
50
-
51
- ## fix annoyances in Textile conversion
52
-
53
- # redcloth wraps indented text within <pre> tags
54
- html.gsub! %r{(<pre>)\s*<code>(.*?)\s*</code>\s*(</pre>)}m, '\1\2\3'
55
- html.gsub! %r{(<pre>)\s*<pre>(.*?)</pre>\s*(</pre>)}m, '\1\2\3'
56
-
57
- # redcloth wraps a single item within paragraph tags, which
58
- # prevents the item's HTML from being validly injected within
59
- # other block-level elements, such as headings (h1, h2, etc.)
60
- html.sub! %r{^<p>(.*)</p>$}m do |match|
61
- payload = $1
62
-
63
- if payload =~ /<p>/
64
- match
65
- else
66
- payload
67
- end
68
- end
69
-
70
- # redcloth adds <span> tags around acronyms
71
- html.gsub! %r{<span class="caps">([[:upper:][:digit:]]+)</span>}, '\1'
72
-
73
-
74
- html.coderay
75
- end
76
-
77
- # Returns the result of running this string through RedCloth.
78
- def redcloth
79
- RedCloth.new(self).to_html
80
- end
81
-
82
- # Adds syntax coloring to <code> elements in the given text. If the <code>
83
- # tag has an attribute lang="...", then that is considered the programming
84
- # language for which appropriate syntax coloring should be applied.
85
- # Otherwise, the programming language is assumed to be ruby.
86
- def coderay
87
- gsub %r{<(code)(.*?)>(.*?)</\1>}m do
88
- matches = $~
89
-
90
- atts = matches[2]
91
- lang = if atts =~ /lang=('|")(.*?)\1/i then $2 else :ruby end
92
-
93
- # obtain the raw source code w/o extraneous indentation
94
- code = CGI.unescapeHTML(matches[3]).rstrip
95
-
96
- if matches.pre_match =~ /^[ \t]+$/
97
- code.gsub! %r/^#{$&}/, ''
98
- end
99
-
100
- # convert the code into HTML
101
- html = CodeRay.scan(code, lang).html(:css => :style)
102
-
103
- # perform smart sizing (block vs. inline) of the code
104
- trailingText = matches.post_match[/^.*$/].to_s.strip
105
-
106
- tag =
107
- if code =~ /\n/ or trailingText.empty? or trailingText =~ %r{^</(p|div|body)}
108
- :pre
109
- else
110
- :code
111
- end
112
-
113
- %{<#{tag} class="code"#{atts}>#{html}</#{tag}>}
114
- end
115
- end
116
-
117
- # Transforms this string into a valid XHTML anchor (ID attribute).
118
- # See http://www.nmt.edu/tcc/help/pubs/xhtml/id-type.html
119
- def to_html_anchor
120
- # remove HTML tags from the input
121
- buf = self.gsub(/<.*?>/, '')
122
-
123
- # The first or only character must be a letter.
124
- buf.insert(0, 'a') unless buf[0,1] =~ /[[:alpha:]]/
125
-
126
- # The remaining characters must be letters,
127
- # digits, hyphens (-), underscores (_), colons
128
- # (:), or periods (.) [or Unicode characters]
129
- buf.unpack('U*').map! do |code|
130
- if code > 0xFF or code.chr =~ /[[:alnum:]\-_:\.]/
131
- code
132
- else
133
- ?_
134
- end
135
- end.pack('U*')
136
- end
137
- end