IOWA 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (502) hide show
  1. checksums.yaml +7 -0
  2. data/CONTRIBUTORS +14 -0
  3. data/README.md +23 -0
  4. data/RELEASE_NOTES +77 -0
  5. data/ToDo +21 -0
  6. data/components/CRUDList/CRUDList.html +13 -0
  7. data/components/CRUDList/CRUDList.iwa +136 -0
  8. data/components/Content/Content.html +0 -0
  9. data/components/Content/Content.iwa +143 -0
  10. data/components/Content/example/README +9 -0
  11. data/components/Content/example/cgi/iowa.cgi +10 -0
  12. data/components/Content/example/demo.rb +30 -0
  13. data/components/Content/example/doc/index.html +7 -0
  14. data/components/Content/example/iowa/Content.html +1 -0
  15. data/components/Content/example/iowa/Content.iwa +1 -0
  16. data/components/Content/example/iowa/Main.html +6 -0
  17. data/components/Content/example/iowa/Main.iwa +3 -0
  18. data/components/Content/example/iowa/_content/body +7 -0
  19. data/components/Content/example/iowa/_content/body2 +3 -0
  20. data/components/Content/example/iowa/_content/title +2 -0
  21. data/components/Content/example/iowa/app.cnf +8 -0
  22. data/components/Content/example/iowa/app.rb +8 -0
  23. data/components/Content/example/webrick.rb +38 -0
  24. data/components/Include/Include.html +1 -0
  25. data/components/Include/Include.iwa +30 -0
  26. data/components/Include/readme +5 -0
  27. data/components/JumpTo/JumpTo.html +8 -0
  28. data/components/JumpTo/JumpTo.iwa +8 -0
  29. data/components/JumpTo/readme +6 -0
  30. data/doc/Architecture.txt +6 -0
  31. data/doc/History.txt +33 -0
  32. data/doc/StandardDispatcher.txt +19 -0
  33. data/examples/blog/README +1 -0
  34. data/examples/hello_world/README +17 -0
  35. data/examples/hello_world/htdocs/hello_world_html.html +24 -0
  36. data/examples/hello_world/htdocs/hello_world_ruby.html +41 -0
  37. data/examples/hello_world/iowa/HelloWorld.html +14 -0
  38. data/examples/hello_world/iowa/HelloWorld.iwa +31 -0
  39. data/examples/hello_world/iowa/Index.html +16 -0
  40. data/examples/hello_world/iowa/Index.iwa +5 -0
  41. data/examples/hello_world/iowa/iowa_hello_world.cnf +19 -0
  42. data/examples/hello_world/iowa/iowa_hello_world.rb +5 -0
  43. data/examples/hello_world/iowa/mapfile.cnf +6 -0
  44. data/examples/hw1/iowa/Main.html +1 -0
  45. data/examples/hw1/iowa/README +9 -0
  46. data/examples/hw1/iowa/hw.rb +4 -0
  47. data/examples/hw2/iowa/Main.html +10 -0
  48. data/examples/hw2/iowa/Main.iwa +7 -0
  49. data/examples/hw2/iowa/README +16 -0
  50. data/examples/hw2/iowa/hw.rb +4 -0
  51. data/examples/hw3/iowa/Main.html +11 -0
  52. data/examples/hw3/iowa/Main.iwa +7 -0
  53. data/examples/hw3/iowa/README +22 -0
  54. data/examples/hw3/iowa/hw.rb +4 -0
  55. data/examples/hw4/iowa/Greetings.html +10 -0
  56. data/examples/hw4/iowa/Greetings.iwa +9 -0
  57. data/examples/hw4/iowa/Main.html +12 -0
  58. data/examples/hw4/iowa/Main.iwa +10 -0
  59. data/examples/hw4/iowa/README +28 -0
  60. data/examples/hw4/iowa/hw.rb +4 -0
  61. data/examples/hw5/iowa/Footer.html +2 -0
  62. data/examples/hw5/iowa/Greetings.html +4 -0
  63. data/examples/hw5/iowa/Greetings.iwa +12 -0
  64. data/examples/hw5/iowa/Header.html +6 -0
  65. data/examples/hw5/iowa/Main.html +12 -0
  66. data/examples/hw5/iowa/Main.iwa +13 -0
  67. data/examples/hw5/iowa/README +16 -0
  68. data/examples/hw5/iowa/hw.rb +4 -0
  69. data/examples/template_server/iowa/Content.iwa +121 -0
  70. data/examples/template_server/iowa/Content.view +0 -0
  71. data/examples/template_server/iowa/DBContentDispatcher.rb +112 -0
  72. data/examples/template_server/iowa/DBContentPage.html +3 -0
  73. data/examples/template_server/iowa/DBContentPage.iwa +85 -0
  74. data/examples/template_server/iowa/app.cnf +13 -0
  75. data/examples/template_server/iowa/app.rb +5 -0
  76. data/ext/Classifier/classifier.c +256 -0
  77. data/ext/Classifier/ext_help.h +14 -0
  78. data/ext/Classifier/extconf.rb +5 -0
  79. data/ext/Classifier/tst.h +40 -0
  80. data/ext/Classifier/tst_cleanup.c +24 -0
  81. data/ext/Classifier/tst_delete.c +146 -0
  82. data/ext/Classifier/tst_grow_node_free_list.c +38 -0
  83. data/ext/Classifier/tst_init.c +41 -0
  84. data/ext/Classifier/tst_insert.c +192 -0
  85. data/ext/Classifier/tst_search.c +68 -0
  86. data/ext/http11/README +11 -0
  87. data/ext/http11/ext_help.h +15 -0
  88. data/ext/http11/extconf.rb +5 -0
  89. data/ext/http11/http11.c +534 -0
  90. data/ext/http11/http11.c.dif +422 -0
  91. data/ext/http11/http11_parser.c +1243 -0
  92. data/ext/http11/http11_parser.c.dif +193 -0
  93. data/ext/http11/http11_parser.h +49 -0
  94. data/ext/http11/http11_parser.h.dif +20 -0
  95. data/ext/http11/http11_parser.rl +192 -0
  96. data/ext/httpmachine/Makefile +149 -0
  97. data/ext/httpmachine/extconf.rb +33 -0
  98. data/ext/httpmachine/http.cpp +430 -0
  99. data/ext/httpmachine/http.h +156 -0
  100. data/ext/httpmachine/rubyhttp.cpp +165 -0
  101. data/external/mime-types/LICENCE +18 -0
  102. data/external/mime-types/README +46 -0
  103. data/external/mime-types/doc/classes/MIME.html +120 -0
  104. data/external/mime-types/doc/classes/MIME/InvalidContentType.html +119 -0
  105. data/external/mime-types/doc/classes/MIME/Type.html +866 -0
  106. data/external/mime-types/doc/classes/MIME/Type.src/M000010.html +22 -0
  107. data/external/mime-types/doc/classes/MIME/Type.src/M000011.html +18 -0
  108. data/external/mime-types/doc/classes/MIME/Type.src/M000012.html +19 -0
  109. data/external/mime-types/doc/classes/MIME/Type.src/M000013.html +18 -0
  110. data/external/mime-types/doc/classes/MIME/Type.src/M000014.html +26 -0
  111. data/external/mime-types/doc/classes/MIME/Type.src/M000015.html +33 -0
  112. data/external/mime-types/doc/classes/MIME/Type.src/M000016.html +27 -0
  113. data/external/mime-types/doc/classes/MIME/Type.src/M000017.html +35 -0
  114. data/external/mime-types/doc/classes/MIME/Type.src/M000018.html +34 -0
  115. data/external/mime-types/doc/classes/MIME/Type.src/M000019.html +24 -0
  116. data/external/mime-types/doc/classes/MIME/Type.src/M000020.html +38 -0
  117. data/external/mime-types/doc/classes/MIME/Type.src/M000021.html +22 -0
  118. data/external/mime-types/doc/classes/MIME/Type.src/M000022.html +18 -0
  119. data/external/mime-types/doc/classes/MIME/Type.src/M000023.html +18 -0
  120. data/external/mime-types/doc/classes/MIME/Type.src/M000024.html +18 -0
  121. data/external/mime-types/doc/classes/MIME/Type.src/M000025.html +18 -0
  122. data/external/mime-types/doc/classes/MIME/Type.src/M000026.html +18 -0
  123. data/external/mime-types/doc/classes/MIME/Type.src/M000027.html +18 -0
  124. data/external/mime-types/doc/classes/MIME/Type.src/M000028.html +18 -0
  125. data/external/mime-types/doc/classes/MIME/Type.src/M000029.html +18 -0
  126. data/external/mime-types/doc/classes/MIME/Type.src/M000030.html +19 -0
  127. data/external/mime-types/doc/classes/MIME/Type.src/M000031.html +26 -0
  128. data/external/mime-types/doc/classes/MIME/Types.html +459 -0
  129. data/external/mime-types/doc/classes/MIME/Types.src/M000001.html +19 -0
  130. data/external/mime-types/doc/classes/MIME/Types.src/M000002.html +32 -0
  131. data/external/mime-types/doc/classes/MIME/Types.src/M000003.html +21 -0
  132. data/external/mime-types/doc/classes/MIME/Types.src/M000004.html +18 -0
  133. data/external/mime-types/doc/classes/MIME/Types.src/M000005.html +26 -0
  134. data/external/mime-types/doc/classes/MIME/Types.src/M000006.html +18 -0
  135. data/external/mime-types/doc/classes/MIME/Types.src/M000007.html +18 -0
  136. data/external/mime-types/doc/classes/MIME/Types.src/M000008.html +18 -0
  137. data/external/mime-types/doc/classes/MIME/Types.src/M000009.html +18 -0
  138. data/external/mime-types/doc/created.rid +1 -0
  139. data/external/mime-types/doc/files/ChangeLog.html +320 -0
  140. data/external/mime-types/doc/files/README.html +145 -0
  141. data/external/mime-types/doc/files/lib/mime/types_rb.html +101 -0
  142. data/external/mime-types/doc/fr_class_index.html +30 -0
  143. data/external/mime-types/doc/fr_file_index.html +29 -0
  144. data/external/mime-types/doc/fr_method_index.html +57 -0
  145. data/external/mime-types/doc/index.html +24 -0
  146. data/external/mime-types/doc/rdoc-style.css +208 -0
  147. data/external/mime-types/lib/mime/types.rb +1558 -0
  148. data/external/package.rb +672 -0
  149. data/external/test_support.rb +95 -0
  150. data/external/tmail/README +7 -0
  151. data/external/tmail/tmail.rb +4 -0
  152. data/external/tmail/tmail/address.rb +222 -0
  153. data/external/tmail/tmail/base64.rb +52 -0
  154. data/external/tmail/tmail/compat.rb +39 -0
  155. data/external/tmail/tmail/config.rb +50 -0
  156. data/external/tmail/tmail/encode.rb +447 -0
  157. data/external/tmail/tmail/header.rb +895 -0
  158. data/external/tmail/tmail/info.rb +14 -0
  159. data/external/tmail/tmail/loader.rb +1 -0
  160. data/external/tmail/tmail/mail.rb +869 -0
  161. data/external/tmail/tmail/mailbox.rb +386 -0
  162. data/external/tmail/tmail/mbox.rb +1 -0
  163. data/external/tmail/tmail/net.rb +260 -0
  164. data/external/tmail/tmail/obsolete.rb +123 -0
  165. data/external/tmail/tmail/parser.rb +1475 -0
  166. data/external/tmail/tmail/parser.y +372 -0
  167. data/external/tmail/tmail/port.rb +356 -0
  168. data/external/tmail/tmail/scanner.rb +17 -0
  169. data/external/tmail/tmail/scanner_r.rb +243 -0
  170. data/external/tmail/tmail/stringio.rb +256 -0
  171. data/external/tmail/tmail/textutils.rb +197 -0
  172. data/external/tmail/tmail/tmail.rb +1 -0
  173. data/external/tmail/tmail/utils.rb +23 -0
  174. data/external/win32-process/README +133 -0
  175. data/external/win32-process/lib/win32/process.rb +561 -0
  176. data/external/windows-pr/README +145 -0
  177. data/external/windows-pr/doc/conversion_guide.txt +25 -0
  178. data/external/windows-pr/lib/windows/clipboard.rb +72 -0
  179. data/external/windows-pr/lib/windows/console.rb +323 -0
  180. data/external/windows-pr/lib/windows/device_io.rb +88 -0
  181. data/external/windows-pr/lib/windows/directory.rb +80 -0
  182. data/external/windows-pr/lib/windows/error.rb +313 -0
  183. data/external/windows-pr/lib/windows/eventlog.rb +120 -0
  184. data/external/windows-pr/lib/windows/file.rb +349 -0
  185. data/external/windows-pr/lib/windows/filesystem.rb +16 -0
  186. data/external/windows-pr/lib/windows/handle.rb +31 -0
  187. data/external/windows-pr/lib/windows/library.rb +76 -0
  188. data/external/windows-pr/lib/windows/limits.rb +13 -0
  189. data/external/windows-pr/lib/windows/memory.rb +117 -0
  190. data/external/windows-pr/lib/windows/msvcrt/buffer.rb +48 -0
  191. data/external/windows-pr/lib/windows/msvcrt/file.rb +18 -0
  192. data/external/windows-pr/lib/windows/msvcrt/string.rb +46 -0
  193. data/external/windows-pr/lib/windows/national.rb +557 -0
  194. data/external/windows-pr/lib/windows/path.rb +296 -0
  195. data/external/windows-pr/lib/windows/pipe.rb +77 -0
  196. data/external/windows-pr/lib/windows/process.rb +171 -0
  197. data/external/windows-pr/lib/windows/registry.rb +238 -0
  198. data/external/windows-pr/lib/windows/security.rb +89 -0
  199. data/external/windows-pr/lib/windows/service.rb +183 -0
  200. data/external/windows-pr/lib/windows/shell.rb +88 -0
  201. data/external/windows-pr/lib/windows/sound.rb +52 -0
  202. data/external/windows-pr/lib/windows/synchronize.rb +161 -0
  203. data/external/windows-pr/lib/windows/system_info.rb +70 -0
  204. data/external/windows-pr/lib/windows/unicode.rb +138 -0
  205. data/external/windows-pr/lib/windows/window.rb +22 -0
  206. data/iowa.gemspec +45 -0
  207. data/microprojects/DiskCache/LICENSE +28 -0
  208. data/microprojects/DiskCache/README +17 -0
  209. data/microprojects/DiskCache/external/package.rb +608 -0
  210. data/microprojects/DiskCache/external/test_support.rb +8 -0
  211. data/microprojects/DiskCache/setup.rb +22 -0
  212. data/microprojects/DiskCache/src/iowa/Association.rb +67 -0
  213. data/microprojects/DiskCache/src/iowa/Constants.rb +159 -0
  214. data/microprojects/DiskCache/src/iowa/DiskStore.rb +377 -0
  215. data/microprojects/DiskCache/src/iowa/Hash.rb +63 -0
  216. data/microprojects/DiskCache/src/iowa/Lockfile.rb +575 -0
  217. data/microprojects/DiskCache/src/iowa/Mutex.rb +142 -0
  218. data/microprojects/DiskCache/src/iowa/caches/DiskCache.rb +605 -0
  219. data/microprojects/DiskCache/src/iowa/caches/LRUCache.rb +287 -0
  220. data/microprojects/DiskCache/test/TC_DiskCache.rb +218 -0
  221. data/microprojects/LRUCache/LICENSE +28 -0
  222. data/microprojects/LRUCache/README +13 -0
  223. data/microprojects/LRUCache/external/package.rb +608 -0
  224. data/microprojects/LRUCache/external/test_support.rb +8 -0
  225. data/microprojects/LRUCache/setup.rb +22 -0
  226. data/microprojects/LRUCache/src/iowa/Association.rb +57 -0
  227. data/microprojects/LRUCache/src/iowa/Constants.rb +159 -0
  228. data/microprojects/LRUCache/src/iowa/Hash.rb +63 -0
  229. data/microprojects/LRUCache/src/iowa/Mutex.rb +129 -0
  230. data/microprojects/LRUCache/src/iowa/caches/LRUCache.rb +287 -0
  231. data/microprojects/LRUCache/test/TC_LRUCache.rb +65 -0
  232. data/microprojects/LinkedList/LICENSE +28 -0
  233. data/microprojects/LinkedList/README +13 -0
  234. data/microprojects/LinkedList/external/package.rb +608 -0
  235. data/microprojects/LinkedList/external/test_support.rb +8 -0
  236. data/microprojects/LinkedList/setup.rb +22 -0
  237. data/microprojects/LinkedList/src/iowa/LinkedList.rb +165 -0
  238. data/microprojects/LinkedList/test/TC_LinkedList.rb +42 -0
  239. data/microprojects/README +8 -0
  240. data/setup.rb +116 -0
  241. data/share/iowa/app_skeleton/Main.html +8 -0
  242. data/share/iowa/app_skeleton/Main.iwa +15 -0
  243. data/share/iowa/app_skeleton/app.cnf +48 -0
  244. data/share/iowa/app_skeleton/app.rb +58 -0
  245. data/share/iowa/app_skeleton/models/model.rb +49 -0
  246. data/src/ihc.rb +223 -0
  247. data/src/iowa.cgi +29 -0
  248. data/src/iowa.rb +637 -0
  249. data/src/iowa/AbstractCache.rb +96 -0
  250. data/src/iowa/AcceptLanguage.rb +76 -0
  251. data/src/iowa/Application.rb +928 -0
  252. data/src/iowa/ApplicationStats.rb +72 -0
  253. data/src/iowa/Association.rb +67 -0
  254. data/src/iowa/BindingsParser.rb +62 -0
  255. data/src/iowa/Breakpoint.rb +273 -0
  256. data/src/iowa/CSS.rb +564 -0
  257. data/src/iowa/Client.rb +192 -0
  258. data/src/iowa/Component.rb +405 -0
  259. data/src/iowa/ComponentProxy.rb +26 -0
  260. data/src/iowa/Config.rb +21 -0
  261. data/src/iowa/Constants.rb +226 -0
  262. data/src/iowa/Context.rb +218 -0
  263. data/src/iowa/ContextLogger.rb +16 -0
  264. data/src/iowa/DbPool.rb +222 -0
  265. data/src/iowa/DetachedComponent.rb +18 -0
  266. data/src/iowa/Dispatcher.rb +27 -0
  267. data/src/iowa/DynamicElements.rb +471 -0
  268. data/src/iowa/Element.rb +100 -0
  269. data/src/iowa/Email.rb +287 -0
  270. data/src/iowa/Extensions/AllExtensions.rb +4 -0
  271. data/src/iowa/Extensions/Class.rb +94 -0
  272. data/src/iowa/Extensions/Date.rb +88 -0
  273. data/src/iowa/Extensions/DateTime.rb +88 -0
  274. data/src/iowa/Extensions/Hash.rb +22 -0
  275. data/src/iowa/Extensions/Kernel.rb +6 -0
  276. data/src/iowa/Extensions/Numeric.rb +47 -0
  277. data/src/iowa/Extensions/Object.rb +11 -0
  278. data/src/iowa/Extensions/String.rb +60 -0
  279. data/src/iowa/Extensions/Time.rb +89 -0
  280. data/src/iowa/Extensions/TimeExtensions.rb +6 -0
  281. data/src/iowa/Form.rb +368 -0
  282. data/src/iowa/Hash.rb +85 -0
  283. data/src/iowa/ISAAC.rb +175 -0
  284. data/src/iowa/ImageSize.rb +279 -0
  285. data/src/iowa/IowaComponentMixins.rb +7 -0
  286. data/src/iowa/JSON-lexer.rb +296 -0
  287. data/src/iowa/JSON-objects.rb +201 -0
  288. data/src/iowa/KeyValueCoding.rb +91 -0
  289. data/src/iowa/LinkedList.rb +175 -0
  290. data/src/iowa/Loader.rb +22 -0
  291. data/src/iowa/Lockfile.rb +575 -0
  292. data/src/iowa/Logger.rb +74 -0
  293. data/src/iowa/Monkey.rb +20 -0
  294. data/src/iowa/Mutex.rb +142 -0
  295. data/src/iowa/Policy.rb +70 -0
  296. data/src/iowa/Pool.rb +243 -0
  297. data/src/iowa/PrettyException.rb +1091 -0
  298. data/src/iowa/Request.rb +244 -0
  299. data/src/iowa/Response.rb +133 -0
  300. data/src/iowa/Session.rb +354 -0
  301. data/src/iowa/SessionStats.rb +78 -0
  302. data/src/iowa/String.rb +65 -0
  303. data/src/iowa/Tag.rb +101 -0
  304. data/src/iowa/TemplateParser.rb +236 -0
  305. data/src/iowa/Util.rb +314 -0
  306. data/src/iowa/Webcache.rb +122 -0
  307. data/src/iowa/caches/BiLevelCache.rb +65 -0
  308. data/src/iowa/caches/ClassLimitedCache.rb +67 -0
  309. data/src/iowa/caches/DiskCache.rb +609 -0
  310. data/src/iowa/caches/DiskStore.rb +380 -0
  311. data/src/iowa/caches/LRUCache-alternative.rb +155 -0
  312. data/src/iowa/caches/LRUCache.rb +290 -0
  313. data/src/iowa/caches/SimpleLRUCache.rb +112 -0
  314. data/src/iowa/dispatchers/StandardDispatcher.rb +396 -0
  315. data/src/iowa/dispatchers/StandardDispatcherWithClassifier.rb +93 -0
  316. data/src/iowa/js/iowa_jsonrpc.js +381 -0
  317. data/src/iowa/js/jsonrpc.js +187 -0
  318. data/src/iowa/js/jsonrpc_async.js +261 -0
  319. data/src/iowa/loaders/DiskLoader.rb +50 -0
  320. data/src/iowa/loggers/Analogger.rb +54 -0
  321. data/src/iowa/loggers/AsyncLogger.rb +54 -0
  322. data/src/iowa/loggers/BitBucket.rb +38 -0
  323. data/src/iowa/loggers/Log4R.rb +13 -0
  324. data/src/iowa/loggers/Log4rLogger.rb +48 -0
  325. data/src/iowa/loggers/Logger.rb +29 -0
  326. data/src/iowa/loggers/RubyLogger.rb +9 -0
  327. data/src/iowa/pools/DBConnectionPool.rb +53 -0
  328. data/src/iowa/request/Apache.rb +90 -0
  329. data/src/iowa/request/EMHybrid.rb +59 -0
  330. data/src/iowa/request/ENV.rb +80 -0
  331. data/src/iowa/request/FCGI.rb +68 -0
  332. data/src/iowa/request/HTTPMachine.rb +75 -0
  333. data/src/iowa/request/Mongrel.rb +68 -0
  334. data/src/iowa/request/WEBrick.rb +48 -0
  335. data/src/iowa/version.rb +3 -0
  336. data/src/iowa/webrick/HTTPServer.rb +43 -0
  337. data/src/iowa/webrick/WEBrickServlet.rb +28 -0
  338. data/src/iowa_fcgi_handler.rb +101 -0
  339. data/src/iowa_httpmachine.rb +141 -0
  340. data/src/iowa_hybrid.rb +193 -0
  341. data/src/iowa_hybrid_cluster.rb +231 -0
  342. data/src/iowa_mongrel.rb +136 -0
  343. data/src/iowa_webrick.rb +194 -0
  344. data/src/iowa_webrick_legacy.rb +104 -0
  345. data/src/mod_iowa.rb +104 -0
  346. data/tcss.rb +61 -0
  347. data/test/README.windows +12 -0
  348. data/test/TC_AcceptLanguage.rb +61 -0
  349. data/test/TC_AppConfig.rb +43 -0
  350. data/test/TC_AppConfig/cgi/iowa.cgi +7 -0
  351. data/test/TC_AppConfig/doc/index.html +1 -0
  352. data/test/TC_AppConfig/iowa/Main.html +4 -0
  353. data/test/TC_AppConfig/iowa/Main.iwa +17 -0
  354. data/test/TC_AppConfig/iowa/README +1 -0
  355. data/test/TC_AppConfig/iowa/app.cnf +19 -0
  356. data/test/TC_AppConfig/iowa/app.rb +8 -0
  357. data/test/TC_AppConfig/webrick.rb +38 -0
  358. data/test/TC_Association.rb +29 -0
  359. data/test/TC_BiLevelCache.rb +71 -0
  360. data/test/TC_CGI_Adaptor.rb +55 -0
  361. data/test/TC_CGI_Adaptor/cgi/iowa.cgi +7 -0
  362. data/test/TC_CGI_Adaptor/doc/index.html +1 -0
  363. data/test/TC_CGI_Adaptor/iowa/Main.html +8 -0
  364. data/test/TC_CGI_Adaptor/iowa/Main.iwa +14 -0
  365. data/test/TC_CGI_Adaptor/iowa/README +1 -0
  366. data/test/TC_CGI_Adaptor/iowa/app.cnf +8 -0
  367. data/test/TC_CGI_Adaptor/iowa/app.rb +8 -0
  368. data/test/TC_CGI_Adaptor/webrick.rb +38 -0
  369. data/test/TC_CSS.rb +660 -0
  370. data/test/TC_ClassLimitedCache.rb +89 -0
  371. data/test/TC_Classifier.rb +80 -0
  372. data/test/TC_DbPool.rb +127 -0
  373. data/test/TC_DiskCache.rb +218 -0
  374. data/test/TC_Hybrid.rb +58 -0
  375. data/test/TC_Hybrid/doc/thing.txt +1 -0
  376. data/test/TC_Hybrid/iowa/Main.html +3 -0
  377. data/test/TC_Hybrid/iowa/Main.iwa +7 -0
  378. data/test/TC_Hybrid/iowa/NewPage.html +1 -0
  379. data/test/TC_Hybrid/iowa/NewPage.iwa +5 -0
  380. data/test/TC_Hybrid/iowa/app.cnf +10 -0
  381. data/test/TC_Hybrid/iowa/app.rb +5 -0
  382. data/test/TC_IOWAFunctions/doc/Ajax1.html +1 -0
  383. data/test/TC_IOWAFunctions/doc/Ajax1.iwa +1 -0
  384. data/test/TC_IOWAFunctions/doc/index.html +1 -0
  385. data/test/TC_IOWAFunctions/doc/js/dojo.js +9686 -0
  386. data/test/TC_IOWAFunctions/iowa/Ajax1.html +40 -0
  387. data/test/TC_IOWAFunctions/iowa/Ajax1.iwa +23 -0
  388. data/test/TC_IOWAFunctions/iowa/AjaxWidget.iwa +19 -0
  389. data/test/TC_IOWAFunctions/iowa/AjaxWidget.view +22 -0
  390. data/test/TC_IOWAFunctions/iowa/DanielTest.html +9 -0
  391. data/test/TC_IOWAFunctions/iowa/DanielTest.iwa +10 -0
  392. data/test/TC_IOWAFunctions/iowa/IntervalWidget.html +1 -0
  393. data/test/TC_IOWAFunctions/iowa/IntervalWidget.iwa +14 -0
  394. data/test/TC_IOWAFunctions/iowa/Main.html +1 -0
  395. data/test/TC_IOWAFunctions/iowa/NestedRepeat1.html +12 -0
  396. data/test/TC_IOWAFunctions/iowa/NestedRepeat1.iwa +24 -0
  397. data/test/TC_IOWAFunctions/iowa/RPCResponse.iwa +7 -0
  398. data/test/TC_IOWAFunctions/iowa/RPCResponse.view +1 -0
  399. data/test/TC_IOWAFunctions/iowa/Repeat1.iwa +31 -0
  400. data/test/TC_IOWAFunctions/iowa/Repeat1.view +9 -0
  401. data/test/TC_IOWAFunctions/iowa/Repeat2.iwa +32 -0
  402. data/test/TC_IOWAFunctions/iowa/Repeat2.view +11 -0
  403. data/test/TC_IOWAFunctions/iowa/Repeat3.iwa +44 -0
  404. data/test/TC_IOWAFunctions/iowa/Repeat3.view +18 -0
  405. data/test/TC_IOWAFunctions/iowa/TesCon.html +1 -0
  406. data/test/TC_IOWAFunctions/iowa/TesCon.iwa +5 -0
  407. data/test/TC_IOWAFunctions/iowa/app.cnf +19 -0
  408. data/test/TC_IOWAFunctions/iowa/app.rb +9 -0
  409. data/test/TC_IOWAFunctions/iowa/mapfile.cnf +8 -0
  410. data/test/TC_ISAAC.rb +52 -0
  411. data/test/TC_ImageSize.rb +84 -0
  412. data/test/TC_ImageSize/img.bmp +0 -0
  413. data/test/TC_ImageSize/img.gif +0 -0
  414. data/test/TC_ImageSize/img.jpg +0 -0
  415. data/test/TC_ImageSize/img.pcx +0 -0
  416. data/test/TC_ImageSize/img.pgm +7144 -0
  417. data/test/TC_ImageSize/img.png +0 -0
  418. data/test/TC_ImageSize/img.ppm +0 -0
  419. data/test/TC_ImageSize/img.psd +0 -0
  420. data/test/TC_ImageSize/img.tiff +0 -0
  421. data/test/TC_ImageSize/img.xbm +22 -0
  422. data/test/TC_KeyValueCoding.rb +35 -0
  423. data/test/TC_LRUCache.rb +296 -0
  424. data/test/TC_LinkedList.rb +46 -0
  425. data/test/TC_Lockfile.rb +106 -0
  426. data/test/TC_Minimal.rb +45 -0
  427. data/test/TC_Minimal/app.cnf +8 -0
  428. data/test/TC_Minimal/cgi-bin/iowa.cgi +11 -0
  429. data/test/TC_Minimal/doc/index.html +1 -0
  430. data/test/TC_Minimal/iowa/Main.html +1 -0
  431. data/test/TC_Minimal/iowa/README +1 -0
  432. data/test/TC_Minimal/iowa/app.rb +3 -0
  433. data/test/TC_Minimal/webrick.rb +38 -0
  434. data/test/TC_Mongrel.rb +58 -0
  435. data/test/TC_Mongrel/doc/thing.txt +1 -0
  436. data/test/TC_Mongrel/iowa/Main.html +3 -0
  437. data/test/TC_Mongrel/iowa/Main.iwa +7 -0
  438. data/test/TC_Mongrel/iowa/NewPage.html +1 -0
  439. data/test/TC_Mongrel/iowa/NewPage.iwa +5 -0
  440. data/test/TC_Mongrel/iowa/app.cnf +10 -0
  441. data/test/TC_Mongrel/iowa/app.rb +5 -0
  442. data/test/TC_NoSubclass.rb +56 -0
  443. data/test/TC_NoSubclass/cgi/iowa.cgi +7 -0
  444. data/test/TC_NoSubclass/doc/index.html +1 -0
  445. data/test/TC_NoSubclass/iowa/Main.html +8 -0
  446. data/test/TC_NoSubclass/iowa/Main.iwa +14 -0
  447. data/test/TC_NoSubclass/iowa/README +1 -0
  448. data/test/TC_NoSubclass/iowa/app.cnf +8 -0
  449. data/test/TC_NoSubclass/iowa/app.rb +5 -0
  450. data/test/TC_NoSubclass/webrick.rb +38 -0
  451. data/test/TC_Pool.rb +139 -0
  452. data/test/TC_RenderedCache/doc/thing.txt +1 -0
  453. data/test/TC_RenderedCache/iowa/BigPage.html +1 -0
  454. data/test/TC_RenderedCache/iowa/BigPage.iwa +12 -0
  455. data/test/TC_RenderedCache/iowa/Main.html +3 -0
  456. data/test/TC_RenderedCache/iowa/Main.iwa +7 -0
  457. data/test/TC_RenderedCache/iowa/NewPage.html +1 -0
  458. data/test/TC_RenderedCache/iowa/NewPage.iwa +11 -0
  459. data/test/TC_RenderedCache/iowa/app.cnf +13 -0
  460. data/test/TC_RenderedCache/iowa/app.rb +5 -0
  461. data/test/TC_RenderedCache/iowa/mapfile.map +4 -0
  462. data/test/TC_ResourceURL.rb +73 -0
  463. data/test/TC_ResourceURL/iowa/Main.html +2 -0
  464. data/test/TC_ResourceURL/iowa/Main.iwa +10 -0
  465. data/test/TC_ResourceURL/iowa/app.cnf +10 -0
  466. data/test/TC_ResourceURL/iowa/app.rb +5 -0
  467. data/test/TC_SimpleDetached.rb +41 -0
  468. data/test/TC_StandardDispatcher.rb +362 -0
  469. data/test/TC_StandardDispatcherWithClassifier.rb +358 -0
  470. data/test/TC_String.rb +24 -0
  471. data/test/TC_Tag.rb +41 -0
  472. data/test/TC_Webrick.rb +56 -0
  473. data/test/TC_Webrick/doc/thing.txt +1 -0
  474. data/test/TC_Webrick/iowa/Main.html +3 -0
  475. data/test/TC_Webrick/iowa/Main.iwa +7 -0
  476. data/test/TC_Webrick/iowa/NewPage.html +1 -0
  477. data/test/TC_Webrick/iowa/NewPage.iwa +5 -0
  478. data/test/TC_Webrick/iowa/app.cnf +10 -0
  479. data/test/TC_Webrick/iowa/app.rb +5 -0
  480. data/test/tc_template.rb +15 -0
  481. data/test/tests.conf +19 -0
  482. data/utils/CVS/Entries +3 -0
  483. data/utils/CVS/Repository +1 -0
  484. data/utils/CVS/Root +1 -0
  485. data/utils/QuickCert-1.0.2.tar.gz +0 -0
  486. data/utils/QuickCert-1.0.2/InstalledFiles +7 -0
  487. data/utils/QuickCert-1.0.2/MANIFEST +10 -0
  488. data/utils/QuickCert-1.0.2/Makefile +15 -0
  489. data/utils/QuickCert-1.0.2/README +56 -0
  490. data/utils/QuickCert-1.0.2/bin/QuickCert +355 -0
  491. data/utils/QuickCert-1.0.2/config.save +12 -0
  492. data/utils/QuickCert-1.0.2/data/examples/ruby/QuickCert/README +60 -0
  493. data/utils/QuickCert-1.0.2/data/examples/ruby/QuickCert/drbssl_c.rb +26 -0
  494. data/utils/QuickCert-1.0.2/data/examples/ruby/QuickCert/drbssl_s.rb +35 -0
  495. data/utils/QuickCert-1.0.2/data/examples/ruby/QuickCert/qc_config +21 -0
  496. data/utils/QuickCert-1.0.2/lib/QuickCert/defaults.rb +28 -0
  497. data/utils/QuickCert-1.0.2/setup.rb +1312 -0
  498. data/utils/iowa_apps +422 -0
  499. data/utils/smtp_sink.rb +9 -0
  500. data/utils/startup_template.cnf +27 -0
  501. data/utils/startup_template.rb +73 -0
  502. metadata +551 -0
@@ -0,0 +1,123 @@
1
+ #
2
+ # obsolete.rb
3
+ #
4
+ # Copyright (c) 1998-2004 Minero Aoki
5
+ #
6
+ # This program is free software.
7
+ # You can distribute/modify this program under the terms of
8
+ # the GNU Lesser General Public License version 2.1.
9
+ #
10
+
11
+ require 'tmail/textutils'
12
+ require 'tmail/utils'
13
+
14
+
15
+ module TMail
16
+
17
+ # mail.rb
18
+ class Mail
19
+ class << self
20
+ alias loadfrom load
21
+ alias load_from load
22
+ end
23
+
24
+ alias include? key?
25
+ alias has_key? key?
26
+
27
+ def values
28
+ result = []
29
+ each_field do |f|
30
+ result.push f
31
+ end
32
+ result
33
+ end
34
+
35
+ def value?(val)
36
+ return false unless val.is_a?(HeaderField)
37
+ [@header[val.name.downcase]].flatten.include?(val)
38
+ end
39
+
40
+ alias has_value? value?
41
+ end
42
+
43
+
44
+ # facade.rb
45
+ class Mail
46
+ def from_addr(default = nil)
47
+ addr, = from_addrs(nil)
48
+ addr || default
49
+ end
50
+
51
+ alias from_address= from_addrs=
52
+
53
+ def from_phrase(default = nil)
54
+ if a = from_addr(nil)
55
+ a.phrase
56
+ else
57
+ default
58
+ end
59
+ end
60
+
61
+ alias msgid message_id
62
+ alias msgid= message_id=
63
+
64
+ remove_method :each_dest
65
+ alias each_dest each_destination
66
+ end
67
+
68
+
69
+ # address.rb
70
+ class Address
71
+ alias route routes
72
+ alias addr spec
73
+
74
+ def spec=(str)
75
+ @local, @domain = str.split(/@/,2).map {|s| s.split(/\./) }
76
+ end
77
+
78
+ alias addr= spec=
79
+ alias address= spec=
80
+ end
81
+
82
+
83
+ # mbox.rb
84
+ class MhMailbox
85
+ alias new_mail new_port
86
+ alias each_mail each_port
87
+ alias each_newmail each_new_port
88
+ end
89
+ class UNIXMbox
90
+ alias new_mail new_port
91
+ alias each_mail each_port
92
+ alias each_newmail each_new_port
93
+ end
94
+ class Maildir
95
+ alias new_mail new_port
96
+ alias each_mail each_port
97
+ alias each_newmail each_new_port
98
+ end
99
+
100
+
101
+ # textutils.rb
102
+ extend TextUtils
103
+
104
+ class << self
105
+ public :message_id?
106
+ public :new_boundary
107
+ public :new_message_id
108
+
109
+ alias msgid? message_id?
110
+ alias boundary new_boundary
111
+ alias msgid new_message_id
112
+ alias new_msgid new_message_id
113
+ end
114
+
115
+ def Mail.boundary
116
+ ::TMail.new_boundary
117
+ end
118
+
119
+ def Mail.msgid
120
+ ::TMail.new_message_id
121
+ end
122
+
123
+ end # module TMail
@@ -0,0 +1,1475 @@
1
+ #
2
+ # DO NOT MODIFY!!!!
3
+ # This file is automatically generated by racc 1.4.4
4
+ # from racc grammer file "parser.y".
5
+ #
6
+ #
7
+ # parser.rb: generated by racc (runtime embedded)
8
+ #
9
+ ###### racc/parser.rb
10
+ unless $".index 'racc/parser.rb'
11
+ $".push 'racc/parser.rb'
12
+
13
+ self.class.module_eval <<'..end /home/aamine/lib/ruby/racc/parser.rb modeval..id32ad1a7c1e', '/home/aamine/lib/ruby/racc/parser.rb', 1
14
+ #
15
+ # parser.rb
16
+ #
17
+ # Copyright (c) 1999-2004 Minero Aoki
18
+ #
19
+ # This program is free software.
20
+ # You can distribute/modify this program under the same terms of ruby.
21
+ #
22
+ # As a special exception, when this code is copied by Racc
23
+ # into a Racc output file, you may use that output file
24
+ # without restriction.
25
+ #
26
+ # $Id: parser.rb,v 1.5 2004/02/16 07:10:50 aamine Exp $
27
+ #
28
+
29
+ unless defined?(NotImplementedError)
30
+ NotImplementedError = NotImplementError
31
+ end
32
+
33
+ module Racc
34
+ class ParseError < StandardError; end
35
+ end
36
+ unless defined?(::ParseError)
37
+ ParseError = Racc::ParseError
38
+ end
39
+
40
+ module Racc
41
+
42
+ unless defined?(Racc_No_Extentions)
43
+ Racc_No_Extentions = false
44
+ end
45
+
46
+ class Parser
47
+
48
+ Racc_Runtime_Version = '1.4.4'
49
+ Racc_Runtime_Revision = '$Revision: 1.5 $'.split[1]
50
+
51
+ Racc_Runtime_Core_Version_R = '1.4.4'
52
+ Racc_Runtime_Core_Revision_R = '$Revision: 1.5 $'.split[1]
53
+ begin
54
+ require 'racc/cparse'
55
+ # Racc_Runtime_Core_Version_C = (defined in extention)
56
+ Racc_Runtime_Core_Revision_C = Racc_Runtime_Core_Id_C.split[2]
57
+ unless new.respond_to?(:_racc_do_parse_c, true)
58
+ raise LoadError, 'old cparse.so'
59
+ end
60
+ if Racc_No_Extentions
61
+ raise LoadError, 'selecting ruby version of racc runtime core'
62
+ end
63
+
64
+ Racc_Main_Parsing_Routine = :_racc_do_parse_c
65
+ Racc_YY_Parse_Method = :_racc_yyparse_c
66
+ Racc_Runtime_Core_Version = Racc_Runtime_Core_Version_C
67
+ Racc_Runtime_Core_Revision = Racc_Runtime_Core_Revision_C
68
+ Racc_Runtime_Type = 'c'
69
+ rescue LoadError
70
+ Racc_Main_Parsing_Routine = :_racc_do_parse_rb
71
+ Racc_YY_Parse_Method = :_racc_yyparse_rb
72
+ Racc_Runtime_Core_Version = Racc_Runtime_Core_Version_R
73
+ Racc_Runtime_Core_Revision = Racc_Runtime_Core_Revision_R
74
+ Racc_Runtime_Type = 'ruby'
75
+ end
76
+
77
+ def Parser.racc_runtime_type
78
+ Racc_Runtime_Type
79
+ end
80
+
81
+ private
82
+
83
+ def _racc_setup
84
+ @yydebug = false unless self.class::Racc_debug_parser
85
+ @yydebug = false unless defined?(@yydebug)
86
+ if @yydebug
87
+ @racc_debug_out = $stderr unless defined?(@racc_debug_out)
88
+ @racc_debug_out ||= $stderr
89
+ end
90
+ arg = self.class::Racc_arg
91
+ arg[13] = true if arg.size < 14
92
+ arg
93
+ end
94
+
95
+ def _racc_init_sysvars
96
+ @racc_state = [0]
97
+ @racc_tstack = []
98
+ @racc_vstack = []
99
+
100
+ @racc_t = nil
101
+ @racc_val = nil
102
+
103
+ @racc_read_next = true
104
+
105
+ @racc_user_yyerror = false
106
+ @racc_error_status = 0
107
+ end
108
+
109
+ ###
110
+ ### do_parse
111
+ ###
112
+
113
+ def do_parse
114
+ __send__(Racc_Main_Parsing_Routine, _racc_setup(), false)
115
+ end
116
+
117
+ def next_token
118
+ raise NotImplementedError, "#{self.class}\#next_token is not defined"
119
+ end
120
+
121
+ def _racc_do_parse_rb(arg, in_debug)
122
+ action_table, action_check, action_default, action_pointer,
123
+ goto_table, goto_check, goto_default, goto_pointer,
124
+ nt_base, reduce_table, token_table, shift_n,
125
+ reduce_n, use_result, * = arg
126
+
127
+ _racc_init_sysvars
128
+ tok = act = i = nil
129
+ nerr = 0
130
+
131
+ catch(:racc_end_parse) {
132
+ while true
133
+ if i = action_pointer[@racc_state[-1]]
134
+ if @racc_read_next
135
+ if @racc_t != 0 # not EOF
136
+ tok, @racc_val = next_token()
137
+ unless tok # EOF
138
+ @racc_t = 0
139
+ else
140
+ @racc_t = (token_table[tok] or 1) # error token
141
+ end
142
+ racc_read_token(@racc_t, tok, @racc_val) if @yydebug
143
+ @racc_read_next = false
144
+ end
145
+ end
146
+ i += @racc_t
147
+ unless i >= 0 and
148
+ act = action_table[i] and
149
+ action_check[i] == @racc_state[-1]
150
+ act = action_default[@racc_state[-1]]
151
+ end
152
+ else
153
+ act = action_default[@racc_state[-1]]
154
+ end
155
+ while act = _racc_evalact(act, arg)
156
+ ;
157
+ end
158
+ end
159
+ }
160
+ end
161
+
162
+ ###
163
+ ### yyparse
164
+ ###
165
+
166
+ def yyparse(recv, mid)
167
+ __send__(Racc_YY_Parse_Method, recv, mid, _racc_setup(), true)
168
+ end
169
+
170
+ def _racc_yyparse_rb(recv, mid, arg, c_debug)
171
+ action_table, action_check, action_default, action_pointer,
172
+ goto_table, goto_check, goto_default, goto_pointer,
173
+ nt_base, reduce_table, token_table, shift_n,
174
+ reduce_n, use_result, * = arg
175
+
176
+ _racc_init_sysvars
177
+ tok = nil
178
+ act = nil
179
+ i = nil
180
+ nerr = 0
181
+
182
+ catch(:racc_end_parse) {
183
+ until i = action_pointer[@racc_state[-1]]
184
+ while act = _racc_evalact(action_default[@racc_state[-1]], arg)
185
+ ;
186
+ end
187
+ end
188
+ recv.__send__(mid) do |tok, val|
189
+ unless tok
190
+ @racc_t = 0
191
+ else
192
+ @racc_t = (token_table[tok] or 1) # error token
193
+ end
194
+ @racc_val = val
195
+ @racc_read_next = false
196
+
197
+ i += @racc_t
198
+ unless i >= 0 and
199
+ act = action_table[i] and
200
+ action_check[i] == @racc_state[-1]
201
+ act = action_default[@racc_state[-1]]
202
+ end
203
+ while act = _racc_evalact(act, arg)
204
+ ;
205
+ end
206
+
207
+ while not (i = action_pointer[@racc_state[-1]]) or
208
+ not @racc_read_next or
209
+ @racc_t == 0 # $
210
+ unless i and i += @racc_t and
211
+ i >= 0 and
212
+ act = action_table[i] and
213
+ action_check[i] == @racc_state[-1]
214
+ act = action_default[@racc_state[-1]]
215
+ end
216
+ while act = _racc_evalact(act, arg)
217
+ ;
218
+ end
219
+ end
220
+ end
221
+ }
222
+ end
223
+
224
+ ###
225
+ ### common
226
+ ###
227
+
228
+ def _racc_evalact(act, arg)
229
+ action_table, action_check, action_default, action_pointer,
230
+ goto_table, goto_check, goto_default, goto_pointer,
231
+ nt_base, reduce_table, token_table, shift_n,
232
+ reduce_n, use_result, * = arg
233
+ nerr = 0 # tmp
234
+
235
+ if act > 0 and act < shift_n
236
+ #
237
+ # shift
238
+ #
239
+ if @racc_error_status > 0
240
+ @racc_error_status -= 1 unless @racc_t == 1 # error token
241
+ end
242
+ @racc_vstack.push @racc_val
243
+ @racc_state.push act
244
+ @racc_read_next = true
245
+ if @yydebug
246
+ @racc_tstack.push @racc_t
247
+ racc_shift @racc_t, @racc_tstack, @racc_vstack
248
+ end
249
+
250
+ elsif act < 0 and act > -reduce_n
251
+ #
252
+ # reduce
253
+ #
254
+ code = catch(:racc_jump) {
255
+ @racc_state.push _racc_do_reduce(arg, act)
256
+ false
257
+ }
258
+ if code
259
+ case code
260
+ when 1 # yyerror
261
+ @racc_user_yyerror = true # user_yyerror
262
+ return -reduce_n
263
+ when 2 # yyaccept
264
+ return shift_n
265
+ else
266
+ raise RuntimeError, '[Racc Bug] unknown jump code'
267
+ end
268
+ end
269
+
270
+ elsif act == shift_n
271
+ #
272
+ # accept
273
+ #
274
+ racc_accept if @yydebug
275
+ throw :racc_end_parse, @racc_vstack[0]
276
+
277
+ elsif act == -reduce_n
278
+ #
279
+ # error
280
+ #
281
+ case @racc_error_status
282
+ when 0
283
+ unless arg[21] # user_yyerror
284
+ nerr += 1
285
+ on_error @racc_t, @racc_val, @racc_vstack
286
+ end
287
+ when 3
288
+ if @racc_t == 0 # is $
289
+ throw :racc_end_parse, nil
290
+ end
291
+ @racc_read_next = true
292
+ end
293
+ @racc_user_yyerror = false
294
+ @racc_error_status = 3
295
+ while true
296
+ if i = action_pointer[@racc_state[-1]]
297
+ i += 1 # error token
298
+ if i >= 0 and
299
+ (act = action_table[i]) and
300
+ action_check[i] == @racc_state[-1]
301
+ break
302
+ end
303
+ end
304
+ throw :racc_end_parse, nil if @racc_state.size <= 1
305
+ @racc_state.pop
306
+ @racc_vstack.pop
307
+ if @yydebug
308
+ @racc_tstack.pop
309
+ racc_e_pop @racc_state, @racc_tstack, @racc_vstack
310
+ end
311
+ end
312
+ return act
313
+
314
+ else
315
+ raise RuntimeError, "[Racc Bug] unknown action #{act.inspect}"
316
+ end
317
+
318
+ racc_next_state(@racc_state[-1], @racc_state) if @yydebug
319
+
320
+ nil
321
+ end
322
+
323
+ def _racc_do_reduce(arg, act)
324
+ action_table, action_check, action_default, action_pointer,
325
+ goto_table, goto_check, goto_default, goto_pointer,
326
+ nt_base, reduce_table, token_table, shift_n,
327
+ reduce_n, use_result, * = arg
328
+ state = @racc_state
329
+ vstack = @racc_vstack
330
+ tstack = @racc_tstack
331
+
332
+ i = act * -3
333
+ len = reduce_table[i]
334
+ reduce_to = reduce_table[i+1]
335
+ method_id = reduce_table[i+2]
336
+ void_array = []
337
+
338
+ tmp_t = tstack[-len, len] if @yydebug
339
+ tmp_v = vstack[-len, len]
340
+ tstack[-len, len] = void_array if @yydebug
341
+ vstack[-len, len] = void_array
342
+ state[-len, len] = void_array
343
+
344
+ # tstack must be updated AFTER method call
345
+ if use_result
346
+ vstack.push __send__(method_id, tmp_v, vstack, tmp_v[0])
347
+ else
348
+ vstack.push __send__(method_id, tmp_v, vstack)
349
+ end
350
+ tstack.push reduce_to
351
+
352
+ racc_reduce(tmp_t, reduce_to, tstack, vstack) if @yydebug
353
+
354
+ k1 = reduce_to - nt_base
355
+ if i = goto_pointer[k1]
356
+ i += state[-1]
357
+ if i >= 0 and (curstate = goto_table[i]) and goto_check[i] == k1
358
+ return curstate
359
+ end
360
+ end
361
+ goto_default[k1]
362
+ end
363
+
364
+ def on_error(t, val, vstack)
365
+ raise ParseError, sprintf("\nparse error on value %s (%s)",
366
+ val.inspect, token_to_str(t) || '?')
367
+ end
368
+
369
+ def yyerror
370
+ throw :racc_jump, 1
371
+ end
372
+
373
+ def yyaccept
374
+ throw :racc_jump, 2
375
+ end
376
+
377
+ def yyerrok
378
+ @racc_error_status = 0
379
+ end
380
+
381
+ #
382
+ # for debugging output
383
+ #
384
+
385
+ def racc_read_token(t, tok, val)
386
+ @racc_debug_out.print 'read '
387
+ @racc_debug_out.print tok.inspect, '(', racc_token2str(t), ') '
388
+ @racc_debug_out.puts val.inspect
389
+ @racc_debug_out.puts
390
+ end
391
+
392
+ def racc_shift(tok, tstack, vstack)
393
+ @racc_debug_out.puts "shift #{racc_token2str tok}"
394
+ racc_print_stacks tstack, vstack
395
+ @racc_debug_out.puts
396
+ end
397
+
398
+ def racc_reduce(toks, sim, tstack, vstack)
399
+ out = @racc_debug_out
400
+ out.print 'reduce '
401
+ if toks.empty?
402
+ out.print ' <none>'
403
+ else
404
+ toks.each {|t| out.print ' ', racc_token2str(t) }
405
+ end
406
+ out.puts " --> #{racc_token2str(sim)}"
407
+
408
+ racc_print_stacks tstack, vstack
409
+ @racc_debug_out.puts
410
+ end
411
+
412
+ def racc_accept
413
+ @racc_debug_out.puts 'accept'
414
+ @racc_debug_out.puts
415
+ end
416
+
417
+ def racc_e_pop(state, tstack, vstack)
418
+ @racc_debug_out.puts 'error recovering mode: pop token'
419
+ racc_print_states state
420
+ racc_print_stacks tstack, vstack
421
+ @racc_debug_out.puts
422
+ end
423
+
424
+ def racc_next_state(curstate, state)
425
+ @racc_debug_out.puts "goto #{curstate}"
426
+ racc_print_states state
427
+ @racc_debug_out.puts
428
+ end
429
+
430
+ def racc_print_stacks(t, v)
431
+ out = @racc_debug_out
432
+ out.print ' ['
433
+ t.each_index do |i|
434
+ out.print ' (', racc_token2str(t[i]), ' ', v[i].inspect, ')'
435
+ end
436
+ out.puts ' ]'
437
+ end
438
+
439
+ def racc_print_states(s)
440
+ out = @racc_debug_out
441
+ out.print ' ['
442
+ s.each {|st| out.print ' ', st }
443
+ out.puts ' ]'
444
+ end
445
+
446
+ def racc_token2str(tok)
447
+ self.class::Racc_token_to_s_table[tok] or
448
+ raise RuntimeError, "[Racc Bug] can't convert token #{tok} to string"
449
+ end
450
+
451
+ def token_to_str(t)
452
+ self.class::Racc_token_to_s_table[t]
453
+ end
454
+
455
+ end
456
+
457
+ end
458
+ ..end /home/aamine/lib/ruby/racc/parser.rb modeval..id32ad1a7c1e
459
+ end # end of racc/parser.rb
460
+
461
+
462
+ #
463
+ # parser.rb
464
+ #
465
+ # Copyright (c) 1998-2004 Minero Aoki
466
+ #
467
+ # This program is free software.
468
+ # You can distribute/modify this program under the terms of
469
+ # the GNU Lesser General Public License version 2.1.
470
+ #
471
+
472
+ require 'tmail/scanner'
473
+ require 'tmail/textutils'
474
+
475
+
476
+ module TMail
477
+
478
+ class Parser < Racc::Parser
479
+
480
+ module_eval <<'..end parser.y modeval..id0b372b56e6', 'parser.y', 331
481
+
482
+ include TextUtils
483
+
484
+ def self.parse( ident, str, cmt = nil )
485
+ new.parse(ident, str, cmt)
486
+ end
487
+
488
+ MAILP_DEBUG = false
489
+
490
+ def initialize
491
+ self.debug = MAILP_DEBUG
492
+ end
493
+
494
+ def debug=( flag )
495
+ @yydebug = flag && Racc_debug_parser
496
+ @scanner_debug = flag
497
+ end
498
+
499
+ def debug
500
+ @yydebug
501
+ end
502
+
503
+ def parse( ident, str, comments = nil )
504
+ @scanner = Scanner.new(str, ident, comments)
505
+ @scanner.debug = @scanner_debug
506
+ @first = [ident, ident]
507
+ result = yyparse(self, :parse_in)
508
+ comments.map! {|c| to_kcode(c) } if comments
509
+ result
510
+ end
511
+
512
+ private
513
+
514
+ def parse_in( &block )
515
+ yield @first
516
+ @scanner.scan(&block)
517
+ end
518
+
519
+ def on_error( t, val, vstack )
520
+ raise SyntaxError, "parse error on token #{racc_token2str t}"
521
+ end
522
+
523
+ ..end parser.y modeval..id0b372b56e6
524
+
525
+ ##### racc 1.4.4 generates ###
526
+
527
+ racc_reduce_table = [
528
+ 0, 0, :racc_error,
529
+ 2, 35, :_reduce_1,
530
+ 2, 35, :_reduce_2,
531
+ 2, 35, :_reduce_3,
532
+ 2, 35, :_reduce_4,
533
+ 2, 35, :_reduce_5,
534
+ 2, 35, :_reduce_6,
535
+ 2, 35, :_reduce_7,
536
+ 2, 35, :_reduce_8,
537
+ 2, 35, :_reduce_9,
538
+ 2, 35, :_reduce_10,
539
+ 2, 35, :_reduce_11,
540
+ 2, 35, :_reduce_12,
541
+ 6, 36, :_reduce_13,
542
+ 0, 48, :_reduce_none,
543
+ 2, 48, :_reduce_none,
544
+ 3, 49, :_reduce_16,
545
+ 5, 49, :_reduce_17,
546
+ 1, 50, :_reduce_18,
547
+ 7, 37, :_reduce_19,
548
+ 0, 51, :_reduce_none,
549
+ 2, 51, :_reduce_21,
550
+ 0, 52, :_reduce_none,
551
+ 2, 52, :_reduce_23,
552
+ 1, 58, :_reduce_24,
553
+ 3, 58, :_reduce_25,
554
+ 2, 58, :_reduce_26,
555
+ 0, 53, :_reduce_none,
556
+ 2, 53, :_reduce_28,
557
+ 0, 54, :_reduce_29,
558
+ 3, 54, :_reduce_30,
559
+ 0, 55, :_reduce_none,
560
+ 2, 55, :_reduce_32,
561
+ 2, 55, :_reduce_33,
562
+ 0, 56, :_reduce_none,
563
+ 2, 56, :_reduce_35,
564
+ 1, 61, :_reduce_36,
565
+ 1, 61, :_reduce_37,
566
+ 0, 57, :_reduce_none,
567
+ 2, 57, :_reduce_39,
568
+ 1, 38, :_reduce_none,
569
+ 1, 38, :_reduce_none,
570
+ 3, 38, :_reduce_none,
571
+ 1, 46, :_reduce_none,
572
+ 1, 46, :_reduce_none,
573
+ 1, 46, :_reduce_none,
574
+ 1, 39, :_reduce_none,
575
+ 2, 39, :_reduce_47,
576
+ 1, 64, :_reduce_48,
577
+ 3, 64, :_reduce_49,
578
+ 1, 68, :_reduce_none,
579
+ 1, 68, :_reduce_none,
580
+ 1, 69, :_reduce_52,
581
+ 3, 69, :_reduce_53,
582
+ 1, 47, :_reduce_none,
583
+ 1, 47, :_reduce_none,
584
+ 2, 47, :_reduce_56,
585
+ 2, 67, :_reduce_none,
586
+ 3, 65, :_reduce_58,
587
+ 2, 65, :_reduce_59,
588
+ 1, 70, :_reduce_60,
589
+ 2, 70, :_reduce_61,
590
+ 4, 62, :_reduce_62,
591
+ 3, 62, :_reduce_63,
592
+ 2, 72, :_reduce_none,
593
+ 2, 73, :_reduce_65,
594
+ 4, 73, :_reduce_66,
595
+ 3, 63, :_reduce_67,
596
+ 1, 63, :_reduce_68,
597
+ 1, 74, :_reduce_none,
598
+ 2, 74, :_reduce_70,
599
+ 1, 71, :_reduce_71,
600
+ 3, 71, :_reduce_72,
601
+ 1, 59, :_reduce_73,
602
+ 3, 59, :_reduce_74,
603
+ 1, 76, :_reduce_75,
604
+ 2, 76, :_reduce_76,
605
+ 1, 75, :_reduce_none,
606
+ 1, 75, :_reduce_none,
607
+ 1, 75, :_reduce_none,
608
+ 1, 77, :_reduce_none,
609
+ 1, 77, :_reduce_none,
610
+ 1, 77, :_reduce_none,
611
+ 1, 66, :_reduce_none,
612
+ 2, 66, :_reduce_none,
613
+ 3, 60, :_reduce_85,
614
+ 1, 40, :_reduce_86,
615
+ 3, 40, :_reduce_87,
616
+ 1, 79, :_reduce_none,
617
+ 2, 79, :_reduce_89,
618
+ 1, 41, :_reduce_90,
619
+ 2, 41, :_reduce_91,
620
+ 3, 42, :_reduce_92,
621
+ 5, 43, :_reduce_93,
622
+ 3, 43, :_reduce_94,
623
+ 0, 80, :_reduce_95,
624
+ 5, 80, :_reduce_96,
625
+ 1, 82, :_reduce_none,
626
+ 1, 82, :_reduce_none,
627
+ 1, 44, :_reduce_99,
628
+ 3, 45, :_reduce_100,
629
+ 0, 81, :_reduce_none,
630
+ 1, 81, :_reduce_none,
631
+ 1, 78, :_reduce_none,
632
+ 1, 78, :_reduce_none,
633
+ 1, 78, :_reduce_none,
634
+ 1, 78, :_reduce_none,
635
+ 1, 78, :_reduce_none,
636
+ 1, 78, :_reduce_none,
637
+ 1, 78, :_reduce_none ]
638
+
639
+ racc_reduce_n = 110
640
+
641
+ racc_shift_n = 168
642
+
643
+ racc_action_table = [
644
+ -70, -69, 23, 25, 146, 147, 29, 31, 105, 106,
645
+ 16, 17, 20, 22, 136, 27, -70, -69, 32, 101,
646
+ -70, -69, 154, 100, 113, 115, -70, -69, -70, 109,
647
+ 75, 23, 25, 101, 155, 29, 31, 142, 143, 16,
648
+ 17, 20, 22, 107, 27, 23, 25, 32, 98, 29,
649
+ 31, 96, 94, 16, 17, 20, 22, 78, 27, 23,
650
+ 25, 32, 112, 29, 31, 74, 91, 16, 17, 20,
651
+ 22, 88, 117, 92, 81, 32, 23, 25, 80, 123,
652
+ 29, 31, 100, 125, 16, 17, 20, 22, 126, 23,
653
+ 25, 109, 32, 29, 31, 91, 128, 16, 17, 20,
654
+ 22, 129, 27, 23, 25, 32, 101, 29, 31, 101,
655
+ 130, 16, 17, 20, 22, 79, 52, 23, 25, 32,
656
+ 78, 29, 31, 133, 78, 16, 17, 20, 22, 77,
657
+ 23, 25, 75, 32, 29, 31, 65, 62, 16, 17,
658
+ 20, 22, 139, 23, 25, 101, 32, 29, 31, 60,
659
+ 100, 16, 17, 20, 22, 44, 27, 101, 148, 32,
660
+ 23, 25, 120, 149, 29, 31, 152, 153, 16, 17,
661
+ 20, 22, 42, 27, 157, 159, 32, 23, 25, 120,
662
+ 40, 29, 31, 15, 164, 16, 17, 20, 22, 40,
663
+ 27, 23, 25, 32, 68, 29, 31, 166, 167, 16,
664
+ 17, 20, 22, nil, 27, 23, 25, 32, nil, 29,
665
+ 31, 74, nil, 16, 17, 20, 22, nil, 23, 25,
666
+ nil, 32, 29, 31, nil, nil, 16, 17, 20, 22,
667
+ nil, 23, 25, nil, 32, 29, 31, nil, nil, 16,
668
+ 17, 20, 22, nil, 23, 25, nil, 32, 29, 31,
669
+ nil, nil, 16, 17, 20, 22, nil, 23, 25, nil,
670
+ 32, 29, 31, nil, nil, 16, 17, 20, 22, nil,
671
+ 27, 23, 25, 32, nil, 29, 31, nil, nil, 16,
672
+ 17, 20, 22, nil, 23, 25, nil, 32, 29, 31,
673
+ nil, nil, 16, 17, 20, 22, nil, 23, 25, nil,
674
+ 32, 29, 31, nil, nil, 16, 17, 20, 22, nil,
675
+ 84, 25, nil, 32, 29, 31, nil, 87, 16, 17,
676
+ 20, 22, 4, 6, 7, 8, 9, 10, 11, 12,
677
+ 13, 1, 2, 3, 84, 25, nil, nil, 29, 31,
678
+ nil, 87, 16, 17, 20, 22, 84, 25, nil, nil,
679
+ 29, 31, nil, 87, 16, 17, 20, 22, 84, 25,
680
+ nil, nil, 29, 31, nil, 87, 16, 17, 20, 22,
681
+ 84, 25, nil, nil, 29, 31, nil, 87, 16, 17,
682
+ 20, 22, 84, 25, nil, nil, 29, 31, nil, 87,
683
+ 16, 17, 20, 22, 84, 25, nil, nil, 29, 31,
684
+ nil, 87, 16, 17, 20, 22 ]
685
+
686
+ racc_action_check = [
687
+ 75, 28, 68, 68, 136, 136, 68, 68, 72, 72,
688
+ 68, 68, 68, 68, 126, 68, 75, 28, 68, 67,
689
+ 75, 28, 143, 66, 86, 86, 75, 28, 75, 75,
690
+ 28, 3, 3, 86, 143, 3, 3, 134, 134, 3,
691
+ 3, 3, 3, 73, 3, 152, 152, 3, 62, 152,
692
+ 152, 60, 56, 152, 152, 152, 152, 51, 152, 52,
693
+ 52, 152, 80, 52, 52, 52, 50, 52, 52, 52,
694
+ 52, 45, 89, 52, 42, 52, 71, 71, 41, 96,
695
+ 71, 71, 97, 98, 71, 71, 71, 71, 100, 7,
696
+ 7, 101, 71, 7, 7, 102, 104, 7, 7, 7,
697
+ 7, 105, 7, 8, 8, 7, 108, 8, 8, 111,
698
+ 112, 8, 8, 8, 8, 40, 8, 9, 9, 8,
699
+ 36, 9, 9, 117, 121, 9, 9, 9, 9, 33,
700
+ 10, 10, 70, 9, 10, 10, 13, 12, 10, 10,
701
+ 10, 10, 130, 2, 2, 131, 10, 2, 2, 11,
702
+ 135, 2, 2, 2, 2, 6, 2, 138, 139, 2,
703
+ 90, 90, 90, 140, 90, 90, 141, 142, 90, 90,
704
+ 90, 90, 5, 90, 148, 151, 90, 127, 127, 127,
705
+ 4, 127, 127, 1, 157, 127, 127, 127, 127, 159,
706
+ 127, 26, 26, 127, 26, 26, 26, 163, 164, 26,
707
+ 26, 26, 26, nil, 26, 27, 27, 26, nil, 27,
708
+ 27, 27, nil, 27, 27, 27, 27, nil, 155, 155,
709
+ nil, 27, 155, 155, nil, nil, 155, 155, 155, 155,
710
+ nil, 122, 122, nil, 155, 122, 122, nil, nil, 122,
711
+ 122, 122, 122, nil, 76, 76, nil, 122, 76, 76,
712
+ nil, nil, 76, 76, 76, 76, nil, 38, 38, nil,
713
+ 76, 38, 38, nil, nil, 38, 38, 38, 38, nil,
714
+ 38, 55, 55, 38, nil, 55, 55, nil, nil, 55,
715
+ 55, 55, 55, nil, 94, 94, nil, 55, 94, 94,
716
+ nil, nil, 94, 94, 94, 94, nil, 59, 59, nil,
717
+ 94, 59, 59, nil, nil, 59, 59, 59, 59, nil,
718
+ 114, 114, nil, 59, 114, 114, nil, 114, 114, 114,
719
+ 114, 114, 0, 0, 0, 0, 0, 0, 0, 0,
720
+ 0, 0, 0, 0, 77, 77, nil, nil, 77, 77,
721
+ nil, 77, 77, 77, 77, 77, 44, 44, nil, nil,
722
+ 44, 44, nil, 44, 44, 44, 44, 44, 113, 113,
723
+ nil, nil, 113, 113, nil, 113, 113, 113, 113, 113,
724
+ 88, 88, nil, nil, 88, 88, nil, 88, 88, 88,
725
+ 88, 88, 74, 74, nil, nil, 74, 74, nil, 74,
726
+ 74, 74, 74, 74, 129, 129, nil, nil, 129, 129,
727
+ nil, 129, 129, 129, 129, 129 ]
728
+
729
+ racc_action_pointer = [
730
+ 320, 152, 129, 17, 165, 172, 137, 75, 89, 103,
731
+ 116, 135, 106, 105, nil, nil, nil, nil, nil, nil,
732
+ nil, nil, nil, nil, nil, nil, 177, 191, 1, nil,
733
+ nil, nil, nil, 109, nil, nil, 94, nil, 243, nil,
734
+ 99, 64, 74, nil, 332, 52, nil, nil, nil, nil,
735
+ 50, 31, 45, nil, nil, 257, 36, nil, nil, 283,
736
+ 22, nil, 16, nil, nil, nil, -3, -10, -12, nil,
737
+ 103, 62, -8, 15, 368, 0, 230, 320, nil, nil,
738
+ 47, nil, nil, nil, nil, nil, 4, nil, 356, 50,
739
+ 146, nil, nil, nil, 270, nil, 65, 56, 52, nil,
740
+ 57, 62, 79, nil, 68, 81, nil, nil, 77, nil,
741
+ nil, 80, 96, 344, 296, nil, nil, 108, nil, nil,
742
+ nil, 98, 217, nil, nil, nil, -19, 163, nil, 380,
743
+ 128, 116, nil, nil, 14, 124, -26, nil, 128, 141,
744
+ 148, 141, 152, 7, nil, nil, nil, nil, 160, nil,
745
+ nil, 149, 31, nil, nil, 204, nil, 167, nil, 174,
746
+ nil, nil, nil, 169, 184, nil, nil, nil ]
747
+
748
+ racc_action_default = [
749
+ -110, -110, -110, -110, -14, -110, -20, -110, -110, -110,
750
+ -110, -110, -110, -110, -10, -95, -106, -107, -77, -44,
751
+ -108, -11, -109, -79, -43, -103, -110, -110, -60, -104,
752
+ -55, -105, -78, -68, -54, -71, -45, -12, -110, -1,
753
+ -110, -110, -110, -2, -110, -22, -51, -48, -50, -3,
754
+ -40, -41, -110, -46, -4, -86, -5, -88, -6, -90,
755
+ -110, -7, -95, -8, -9, -99, -101, -61, -59, -56,
756
+ -69, -110, -110, -110, -110, -75, -110, -110, -57, -15,
757
+ -110, 168, -73, -80, -82, -21, -24, -81, -110, -27,
758
+ -110, -83, -47, -89, -110, -91, -110, -101, -110, -100,
759
+ -102, -75, -58, -52, -110, -110, -64, -63, -65, -76,
760
+ -72, -67, -110, -110, -110, -26, -23, -110, -29, -49,
761
+ -84, -42, -87, -92, -94, -95, -110, -110, -62, -110,
762
+ -110, -25, -74, -28, -31, -101, -110, -53, -66, -110,
763
+ -110, -34, -110, -110, -93, -96, -98, -97, -110, -18,
764
+ -13, -38, -110, -30, -33, -110, -32, -16, -19, -14,
765
+ -35, -36, -37, -110, -110, -39, -85, -17 ]
766
+
767
+ racc_goto_table = [
768
+ 39, 67, 70, 73, 24, 37, 69, 66, 36, 38,
769
+ 57, 59, 55, 67, 108, 83, 90, 111, 69, 99,
770
+ 85, 49, 53, 76, 158, 134, 141, 70, 73, 151,
771
+ 118, 89, 45, 156, 160, 150, 140, 21, 14, 19,
772
+ 119, 102, 64, 63, 61, 83, 70, 104, 83, 58,
773
+ 124, 132, 56, 131, 97, 54, 93, 43, 5, 83,
774
+ 95, 145, 76, nil, 116, 76, nil, nil, 127, 138,
775
+ 103, nil, nil, nil, 38, nil, nil, 110, nil, nil,
776
+ nil, nil, nil, nil, 83, 83, nil, nil, 144, nil,
777
+ nil, nil, nil, nil, nil, 57, 121, 122, nil, nil,
778
+ 83, nil, nil, nil, nil, nil, nil, nil, nil, nil,
779
+ nil, nil, nil, nil, nil, nil, nil, 135, nil, nil,
780
+ nil, nil, nil, 93, nil, nil, nil, 70, 162, 137,
781
+ 70, 163, 161, 38, nil, nil, nil, nil, nil, nil,
782
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
783
+ nil, nil, nil, nil, nil, 165 ]
784
+
785
+ racc_goto_check = [
786
+ 2, 37, 37, 29, 13, 13, 28, 46, 31, 36,
787
+ 41, 41, 45, 37, 25, 44, 32, 25, 28, 47,
788
+ 24, 4, 4, 42, 23, 20, 21, 37, 29, 22,
789
+ 19, 18, 17, 26, 27, 16, 15, 12, 11, 33,
790
+ 34, 35, 10, 9, 8, 44, 37, 29, 44, 7,
791
+ 47, 43, 6, 25, 46, 5, 41, 3, 1, 44,
792
+ 41, 48, 42, nil, 24, 42, nil, nil, 32, 25,
793
+ 13, nil, nil, nil, 36, nil, nil, 41, nil, nil,
794
+ nil, nil, nil, nil, 44, 44, nil, nil, 47, nil,
795
+ nil, nil, nil, nil, nil, 41, 31, 45, nil, nil,
796
+ 44, nil, nil, nil, nil, nil, nil, nil, nil, nil,
797
+ nil, nil, nil, nil, nil, nil, nil, 46, nil, nil,
798
+ nil, nil, nil, 41, nil, nil, nil, 37, 29, 13,
799
+ 37, 29, 28, 36, nil, nil, nil, nil, nil, nil,
800
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
801
+ nil, nil, nil, nil, nil, 2 ]
802
+
803
+ racc_goto_pointer = [
804
+ nil, 58, -4, 51, 14, 47, 43, 39, 33, 31,
805
+ 29, 37, 35, 2, nil, -94, -105, 26, -14, -59,
806
+ -93, -108, -112, -127, -24, -60, -110, -118, -20, -24,
807
+ nil, 6, -34, 37, -50, -27, 6, -25, nil, nil,
808
+ nil, 1, -5, -63, -29, 3, -8, -47, -75 ]
809
+
810
+ racc_goto_default = [
811
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
812
+ nil, nil, nil, 48, 41, nil, nil, nil, nil, nil,
813
+ nil, nil, nil, nil, nil, 86, nil, nil, 30, 34,
814
+ 50, 51, nil, 46, 47, nil, 26, 28, 71, 72,
815
+ 33, 35, 114, 82, 18, nil, nil, nil, nil ]
816
+
817
+ racc_token_table = {
818
+ false => 0,
819
+ Object.new => 1,
820
+ :DATETIME => 2,
821
+ :RECEIVED => 3,
822
+ :MADDRESS => 4,
823
+ :RETPATH => 5,
824
+ :KEYWORDS => 6,
825
+ :ENCRYPTED => 7,
826
+ :MIMEVERSION => 8,
827
+ :CTYPE => 9,
828
+ :CENCODING => 10,
829
+ :CDISPOSITION => 11,
830
+ :ADDRESS => 12,
831
+ :MAILBOX => 13,
832
+ :DIGIT => 14,
833
+ :ATOM => 15,
834
+ "," => 16,
835
+ ":" => 17,
836
+ :FROM => 18,
837
+ :BY => 19,
838
+ "@" => 20,
839
+ :DOMLIT => 21,
840
+ :VIA => 22,
841
+ :WITH => 23,
842
+ :ID => 24,
843
+ :FOR => 25,
844
+ ";" => 26,
845
+ "<" => 27,
846
+ ">" => 28,
847
+ "." => 29,
848
+ :QUOTED => 30,
849
+ :TOKEN => 31,
850
+ "/" => 32,
851
+ "=" => 33 }
852
+
853
+ racc_use_result_var = false
854
+
855
+ racc_nt_base = 34
856
+
857
+ Racc_arg = [
858
+ racc_action_table,
859
+ racc_action_check,
860
+ racc_action_default,
861
+ racc_action_pointer,
862
+ racc_goto_table,
863
+ racc_goto_check,
864
+ racc_goto_default,
865
+ racc_goto_pointer,
866
+ racc_nt_base,
867
+ racc_reduce_table,
868
+ racc_token_table,
869
+ racc_shift_n,
870
+ racc_reduce_n,
871
+ racc_use_result_var ]
872
+
873
+ Racc_token_to_s_table = [
874
+ '$end',
875
+ 'error',
876
+ 'DATETIME',
877
+ 'RECEIVED',
878
+ 'MADDRESS',
879
+ 'RETPATH',
880
+ 'KEYWORDS',
881
+ 'ENCRYPTED',
882
+ 'MIMEVERSION',
883
+ 'CTYPE',
884
+ 'CENCODING',
885
+ 'CDISPOSITION',
886
+ 'ADDRESS',
887
+ 'MAILBOX',
888
+ 'DIGIT',
889
+ 'ATOM',
890
+ '","',
891
+ '":"',
892
+ 'FROM',
893
+ 'BY',
894
+ '"@"',
895
+ 'DOMLIT',
896
+ 'VIA',
897
+ 'WITH',
898
+ 'ID',
899
+ 'FOR',
900
+ '";"',
901
+ '"<"',
902
+ '">"',
903
+ '"."',
904
+ 'QUOTED',
905
+ 'TOKEN',
906
+ '"/"',
907
+ '"="',
908
+ '$start',
909
+ 'content',
910
+ 'datetime',
911
+ 'received',
912
+ 'addrs_TOP',
913
+ 'retpath',
914
+ 'keys',
915
+ 'enc',
916
+ 'version',
917
+ 'ctype',
918
+ 'cencode',
919
+ 'cdisp',
920
+ 'addr_TOP',
921
+ 'mbox',
922
+ 'day',
923
+ 'hour',
924
+ 'zone',
925
+ 'from',
926
+ 'by',
927
+ 'via',
928
+ 'with',
929
+ 'id',
930
+ 'for',
931
+ 'received_datetime',
932
+ 'received_domain',
933
+ 'domain',
934
+ 'msgid',
935
+ 'received_addrspec',
936
+ 'routeaddr',
937
+ 'spec',
938
+ 'addrs',
939
+ 'group_bare',
940
+ 'commas',
941
+ 'group',
942
+ 'addr',
943
+ 'mboxes',
944
+ 'addr_phrase',
945
+ 'local_head',
946
+ 'routes',
947
+ 'at_domains',
948
+ 'local',
949
+ 'word',
950
+ 'dots',
951
+ 'domword',
952
+ 'atom',
953
+ 'phrase',
954
+ 'params',
955
+ 'opt_semicolon',
956
+ 'value']
957
+
958
+ Racc_debug_parser = false
959
+
960
+ ##### racc system variables end #####
961
+
962
+ # reduce 0 omitted
963
+
964
+ module_eval <<'.,.,', 'parser.y', 16
965
+ def _reduce_1( val, _values)
966
+ val[1]
967
+ end
968
+ .,.,
969
+
970
+ module_eval <<'.,.,', 'parser.y', 17
971
+ def _reduce_2( val, _values)
972
+ val[1]
973
+ end
974
+ .,.,
975
+
976
+ module_eval <<'.,.,', 'parser.y', 18
977
+ def _reduce_3( val, _values)
978
+ val[1]
979
+ end
980
+ .,.,
981
+
982
+ module_eval <<'.,.,', 'parser.y', 19
983
+ def _reduce_4( val, _values)
984
+ val[1]
985
+ end
986
+ .,.,
987
+
988
+ module_eval <<'.,.,', 'parser.y', 20
989
+ def _reduce_5( val, _values)
990
+ val[1]
991
+ end
992
+ .,.,
993
+
994
+ module_eval <<'.,.,', 'parser.y', 21
995
+ def _reduce_6( val, _values)
996
+ val[1]
997
+ end
998
+ .,.,
999
+
1000
+ module_eval <<'.,.,', 'parser.y', 22
1001
+ def _reduce_7( val, _values)
1002
+ val[1]
1003
+ end
1004
+ .,.,
1005
+
1006
+ module_eval <<'.,.,', 'parser.y', 23
1007
+ def _reduce_8( val, _values)
1008
+ val[1]
1009
+ end
1010
+ .,.,
1011
+
1012
+ module_eval <<'.,.,', 'parser.y', 24
1013
+ def _reduce_9( val, _values)
1014
+ val[1]
1015
+ end
1016
+ .,.,
1017
+
1018
+ module_eval <<'.,.,', 'parser.y', 25
1019
+ def _reduce_10( val, _values)
1020
+ val[1]
1021
+ end
1022
+ .,.,
1023
+
1024
+ module_eval <<'.,.,', 'parser.y', 26
1025
+ def _reduce_11( val, _values)
1026
+ val[1]
1027
+ end
1028
+ .,.,
1029
+
1030
+ module_eval <<'.,.,', 'parser.y', 27
1031
+ def _reduce_12( val, _values)
1032
+ val[1]
1033
+ end
1034
+ .,.,
1035
+
1036
+ module_eval <<'.,.,', 'parser.y', 36
1037
+ def _reduce_13( val, _values)
1038
+ t = Time.gm(val[3].to_i, val[2], val[1].to_i, 0, 0, 0)
1039
+ (t + val[4] - val[5]).localtime
1040
+ end
1041
+ .,.,
1042
+
1043
+ # reduce 14 omitted
1044
+
1045
+ # reduce 15 omitted
1046
+
1047
+ module_eval <<'.,.,', 'parser.y', 45
1048
+ def _reduce_16( val, _values)
1049
+ (val[0].to_i * 60 * 60) +
1050
+ (val[2].to_i * 60)
1051
+ end
1052
+ .,.,
1053
+
1054
+ module_eval <<'.,.,', 'parser.y', 51
1055
+ def _reduce_17( val, _values)
1056
+ (val[0].to_i * 60 * 60) +
1057
+ (val[2].to_i * 60) +
1058
+ (val[4].to_i)
1059
+ end
1060
+ .,.,
1061
+
1062
+ module_eval <<'.,.,', 'parser.y', 56
1063
+ def _reduce_18( val, _values)
1064
+ timezone_string_to_unixtime(val[0])
1065
+ end
1066
+ .,.,
1067
+
1068
+ module_eval <<'.,.,', 'parser.y', 61
1069
+ def _reduce_19( val, _values)
1070
+ val
1071
+ end
1072
+ .,.,
1073
+
1074
+ # reduce 20 omitted
1075
+
1076
+ module_eval <<'.,.,', 'parser.y', 67
1077
+ def _reduce_21( val, _values)
1078
+ val[1]
1079
+ end
1080
+ .,.,
1081
+
1082
+ # reduce 22 omitted
1083
+
1084
+ module_eval <<'.,.,', 'parser.y', 73
1085
+ def _reduce_23( val, _values)
1086
+ val[1]
1087
+ end
1088
+ .,.,
1089
+
1090
+ module_eval <<'.,.,', 'parser.y', 79
1091
+ def _reduce_24( val, _values)
1092
+ join_domain(val[0])
1093
+ end
1094
+ .,.,
1095
+
1096
+ module_eval <<'.,.,', 'parser.y', 83
1097
+ def _reduce_25( val, _values)
1098
+ join_domain(val[2])
1099
+ end
1100
+ .,.,
1101
+
1102
+ module_eval <<'.,.,', 'parser.y', 87
1103
+ def _reduce_26( val, _values)
1104
+ join_domain(val[0])
1105
+ end
1106
+ .,.,
1107
+
1108
+ # reduce 27 omitted
1109
+
1110
+ module_eval <<'.,.,', 'parser.y', 93
1111
+ def _reduce_28( val, _values)
1112
+ val[1]
1113
+ end
1114
+ .,.,
1115
+
1116
+ module_eval <<'.,.,', 'parser.y', 98
1117
+ def _reduce_29( val, _values)
1118
+ []
1119
+ end
1120
+ .,.,
1121
+
1122
+ module_eval <<'.,.,', 'parser.y', 103
1123
+ def _reduce_30( val, _values)
1124
+ val[0].push val[2]
1125
+ val[0]
1126
+ end
1127
+ .,.,
1128
+
1129
+ # reduce 31 omitted
1130
+
1131
+ module_eval <<'.,.,', 'parser.y', 109
1132
+ def _reduce_32( val, _values)
1133
+ val[1]
1134
+ end
1135
+ .,.,
1136
+
1137
+ module_eval <<'.,.,', 'parser.y', 113
1138
+ def _reduce_33( val, _values)
1139
+ val[1]
1140
+ end
1141
+ .,.,
1142
+
1143
+ # reduce 34 omitted
1144
+
1145
+ module_eval <<'.,.,', 'parser.y', 119
1146
+ def _reduce_35( val, _values)
1147
+ val[1]
1148
+ end
1149
+ .,.,
1150
+
1151
+ module_eval <<'.,.,', 'parser.y', 125
1152
+ def _reduce_36( val, _values)
1153
+ val[0].spec
1154
+ end
1155
+ .,.,
1156
+
1157
+ module_eval <<'.,.,', 'parser.y', 129
1158
+ def _reduce_37( val, _values)
1159
+ val[0].spec
1160
+ end
1161
+ .,.,
1162
+
1163
+ # reduce 38 omitted
1164
+
1165
+ module_eval <<'.,.,', 'parser.y', 136
1166
+ def _reduce_39( val, _values)
1167
+ val[1]
1168
+ end
1169
+ .,.,
1170
+
1171
+ # reduce 40 omitted
1172
+
1173
+ # reduce 41 omitted
1174
+
1175
+ # reduce 42 omitted
1176
+
1177
+ # reduce 43 omitted
1178
+
1179
+ # reduce 44 omitted
1180
+
1181
+ # reduce 45 omitted
1182
+
1183
+ # reduce 46 omitted
1184
+
1185
+ module_eval <<'.,.,', 'parser.y', 146
1186
+ def _reduce_47( val, _values)
1187
+ [ Address.new(nil, nil) ]
1188
+ end
1189
+ .,.,
1190
+
1191
+ module_eval <<'.,.,', 'parser.y', 148
1192
+ def _reduce_48( val, _values)
1193
+ val
1194
+ end
1195
+ .,.,
1196
+
1197
+ module_eval <<'.,.,', 'parser.y', 149
1198
+ def _reduce_49( val, _values)
1199
+ val[0].push val[2]; val[0]
1200
+ end
1201
+ .,.,
1202
+
1203
+ # reduce 50 omitted
1204
+
1205
+ # reduce 51 omitted
1206
+
1207
+ module_eval <<'.,.,', 'parser.y', 158
1208
+ def _reduce_52( val, _values)
1209
+ val
1210
+ end
1211
+ .,.,
1212
+
1213
+ module_eval <<'.,.,', 'parser.y', 163
1214
+ def _reduce_53( val, _values)
1215
+ val[0].push val[2]
1216
+ val[0]
1217
+ end
1218
+ .,.,
1219
+
1220
+ # reduce 54 omitted
1221
+
1222
+ # reduce 55 omitted
1223
+
1224
+ module_eval <<'.,.,', 'parser.y', 171
1225
+ def _reduce_56( val, _values)
1226
+ val[1].phrase = Decoder.decode(val[0])
1227
+ val[1]
1228
+ end
1229
+ .,.,
1230
+
1231
+ # reduce 57 omitted
1232
+
1233
+ module_eval <<'.,.,', 'parser.y', 178
1234
+ def _reduce_58( val, _values)
1235
+ AddressGroup.new(val[0], val[2])
1236
+ end
1237
+ .,.,
1238
+
1239
+ module_eval <<'.,.,', 'parser.y', 178
1240
+ def _reduce_59( val, _values)
1241
+ AddressGroup.new(val[0], [])
1242
+ end
1243
+ .,.,
1244
+
1245
+ module_eval <<'.,.,', 'parser.y', 181
1246
+ def _reduce_60( val, _values)
1247
+ val[0].join('.')
1248
+ end
1249
+ .,.,
1250
+
1251
+ module_eval <<'.,.,', 'parser.y', 182
1252
+ def _reduce_61( val, _values)
1253
+ val[0] << ' ' << val[1].join('.')
1254
+ end
1255
+ .,.,
1256
+
1257
+ module_eval <<'.,.,', 'parser.y', 189
1258
+ def _reduce_62( val, _values)
1259
+ val[2].routes.replace val[1]
1260
+ val[2]
1261
+ end
1262
+ .,.,
1263
+
1264
+ module_eval <<'.,.,', 'parser.y', 193
1265
+ def _reduce_63( val, _values)
1266
+ val[1]
1267
+ end
1268
+ .,.,
1269
+
1270
+ # reduce 64 omitted
1271
+
1272
+ module_eval <<'.,.,', 'parser.y', 196
1273
+ def _reduce_65( val, _values)
1274
+ [ val[1].join('.') ]
1275
+ end
1276
+ .,.,
1277
+
1278
+ module_eval <<'.,.,', 'parser.y', 197
1279
+ def _reduce_66( val, _values)
1280
+ val[0].push val[3].join('.'); val[0]
1281
+ end
1282
+ .,.,
1283
+
1284
+ module_eval <<'.,.,', 'parser.y', 199
1285
+ def _reduce_67( val, _values)
1286
+ Address.new( val[0], val[2] )
1287
+ end
1288
+ .,.,
1289
+
1290
+ module_eval <<'.,.,', 'parser.y', 200
1291
+ def _reduce_68( val, _values)
1292
+ Address.new( val[0], nil )
1293
+ end
1294
+ .,.,
1295
+
1296
+ # reduce 69 omitted
1297
+
1298
+ module_eval <<'.,.,', 'parser.y', 203
1299
+ def _reduce_70( val, _values)
1300
+ val[0].push ''; val[0]
1301
+ end
1302
+ .,.,
1303
+
1304
+ module_eval <<'.,.,', 'parser.y', 206
1305
+ def _reduce_71( val, _values)
1306
+ val
1307
+ end
1308
+ .,.,
1309
+
1310
+ module_eval <<'.,.,', 'parser.y', 215
1311
+ def _reduce_72( val, _values)
1312
+ val[1].times do
1313
+ val[0].push ''
1314
+ end
1315
+ val[0].push val[2]
1316
+ val[0]
1317
+ end
1318
+ .,.,
1319
+
1320
+ module_eval <<'.,.,', 'parser.y', 217
1321
+ def _reduce_73( val, _values)
1322
+ val
1323
+ end
1324
+ .,.,
1325
+
1326
+ module_eval <<'.,.,', 'parser.y', 226
1327
+ def _reduce_74( val, _values)
1328
+ val[1].times do
1329
+ val[0].push ''
1330
+ end
1331
+ val[0].push val[2]
1332
+ val[0]
1333
+ end
1334
+ .,.,
1335
+
1336
+ module_eval <<'.,.,', 'parser.y', 227
1337
+ def _reduce_75( val, _values)
1338
+ 0
1339
+ end
1340
+ .,.,
1341
+
1342
+ module_eval <<'.,.,', 'parser.y', 228
1343
+ def _reduce_76( val, _values)
1344
+ 1
1345
+ end
1346
+ .,.,
1347
+
1348
+ # reduce 77 omitted
1349
+
1350
+ # reduce 78 omitted
1351
+
1352
+ # reduce 79 omitted
1353
+
1354
+ # reduce 80 omitted
1355
+
1356
+ # reduce 81 omitted
1357
+
1358
+ # reduce 82 omitted
1359
+
1360
+ # reduce 83 omitted
1361
+
1362
+ # reduce 84 omitted
1363
+
1364
+ module_eval <<'.,.,', 'parser.y', 246
1365
+ def _reduce_85( val, _values)
1366
+ val[1] = val[1].spec
1367
+ val.join('')
1368
+ end
1369
+ .,.,
1370
+
1371
+ module_eval <<'.,.,', 'parser.y', 247
1372
+ def _reduce_86( val, _values)
1373
+ val
1374
+ end
1375
+ .,.,
1376
+
1377
+ module_eval <<'.,.,', 'parser.y', 248
1378
+ def _reduce_87( val, _values)
1379
+ val[0].push val[2]; val[0]
1380
+ end
1381
+ .,.,
1382
+
1383
+ # reduce 88 omitted
1384
+
1385
+ module_eval <<'.,.,', 'parser.y', 251
1386
+ def _reduce_89( val, _values)
1387
+ val[0] << ' ' << val[1]
1388
+ end
1389
+ .,.,
1390
+
1391
+ module_eval <<'.,.,', 'parser.y', 258
1392
+ def _reduce_90( val, _values)
1393
+ val.push nil
1394
+ val
1395
+ end
1396
+ .,.,
1397
+
1398
+ module_eval <<'.,.,', 'parser.y', 262
1399
+ def _reduce_91( val, _values)
1400
+ val
1401
+ end
1402
+ .,.,
1403
+
1404
+ module_eval <<'.,.,', 'parser.y', 267
1405
+ def _reduce_92( val, _values)
1406
+ [ val[0].to_i, val[2].to_i ]
1407
+ end
1408
+ .,.,
1409
+
1410
+ module_eval <<'.,.,', 'parser.y', 272
1411
+ def _reduce_93( val, _values)
1412
+ [ val[0].downcase, val[2].downcase, decode_params(val[3]) ]
1413
+ end
1414
+ .,.,
1415
+
1416
+ module_eval <<'.,.,', 'parser.y', 276
1417
+ def _reduce_94( val, _values)
1418
+ [ val[0].downcase, nil, decode_params(val[1]) ]
1419
+ end
1420
+ .,.,
1421
+
1422
+ module_eval <<'.,.,', 'parser.y', 281
1423
+ def _reduce_95( val, _values)
1424
+ {}
1425
+ end
1426
+ .,.,
1427
+
1428
+ module_eval <<'.,.,', 'parser.y', 286
1429
+ def _reduce_96( val, _values)
1430
+ val[0][ val[2].downcase ] = val[4]
1431
+ val[0]
1432
+ end
1433
+ .,.,
1434
+
1435
+ # reduce 97 omitted
1436
+
1437
+ # reduce 98 omitted
1438
+
1439
+ module_eval <<'.,.,', 'parser.y', 294
1440
+ def _reduce_99( val, _values)
1441
+ val[0].downcase
1442
+ end
1443
+ .,.,
1444
+
1445
+ module_eval <<'.,.,', 'parser.y', 299
1446
+ def _reduce_100( val, _values)
1447
+ [ val[0].downcase, decode_params(val[1]) ]
1448
+ end
1449
+ .,.,
1450
+
1451
+ # reduce 101 omitted
1452
+
1453
+ # reduce 102 omitted
1454
+
1455
+ # reduce 103 omitted
1456
+
1457
+ # reduce 104 omitted
1458
+
1459
+ # reduce 105 omitted
1460
+
1461
+ # reduce 106 omitted
1462
+
1463
+ # reduce 107 omitted
1464
+
1465
+ # reduce 108 omitted
1466
+
1467
+ # reduce 109 omitted
1468
+
1469
+ def _reduce_none( val, _values)
1470
+ val[0]
1471
+ end
1472
+
1473
+ end # class Parser
1474
+
1475
+ end # module TMail