refe 0.8.0.2 → 0.8.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1424) hide show
  1. data/ChangeLog.gems +14 -0
  2. data/data/refe/class_document/-open-s-s-l%3a%3a-cipher%3a%3a-cipher +4 -2
  3. data/data/refe/class_document/-re-fe +3 -0
  4. data/data/refe/class_document/-struct%3a%3a-x-x-x +0 -0
  5. data/data/refe/class_document_comp +1 -0
  6. data/data/refe/function_source/-init/-array +1 -1
  7. data/data/refe/function_source/-init/-bignum +1 -1
  8. data/data/refe/function_source/-init/-binding +1 -1
  9. data/data/refe/function_source/-init/-file +3 -1
  10. data/data/refe/function_source/-init/-g-c +2 -2
  11. data/data/refe/function_source/-init/-i-o +7 -8
  12. data/data/refe/function_source/-init/-numeric +1 -1
  13. data/data/refe/function_source/-init/-object +4 -4
  14. data/data/refe/function_source/-init/-proc +3 -3
  15. data/data/refe/function_source/-init/-regexp +1 -1
  16. data/data/refe/function_source/-init/-thread +2 -2
  17. data/data/refe/function_source/-init/eval +3 -3
  18. data/data/refe/function_source/-init/heap +1 -1
  19. data/data/refe/function_source/-init/load +4 -4
  20. data/data/refe/function_source/-init/process +1 -1
  21. data/data/refe/function_source/-init/stack +1 -1
  22. data/data/refe/function_source/-init/sym +1 -1
  23. data/data/refe/function_source/add/final +1 -1
  24. data/data/refe/function_source/appendline +1 -1
  25. data/data/refe/function_source/apply2files +3 -2
  26. data/data/refe/function_source/arg/add +1 -1
  27. data/data/refe/function_source/arg/ambiguous +1 -1
  28. data/data/refe/function_source/arg/blk/pass +1 -1
  29. data/data/refe/function_source/arg/concat +1 -1
  30. data/data/refe/function_source/arg/prepend +1 -1
  31. data/data/refe/function_source/argf/binmode +1 -1
  32. data/data/refe/function_source/argf/close/- +1 -1
  33. data/data/refe/function_source/argf/close/m +1 -1
  34. data/data/refe/function_source/argf/closed +1 -1
  35. data/data/refe/function_source/argf/each/byte +1 -1
  36. data/data/refe/function_source/argf/each/line +1 -1
  37. data/data/refe/function_source/argf/eof +1 -1
  38. data/data/refe/function_source/argf/file +1 -1
  39. data/data/refe/function_source/argf/filename +1 -1
  40. data/data/refe/function_source/argf/fileno +1 -1
  41. data/data/refe/function_source/argf/forward +1 -1
  42. data/data/refe/function_source/argf/getc +1 -1
  43. data/data/refe/function_source/argf/getline +1 -1
  44. data/data/refe/function_source/argf/lineno +1 -1
  45. data/data/refe/function_source/argf/read +1 -1
  46. data/data/refe/function_source/argf/readchar +1 -1
  47. data/data/refe/function_source/argf/rewind +1 -1
  48. data/data/refe/function_source/argf/seek/m +1 -1
  49. data/data/refe/function_source/argf/set/lineno +1 -1
  50. data/data/refe/function_source/argf/set/pos +1 -1
  51. data/data/refe/function_source/argf/skip +1 -1
  52. data/data/refe/function_source/argf/tell +1 -1
  53. data/data/refe/function_source/argf/to/io +1 -1
  54. data/data/refe/function_source/argf/to/s +1 -1
  55. data/data/refe/function_source/ary/make/hash +1 -1
  56. data/data/refe/function_source/ary/sort/check +1 -1
  57. data/data/refe/function_source/aryset +1 -1
  58. data/data/refe/function_source/asc/startpos +1 -1
  59. data/data/refe/function_source/assign/- +1 -1
  60. data/data/refe/function_source/assign/in/cond +1 -1
  61. data/data/refe/function_source/assignable +1 -1
  62. data/data/refe/function_source/attrset +1 -1
  63. data/data/refe/function_source/autoload/delete +1 -1
  64. data/data/refe/function_source/autoload/file +1 -1
  65. data/data/refe/function_source/avalue/splat +1 -1
  66. data/data/refe/function_source/avalue/to/svalue +1 -1
  67. data/data/refe/function_source/backtrace +1 -1
  68. data/data/refe/function_source/be/chown +12 -0
  69. data/data/refe/function_source/be/fchown +12 -0
  70. data/data/refe/function_source/bignew/1 +1 -1
  71. data/data/refe/function_source/bigsub +1 -1
  72. data/data/refe/function_source/blk/copy/prev +1 -1
  73. data/data/refe/function_source/blk/dup +1 -1
  74. data/data/refe/function_source/blk/free +1 -1
  75. data/data/refe/function_source/blk/mark +1 -1
  76. data/data/refe/function_source/block/append +1 -1
  77. data/data/refe/function_source/block/orphan +1 -1
  78. data/data/refe/function_source/block/pass +1 -1
  79. data/data/refe/function_source/bm/init/skip +1 -1
  80. data/data/refe/function_source/bm/mark +1 -1
  81. data/data/refe/function_source/bm/search +1 -1
  82. data/data/refe/function_source/bmcall +5 -2
  83. data/data/refe/function_source/boot/defclass +1 -1
  84. data/data/refe/function_source/break/jump +1 -1
  85. data/data/refe/function_source/call/cfunc +1 -1
  86. data/data/refe/function_source/call/end/proc +1 -1
  87. data/data/refe/function_source/call/final +1 -1
  88. data/data/refe/function_source/call/op +1 -1
  89. data/data/refe/function_source/call/trace/func +2 -2
  90. data/data/refe/function_source/catch/i +1 -1
  91. data/data/refe/function_source/catch/timer +1 -1
  92. data/data/refe/function_source/check/autoload/table +1 -1
  93. data/data/refe/function_source/check/gid/switch +1 -1
  94. data/data/refe/function_source/check/int +1 -1
  95. data/data/refe/function_source/check/uid/switch +1 -1
  96. data/data/refe/function_source/check/uint +1 -1
  97. data/data/refe/function_source/check3rdbyte +1 -1
  98. data/data/refe/function_source/chmod/internal +4 -3
  99. data/data/refe/function_source/chown/internal +5 -3
  100. data/data/refe/function_source/class/instance/method/list +1 -1
  101. data/data/refe/function_source/class/prefix +1 -1
  102. data/data/refe/function_source/compile/- +1 -1
  103. data/data/refe/function_source/cond/- +1 -1
  104. data/data/refe/function_source/cond/negative +1 -1
  105. data/data/refe/function_source/cond0 +1 -1
  106. data/data/refe/function_source/const/missing +1 -1
  107. data/data/refe/function_source/conv/to/posix/path +1 -0
  108. data/data/refe/function_source/convert/type +1 -1
  109. data/data/refe/function_source/copy/fds +1 -1
  110. data/data/refe/function_source/cv/i +1 -1
  111. data/data/refe/function_source/cvar/override/check +1 -1
  112. data/data/refe/function_source/deferr/setter +1 -1
  113. data/data/refe/function_source/define/filetest/function +1 -1
  114. data/data/refe/function_source/define/final +1 -1
  115. data/data/refe/function_source/defout/setter +1 -1
  116. data/data/refe/function_source/delete/never +1 -1
  117. data/data/refe/function_source/dispose/string +2 -2
  118. data/data/refe/function_source/dln/find/1 +1 -1
  119. data/data/refe/function_source/dyna/in/block +1 -1
  120. data/data/refe/function_source/dyna/init +1 -1
  121. data/data/refe/function_source/dyna/pop +1 -1
  122. data/data/refe/function_source/dyna/push +1 -1
  123. data/data/refe/function_source/e/option/supplied +1 -1
  124. data/data/refe/function_source/eaccess +1 -1
  125. data/data/refe/function_source/errat/getter +1 -1
  126. data/data/refe/function_source/errat/setter +1 -1
  127. data/data/refe/function_source/errinfo/setter +1 -1
  128. data/data/refe/function_source/euc/startpos +1 -1
  129. data/data/refe/function_source/ev/const/get +1 -1
  130. data/data/refe/function_source/eval/- +1 -1
  131. data/data/refe/function_source/eval/under/- +1 -1
  132. data/data/refe/function_source/eval/under/i +6 -1
  133. data/data/refe/function_source/evstr2dstr +1 -1
  134. data/data/refe/function_source/exec/under +8 -6
  135. data/data/refe/function_source/false/and +1 -1
  136. data/data/refe/function_source/false/or +1 -1
  137. data/data/refe/function_source/false/to/s +1 -1
  138. data/data/refe/function_source/false/xor +1 -1
  139. data/data/refe/function_source/file/expand/path +1 -1
  140. data/data/refe/function_source/file/inspect/join +1 -1
  141. data/data/refe/function_source/file/load/ok +1 -1
  142. data/data/refe/function_source/finalize/list +1 -1
  143. data/data/refe/function_source/finals +1 -1
  144. data/data/refe/function_source/find/bad/fds +1 -1
  145. data/data/refe/function_source/fix/abs +1 -1
  146. data/data/refe/function_source/fix/and +1 -1
  147. data/data/refe/function_source/fix/aref +1 -1
  148. data/data/refe/function_source/fix/cmp +1 -1
  149. data/data/refe/function_source/fix/div +1 -1
  150. data/data/refe/function_source/fix/divmod +1 -1
  151. data/data/refe/function_source/fix/equal +1 -1
  152. data/data/refe/function_source/fix/ge +1 -1
  153. data/data/refe/function_source/fix/gt +1 -1
  154. data/data/refe/function_source/fix/id2name +1 -1
  155. data/data/refe/function_source/fix/le +1 -1
  156. data/data/refe/function_source/fix/lshift +1 -1
  157. data/data/refe/function_source/fix/lt +1 -1
  158. data/data/refe/function_source/fix/minus +1 -1
  159. data/data/refe/function_source/fix/mod +1 -1
  160. data/data/refe/function_source/fix/mul +1 -1
  161. data/data/refe/function_source/fix/or +1 -1
  162. data/data/refe/function_source/fix/plus +1 -1
  163. data/data/refe/function_source/fix/pow +1 -1
  164. data/data/refe/function_source/fix/quo +1 -1
  165. data/data/refe/function_source/fix/rev +1 -1
  166. data/data/refe/function_source/fix/rshift +1 -1
  167. data/data/refe/function_source/fix/size +1 -1
  168. data/data/refe/function_source/fix/to/f +1 -1
  169. data/data/refe/function_source/fix/to/s +1 -1
  170. data/data/refe/function_source/fix/to/sym +1 -1
  171. data/data/refe/function_source/fix/uminus +1 -1
  172. data/data/refe/function_source/fix/xor +1 -1
  173. data/data/refe/function_source/fix/zero/p +1 -1
  174. data/data/refe/function_source/fixdivmod +1 -1
  175. data/data/refe/function_source/fixpos +1 -1
  176. data/data/refe/function_source/flatten +1 -1
  177. data/data/refe/function_source/flo/abs +1 -1
  178. data/data/refe/function_source/flo/ceil +1 -1
  179. data/data/refe/function_source/flo/cmp +1 -1
  180. data/data/refe/function_source/flo/coerce +1 -1
  181. data/data/refe/function_source/flo/div +1 -1
  182. data/data/refe/function_source/flo/divmod +1 -1
  183. data/data/refe/function_source/flo/eq +1 -1
  184. data/data/refe/function_source/flo/eql +1 -1
  185. data/data/refe/function_source/flo/floor +1 -1
  186. data/data/refe/function_source/flo/ge +1 -1
  187. data/data/refe/function_source/flo/gt +1 -1
  188. data/data/refe/function_source/flo/hash +1 -1
  189. data/data/refe/function_source/flo/is/finite/p +1 -1
  190. data/data/refe/function_source/flo/is/infinite/p +1 -1
  191. data/data/refe/function_source/flo/is/nan/p +1 -1
  192. data/data/refe/function_source/flo/le +1 -1
  193. data/data/refe/function_source/flo/lt +1 -1
  194. data/data/refe/function_source/flo/minus +1 -1
  195. data/data/refe/function_source/flo/mod +1 -1
  196. data/data/refe/function_source/flo/mul +1 -1
  197. data/data/refe/function_source/flo/plus +1 -1
  198. data/data/refe/function_source/flo/pow +1 -1
  199. data/data/refe/function_source/flo/round +1 -1
  200. data/data/refe/function_source/flo/to/f +1 -1
  201. data/data/refe/function_source/flo/to/s +1 -1
  202. data/data/refe/function_source/flo/truncate +1 -1
  203. data/data/refe/function_source/flo/uminus +1 -1
  204. data/data/refe/function_source/flo/zero/p +1 -1
  205. data/data/refe/function_source/flodivmod +1 -1
  206. data/data/refe/function_source/flush/before/seek +1 -1
  207. data/data/refe/function_source/flush/register/windows +1 -1
  208. data/data/refe/function_source/fmt/setup +1 -1
  209. data/data/refe/function_source/fpath/check +1 -1
  210. data/data/refe/function_source/fptr/finalize +1 -1
  211. data/data/refe/function_source/frame/dup +1 -1
  212. data/data/refe/function_source/frame/free +1 -1
  213. data/data/refe/function_source/free/unused/heaps +1 -1
  214. data/data/refe/function_source/garbage/collect +1 -1
  215. data/data/refe/function_source/gc/mark/children +0 -2
  216. data/data/refe/function_source/gc/sweep +4 -2
  217. data/data/refe/function_source/generic/ivar/defined +1 -1
  218. data/data/refe/function_source/generic/ivar/get +1 -1
  219. data/data/refe/function_source/generic/ivar/remove +1 -1
  220. data/data/refe/function_source/generic/ivar/set +1 -1
  221. data/data/refe/function_source/get/event/name +1 -1
  222. data/data/refe/function_source/get/inspect/tbl +1 -1
  223. data/data/refe/function_source/get/stat +1 -1
  224. data/data/refe/function_source/getcwdofdrv +1 -1
  225. data/data/refe/function_source/gettable +1 -1
  226. data/data/refe/function_source/givar/i +1 -1
  227. data/data/refe/function_source/givar/mark/i +1 -1
  228. data/data/refe/function_source/global/id +1 -1
  229. data/data/refe/function_source/group/member +1 -1
  230. data/data/refe/function_source/gvar/i +1 -1
  231. data/data/refe/function_source/handle/rescue +1 -1
  232. data/data/refe/function_source/has/drive/letter +1 -1
  233. data/data/refe/function_source/here/document +1 -1
  234. data/data/refe/function_source/heredoc/identifier +1 -1
  235. data/data/refe/function_source/heredoc/restore +1 -1
  236. data/data/refe/function_source/id2ref +1 -1
  237. data/data/refe/function_source/ignorecase/getter +1 -1
  238. data/data/refe/function_source/ignorecase/setter +1 -1
  239. data/data/refe/function_source/include/class/new +1 -1
  240. data/data/refe/function_source/init/regs +1 -1
  241. data/data/refe/function_source/ins/methods/i +1 -1
  242. data/data/refe/function_source/ins/methods/priv/i +1 -1
  243. data/data/refe/function_source/ins/methods/prot/i +1 -1
  244. data/data/refe/function_source/ins/methods/pub/i +1 -1
  245. data/data/refe/function_source/ins/methods/push +1 -1
  246. data/data/refe/function_source/insert/jump/- +1 -1
  247. data/data/refe/function_source/insert/jump/n +1 -1
  248. data/data/refe/function_source/insert/op/- +1 -1
  249. data/data/refe/function_source/insert/op/2 +1 -1
  250. data/data/refe/function_source/inspect/ary +1 -1
  251. data/data/refe/function_source/inspect/call +1 -1
  252. data/data/refe/function_source/inspect/ensure +1 -1
  253. data/data/refe/function_source/inspect/i +1 -1
  254. data/data/refe/function_source/inspect/join +1 -1
  255. data/data/refe/function_source/inspect/obj +1 -1
  256. data/data/refe/function_source/int/chr +1 -1
  257. data/data/refe/function_source/int/dotimes +1 -1
  258. data/data/refe/function_source/int/downto +1 -1
  259. data/data/refe/function_source/int/int/p +1 -1
  260. data/data/refe/function_source/int/succ +1 -1
  261. data/data/refe/function_source/int/to/i +1 -1
  262. data/data/refe/function_source/int/upto +1 -1
  263. data/data/refe/function_source/internal/id +1 -1
  264. data/data/refe/function_source/intersect/fds +1 -1
  265. data/data/refe/function_source/io/alloc +1 -1
  266. data/data/refe/function_source/io/close +1 -1
  267. data/data/refe/function_source/io/cntl +1 -1
  268. data/data/refe/function_source/io/fflush +1 -1
  269. data/data/refe/function_source/io/fread +1 -1
  270. data/data/refe/function_source/io/fwrite +1 -1
  271. data/data/refe/function_source/io/getpartial +1 -1
  272. data/data/refe/function_source/io/new/instance +1 -1
  273. data/data/refe/function_source/io/puts/ary +1 -1
  274. data/data/refe/function_source/io/read +1 -1
  275. data/data/refe/function_source/io/readpartial +1 -1
  276. data/data/refe/function_source/io/reopen +1 -1
  277. data/data/refe/function_source/io/s/foreach +1 -1
  278. data/data/refe/function_source/io/s/read +1 -1
  279. data/data/refe/function_source/io/s/readlines +1 -1
  280. data/data/refe/function_source/io/write +1 -1
  281. data/data/refe/function_source/is/absolute/path +1 -1
  282. data/data/refe/function_source/is/macos/native/path +1 -1
  283. data/data/refe/function_source/is/special/global/name +23 -0
  284. data/data/refe/function_source/ivar/get +1 -1
  285. data/data/refe/function_source/ivar/i +1 -1
  286. data/data/refe/function_source/kcode/getter +1 -1
  287. data/data/refe/function_source/kcode/setter +1 -1
  288. data/data/refe/function_source/last/match/getter +1 -1
  289. data/data/refe/function_source/last/paren/match/getter +1 -1
  290. data/data/refe/function_source/lchmod/internal +4 -3
  291. data/data/refe/function_source/lchown/internal +5 -3
  292. data/data/refe/function_source/lex/get/str +1 -1
  293. data/data/refe/function_source/lex/getline +1 -1
  294. data/data/refe/function_source/lineno/setter +1 -1
  295. data/data/refe/function_source/list/append +1 -1
  296. data/data/refe/function_source/list/concat +1 -1
  297. data/data/refe/function_source/list/i +1 -1
  298. data/data/refe/function_source/literal/concat +1 -1
  299. data/data/refe/function_source/literal/node +1 -1
  300. data/data/refe/function_source/load/failed +1 -1
  301. data/data/refe/function_source/load/wait +6 -6
  302. data/data/refe/function_source/local/append +1 -1
  303. data/data/refe/function_source/local/cnt +1 -1
  304. data/data/refe/function_source/local/id +1 -1
  305. data/data/refe/function_source/local/pop +3 -3
  306. data/data/refe/function_source/local/push +1 -1
  307. data/data/refe/function_source/local/tbl +1 -1
  308. data/data/refe/function_source/logop +1 -1
  309. data/data/refe/function_source/main/to/s +1 -1
  310. data/data/refe/function_source/make/backtrace +1 -1
  311. data/data/refe/function_source/mark/frame/adj +1 -1
  312. data/data/refe/function_source/mark/hash +1 -1
  313. data/data/refe/function_source/mark/tbl +1 -1
  314. data/data/refe/function_source/massign +1 -1
  315. data/data/refe/function_source/match/aref +1 -1
  316. data/data/refe/function_source/match/array +1 -1
  317. data/data/refe/function_source/match/begin +1 -1
  318. data/data/refe/function_source/match/captures +1 -1
  319. data/data/refe/function_source/match/end +1 -1
  320. data/data/refe/function_source/match/entry +1 -1
  321. data/data/refe/function_source/match/fds +1 -1
  322. data/data/refe/function_source/match/gen +1 -1
  323. data/data/refe/function_source/match/getter +1 -1
  324. data/data/refe/function_source/match/init/copy +1 -1
  325. data/data/refe/function_source/match/offset +1 -1
  326. data/data/refe/function_source/match/select +1 -1
  327. data/data/refe/function_source/match/setter +1 -1
  328. data/data/refe/function_source/match/size +1 -1
  329. data/data/refe/function_source/match/string +1 -1
  330. data/data/refe/function_source/match/to/a +1 -1
  331. data/data/refe/function_source/match/to/s +1 -1
  332. data/data/refe/function_source/match/values/at +1 -1
  333. data/data/refe/function_source/memcmp/translate +1 -1
  334. data/data/refe/function_source/method/arity +1 -1
  335. data/data/refe/function_source/method/call +1 -1
  336. data/data/refe/function_source/method/clone +1 -1
  337. data/data/refe/function_source/method/entry +1 -1
  338. data/data/refe/function_source/method/eq +1 -1
  339. data/data/refe/function_source/method/inspect +1 -1
  340. data/data/refe/function_source/method/missing +1 -1
  341. data/data/refe/function_source/method/proc +1 -1
  342. data/data/refe/function_source/method/unbind +1 -1
  343. data/data/refe/function_source/mnew +1 -1
  344. data/data/refe/function_source/mod/av/set +1 -1
  345. data/data/refe/function_source/module/setup +1 -1
  346. data/data/refe/function_source/mproc +1 -1
  347. data/data/refe/function_source/must/respond/to +1 -1
  348. data/data/refe/function_source/negate/lit +1 -1
  349. data/data/refe/function_source/new/call +1 -1
  350. data/data/refe/function_source/new/evstr +1 -1
  351. data/data/refe/function_source/new/fcall +1 -1
  352. data/data/refe/function_source/new/size +1 -1
  353. data/data/refe/function_source/new/super +1 -1
  354. data/data/refe/function_source/new/yield +1 -1
  355. data/data/refe/function_source/newline/node +1 -1
  356. data/data/refe/function_source/newtok +1 -1
  357. data/data/refe/function_source/next/argv +1 -1
  358. data/data/refe/function_source/nextc +1 -1
  359. data/data/refe/function_source/nil/inspect +1 -1
  360. data/data/refe/function_source/nil/plus +1 -1
  361. data/data/refe/function_source/nil/to/a +1 -1
  362. data/data/refe/function_source/nil/to/f +1 -1
  363. data/data/refe/function_source/nil/to/i +1 -1
  364. data/data/refe/function_source/nil/to/s +1 -1
  365. data/data/refe/function_source/no/blockarg +1 -1
  366. data/data/refe/function_source/node/assign +1 -1
  367. data/data/refe/function_source/nodeline +1 -1
  368. data/data/refe/function_source/nodetype +1 -1
  369. data/data/refe/function_source/num/abs +1 -1
  370. data/data/refe/function_source/num/ceil +1 -1
  371. data/data/refe/function_source/num/cmp +1 -1
  372. data/data/refe/function_source/num/div +1 -1
  373. data/data/refe/function_source/num/divmod +1 -1
  374. data/data/refe/function_source/num/eql +1 -1
  375. data/data/refe/function_source/num/equal +1 -1
  376. data/data/refe/function_source/num/floor +1 -1
  377. data/data/refe/function_source/num/init/copy +1 -1
  378. data/data/refe/function_source/num/int/p +1 -1
  379. data/data/refe/function_source/num/modulo +1 -1
  380. data/data/refe/function_source/num/nonzero/p +1 -1
  381. data/data/refe/function_source/num/quo +1 -1
  382. data/data/refe/function_source/num/remainder +1 -1
  383. data/data/refe/function_source/num/round +1 -1
  384. data/data/refe/function_source/num/step +1 -1
  385. data/data/refe/function_source/num/to/int +1 -1
  386. data/data/refe/function_source/num/truncate +1 -1
  387. data/data/refe/function_source/num/uminus +1 -1
  388. data/data/refe/function_source/num/uplus +1 -1
  389. data/data/refe/function_source/num/zero/p +1 -1
  390. data/data/refe/function_source/numcmp +1 -1
  391. data/data/refe/function_source/numhash +1 -1
  392. data/data/refe/function_source/obj/free +0 -2
  393. data/data/refe/function_source/obj/respond/to +17 -0
  394. data/data/refe/function_source/opt/i/get +1 -1
  395. data/data/refe/function_source/opt/i/set +1 -1
  396. data/data/refe/function_source/original/module +1 -1
  397. data/data/refe/function_source/os/each/obj +1 -1
  398. data/data/refe/function_source/os/live/obj +1 -1
  399. data/data/refe/function_source/os/obj/of +1 -1
  400. data/data/refe/function_source/p/gid/change/privilege +1 -1
  401. data/data/refe/function_source/p/gid/exchange +1 -1
  402. data/data/refe/function_source/p/gid/exchangeable +1 -1
  403. data/data/refe/function_source/p/gid/grant/privilege +1 -1
  404. data/data/refe/function_source/p/gid/have/saved/id +1 -1
  405. data/data/refe/function_source/p/gid/sw/ensure +1 -1
  406. data/data/refe/function_source/p/gid/switch +1 -1
  407. data/data/refe/function_source/p/sys/issetugid +1 -1
  408. data/data/refe/function_source/p/sys/setegid +1 -1
  409. data/data/refe/function_source/p/sys/seteuid +1 -1
  410. data/data/refe/function_source/p/sys/setgid +1 -1
  411. data/data/refe/function_source/p/sys/setregid +1 -1
  412. data/data/refe/function_source/p/sys/setresgid +1 -1
  413. data/data/refe/function_source/p/sys/setresuid +1 -1
  414. data/data/refe/function_source/p/sys/setreuid +1 -1
  415. data/data/refe/function_source/p/sys/setrgid +1 -1
  416. data/data/refe/function_source/p/sys/setruid +1 -1
  417. data/data/refe/function_source/p/sys/setuid +1 -1
  418. data/data/refe/function_source/p/uid/change/privilege +1 -1
  419. data/data/refe/function_source/p/uid/exchange +1 -1
  420. data/data/refe/function_source/p/uid/exchangeable +1 -1
  421. data/data/refe/function_source/p/uid/grant/privilege +1 -1
  422. data/data/refe/function_source/p/uid/have/saved/id +1 -1
  423. data/data/refe/function_source/p/uid/sw/ensure +1 -1
  424. data/data/refe/function_source/p/uid/switch +1 -1
  425. data/data/refe/function_source/parse/string +1 -1
  426. data/data/refe/function_source/parser/warn +1 -1
  427. data/data/refe/function_source/parser/warning +1 -1
  428. data/data/refe/function_source/path/check/0 +1 -1
  429. data/data/refe/function_source/pipe/add/fptr +1 -1
  430. data/data/refe/function_source/pipe/atexit +1 -1
  431. data/data/refe/function_source/pipe/del/fptr +1 -1
  432. data/data/refe/function_source/pipe/finalize +1 -1
  433. data/data/refe/function_source/pipe/open +1 -1
  434. data/data/refe/function_source/postmatch/getter +1 -1
  435. data/data/refe/function_source/prematch/getter +1 -1
  436. data/data/refe/function_source/prep/path +1 -1
  437. data/data/refe/function_source/prep/stdio +1 -1
  438. data/data/refe/function_source/proc/alloc +1 -1
  439. data/data/refe/function_source/proc/arity +1 -1
  440. data/data/refe/function_source/proc/binding +1 -1
  441. data/data/refe/function_source/proc/call +1 -1
  442. data/data/refe/function_source/proc/clone +1 -1
  443. data/data/refe/function_source/proc/dup +1 -1
  444. data/data/refe/function_source/proc/eq +1 -1
  445. data/data/refe/function_source/proc/get/safe/level +1 -1
  446. data/data/refe/function_source/proc/getegid +1 -1
  447. data/data/refe/function_source/proc/geteuid +1 -1
  448. data/data/refe/function_source/proc/getgid +1 -1
  449. data/data/refe/function_source/proc/getgroups +1 -1
  450. data/data/refe/function_source/proc/getmaxgroups +1 -1
  451. data/data/refe/function_source/proc/getpgid +1 -1
  452. data/data/refe/function_source/proc/getpgrp +1 -1
  453. data/data/refe/function_source/proc/getpriority +1 -1
  454. data/data/refe/function_source/proc/getuid +1 -1
  455. data/data/refe/function_source/proc/initgroups +1 -1
  456. data/data/refe/function_source/proc/invoke +1 -1
  457. data/data/refe/function_source/proc/jump/error +1 -1
  458. data/data/refe/function_source/proc/lambda +1 -1
  459. data/data/refe/function_source/proc/s/new +1 -1
  460. data/data/refe/function_source/proc/save/safe/level +1 -1
  461. data/data/refe/function_source/proc/set/safe/level +1 -1
  462. data/data/refe/function_source/proc/setegid +1 -1
  463. data/data/refe/function_source/proc/seteuid +1 -1
  464. data/data/refe/function_source/proc/setgid +1 -1
  465. data/data/refe/function_source/proc/setgroups +1 -1
  466. data/data/refe/function_source/proc/setmaxgroups +1 -1
  467. data/data/refe/function_source/proc/setpgid +1 -1
  468. data/data/refe/function_source/proc/setpgrp +1 -1
  469. data/data/refe/function_source/proc/setpriority +1 -1
  470. data/data/refe/function_source/proc/setsid +1 -1
  471. data/data/refe/function_source/proc/setuid +1 -1
  472. data/data/refe/function_source/proc/to/s +1 -1
  473. data/data/refe/function_source/proc/to/self +1 -1
  474. data/data/refe/function_source/pushback +1 -1
  475. data/data/refe/function_source/r/object0 +1 -1
  476. data/data/refe/function_source/range/op +1 -1
  477. data/data/refe/function_source/rb/-array +1 -1
  478. data/data/refe/function_source/rb/-float +1 -1
  479. data/data/refe/function_source/rb/-integer +1 -1
  480. data/data/refe/function_source/rb/-string +1 -1
  481. data/data/refe/function_source/rb/alias/variable +1 -1
  482. data/data/refe/function_source/rb/any/to/a +1 -1
  483. data/data/refe/function_source/rb/any/to/s +1 -1
  484. data/data/refe/function_source/rb/apply +1 -1
  485. data/data/refe/function_source/rb/ary/and +1 -1
  486. data/data/refe/function_source/rb/ary/aset +1 -1
  487. data/data/refe/function_source/rb/ary/assoc +1 -1
  488. data/data/refe/function_source/rb/ary/clear +1 -1
  489. data/data/refe/function_source/rb/ary/cmp +1 -1
  490. data/data/refe/function_source/rb/ary/collect/- +1 -1
  491. data/data/refe/function_source/rb/ary/collect/bang +1 -1
  492. data/data/refe/function_source/rb/ary/compact/- +1 -1
  493. data/data/refe/function_source/rb/ary/compact/bang +1 -1
  494. data/data/refe/function_source/rb/ary/concat +1 -1
  495. data/data/refe/function_source/rb/ary/delete/- +1 -1
  496. data/data/refe/function_source/rb/ary/delete/at/- +1 -1
  497. data/data/refe/function_source/rb/ary/delete/at/m +1 -1
  498. data/data/refe/function_source/rb/ary/delete/if +1 -1
  499. data/data/refe/function_source/rb/ary/diff +3 -2
  500. data/data/refe/function_source/rb/ary/dup +1 -1
  501. data/data/refe/function_source/rb/ary/each/- +1 -1
  502. data/data/refe/function_source/rb/ary/each/index +1 -1
  503. data/data/refe/function_source/rb/ary/empty/p +1 -1
  504. data/data/refe/function_source/rb/ary/eql +1 -1
  505. data/data/refe/function_source/rb/ary/equal +1 -1
  506. data/data/refe/function_source/rb/ary/fetch +1 -1
  507. data/data/refe/function_source/rb/ary/fill +2 -4
  508. data/data/refe/function_source/rb/ary/first +1 -1
  509. data/data/refe/function_source/rb/ary/flatten/- +1 -1
  510. data/data/refe/function_source/rb/ary/flatten/bang +1 -1
  511. data/data/refe/function_source/rb/ary/hash +1 -1
  512. data/data/refe/function_source/rb/ary/includes +1 -1
  513. data/data/refe/function_source/rb/ary/index +1 -1
  514. data/data/refe/function_source/rb/ary/indexes +1 -1
  515. data/data/refe/function_source/rb/ary/insert +3 -4
  516. data/data/refe/function_source/rb/ary/inspect +1 -1
  517. data/data/refe/function_source/rb/ary/join/- +1 -1
  518. data/data/refe/function_source/rb/ary/join/m +1 -1
  519. data/data/refe/function_source/rb/ary/last +1 -1
  520. data/data/refe/function_source/rb/ary/length +1 -1
  521. data/data/refe/function_source/rb/ary/nitems +1 -1
  522. data/data/refe/function_source/rb/ary/or +1 -1
  523. data/data/refe/function_source/rb/ary/plus +1 -1
  524. data/data/refe/function_source/rb/ary/rassoc +1 -1
  525. data/data/refe/function_source/rb/ary/reject/- +1 -1
  526. data/data/refe/function_source/rb/ary/reject/bang +1 -1
  527. data/data/refe/function_source/rb/ary/replace +1 -1
  528. data/data/refe/function_source/rb/ary/reverse/- +1 -1
  529. data/data/refe/function_source/rb/ary/reverse/bang +1 -1
  530. data/data/refe/function_source/rb/ary/reverse/each +1 -1
  531. data/data/refe/function_source/rb/ary/reverse/m +1 -1
  532. data/data/refe/function_source/rb/ary/rindex +1 -1
  533. data/data/refe/function_source/rb/ary/select +1 -1
  534. data/data/refe/function_source/rb/ary/slice/bang +1 -1
  535. data/data/refe/function_source/rb/ary/sort/- +1 -1
  536. data/data/refe/function_source/rb/ary/sort/bang +1 -1
  537. data/data/refe/function_source/rb/ary/splice +1 -1
  538. data/data/refe/function_source/rb/ary/times +1 -1
  539. data/data/refe/function_source/rb/ary/to/a +1 -1
  540. data/data/refe/function_source/rb/ary/to/ary/- +1 -1
  541. data/data/refe/function_source/rb/ary/to/ary/m +1 -1
  542. data/data/refe/function_source/rb/ary/to/s +1 -1
  543. data/data/refe/function_source/rb/ary/transpose +1 -1
  544. data/data/refe/function_source/rb/ary/uniq/- +1 -1
  545. data/data/refe/function_source/rb/ary/uniq/bang +1 -1
  546. data/data/refe/function_source/rb/ary/values/at +1 -1
  547. data/data/refe/function_source/rb/ary/zip +1 -1
  548. data/data/refe/function_source/rb/attr/get +1 -1
  549. data/data/refe/function_source/rb/autoload/- +1 -1
  550. data/data/refe/function_source/rb/autoload/load +4 -4
  551. data/data/refe/function_source/rb/autoload/p +1 -1
  552. data/data/refe/function_source/rb/backref/error +1 -1
  553. data/data/refe/function_source/rb/backref/get +1 -1
  554. data/data/refe/function_source/rb/backref/set +1 -1
  555. data/data/refe/function_source/rb/backtrace +1 -1
  556. data/data/refe/function_source/rb/big/abs +1 -1
  557. data/data/refe/function_source/rb/big/aref +1 -1
  558. data/data/refe/function_source/rb/big/coerce +1 -1
  559. data/data/refe/function_source/rb/big/hash +1 -1
  560. data/data/refe/function_source/rb/big/rand +1 -1
  561. data/data/refe/function_source/rb/big/rshift +2 -1
  562. data/data/refe/function_source/rb/big/size +1 -1
  563. data/data/refe/function_source/rb/block/given/p +1 -1
  564. data/data/refe/function_source/rb/block/proc +1 -1
  565. data/data/refe/function_source/rb/call/- +4 -4
  566. data/data/refe/function_source/rb/call/super +5 -2
  567. data/data/refe/function_source/rb/call0 +1 -1
  568. data/data/refe/function_source/rb/callcc +1 -1
  569. data/data/refe/function_source/rb/catch +1 -1
  570. data/data/refe/function_source/rb/check/convert/type +1 -1
  571. data/data/refe/function_source/rb/check/inheritable +1 -1
  572. data/data/refe/function_source/rb/class/allocate/instance +1 -1
  573. data/data/refe/function_source/rb/class/inherited/- +1 -1
  574. data/data/refe/function_source/rb/class/inherited/p +1 -1
  575. data/data/refe/function_source/rb/class/init/copy +1 -1
  576. data/data/refe/function_source/rb/class/initialize +1 -1
  577. data/data/refe/function_source/rb/class/instance/methods +1 -1
  578. data/data/refe/function_source/rb/class/new/instance +1 -1
  579. data/data/refe/function_source/rb/class/private/instance/methods +1 -1
  580. data/data/refe/function_source/rb/class/protected/instance/methods +1 -1
  581. data/data/refe/function_source/rb/class/public/instance/methods +1 -1
  582. data/data/refe/function_source/rb/class/s/alloc +1 -1
  583. data/data/refe/function_source/rb/class/superclass +1 -1
  584. data/data/refe/function_source/rb/compile/cstr +1 -1
  585. data/data/refe/function_source/rb/compile/file +1 -1
  586. data/data/refe/function_source/rb/compile/string +1 -1
  587. data/data/refe/function_source/rb/const/defined/- +1 -1
  588. data/data/refe/function_source/rb/const/defined/0 +1 -1
  589. data/data/refe/function_source/rb/const/defined/at +1 -1
  590. data/data/refe/function_source/rb/const/defined/from +1 -1
  591. data/data/refe/function_source/rb/const/get/- +1 -1
  592. data/data/refe/function_source/rb/const/get/0 +2 -2
  593. data/data/refe/function_source/rb/const/get/at +1 -1
  594. data/data/refe/function_source/rb/const/get/from +1 -1
  595. data/data/refe/function_source/rb/const/list +1 -1
  596. data/data/refe/function_source/rb/const/set +1 -1
  597. data/data/refe/function_source/rb/cont/call +1 -1
  598. data/data/refe/function_source/rb/convert/type +1 -1
  599. data/data/refe/function_source/rb/copy/generic/ivar +1 -1
  600. data/data/refe/function_source/rb/cstr/to/dbl +1 -1
  601. data/data/refe/function_source/rb/cv/get +1 -1
  602. data/data/refe/function_source/rb/cv/set +1 -1
  603. data/data/refe/function_source/rb/cvar/defined +1 -1
  604. data/data/refe/function_source/rb/cvar/get +1 -1
  605. data/data/refe/function_source/rb/cvar/set +1 -1
  606. data/data/refe/function_source/rb/dbl/cmp +1 -1
  607. data/data/refe/function_source/rb/define/alias +1 -1
  608. data/data/refe/function_source/rb/define/attr +1 -1
  609. data/data/refe/function_source/rb/define/class/- +1 -1
  610. data/data/refe/function_source/rb/define/class/id +1 -1
  611. data/data/refe/function_source/rb/define/class/under +1 -1
  612. data/data/refe/function_source/rb/define/class/variable +1 -1
  613. data/data/refe/function_source/rb/define/const +1 -1
  614. data/data/refe/function_source/rb/define/global/const +1 -1
  615. data/data/refe/function_source/rb/define/global/function +1 -1
  616. data/data/refe/function_source/rb/define/hooked/variable +1 -1
  617. data/data/refe/function_source/rb/define/method/- +1 -1
  618. data/data/refe/function_source/rb/define/method/id +1 -1
  619. data/data/refe/function_source/rb/define/module/- +1 -1
  620. data/data/refe/function_source/rb/define/module/function +1 -1
  621. data/data/refe/function_source/rb/define/module/id +1 -1
  622. data/data/refe/function_source/rb/define/module/under +1 -1
  623. data/data/refe/function_source/rb/define/private/method +1 -1
  624. data/data/refe/function_source/rb/define/protected/method +1 -1
  625. data/data/refe/function_source/rb/define/readonly/variable +1 -1
  626. data/data/refe/function_source/rb/define/singleton/method +1 -1
  627. data/data/refe/function_source/rb/define/variable +1 -1
  628. data/data/refe/function_source/rb/define/virtual/variable +1 -1
  629. data/data/refe/function_source/rb/ensure +1 -1
  630. data/data/refe/function_source/rb/eof/error +1 -1
  631. data/data/refe/function_source/rb/eval/- +1 -1
  632. data/data/refe/function_source/rb/exc/fatal +1 -1
  633. data/data/refe/function_source/rb/exc/raise +1 -1
  634. data/data/refe/function_source/rb/exec/end/proc +1 -1
  635. data/data/refe/function_source/rb/exit +1 -1
  636. data/data/refe/function_source/rb/extend/object +1 -1
  637. data/data/refe/function_source/rb/f/-e-n-d +1 -1
  638. data/data/refe/function_source/rb/f/abort +1 -1
  639. data/data/refe/function_source/rb/f/array +1 -1
  640. data/data/refe/function_source/rb/f/at/exit +1 -1
  641. data/data/refe/function_source/rb/f/autoload/- +1 -1
  642. data/data/refe/function_source/rb/f/autoload/p +1 -1
  643. data/data/refe/function_source/rb/f/backquote +3 -2
  644. data/data/refe/function_source/rb/f/binding +1 -1
  645. data/data/refe/function_source/rb/f/block/given/p +1 -1
  646. data/data/refe/function_source/rb/f/caller +1 -1
  647. data/data/refe/function_source/rb/f/catch +1 -1
  648. data/data/refe/function_source/rb/f/eval +1 -1
  649. data/data/refe/function_source/rb/f/exit/- +1 -1
  650. data/data/refe/function_source/rb/f/exit/bang +1 -1
  651. data/data/refe/function_source/rb/f/float +1 -1
  652. data/data/refe/function_source/rb/f/fork +1 -1
  653. data/data/refe/function_source/rb/f/getc +1 -1
  654. data/data/refe/function_source/rb/f/gets +1 -1
  655. data/data/refe/function_source/rb/f/global/variables +1 -1
  656. data/data/refe/function_source/rb/f/integer +1 -1
  657. data/data/refe/function_source/rb/f/lambda +1 -1
  658. data/data/refe/function_source/rb/f/load +1 -1
  659. data/data/refe/function_source/rb/f/local/variables +1 -1
  660. data/data/refe/function_source/rb/f/loop +1 -1
  661. data/data/refe/function_source/rb/f/open +1 -1
  662. data/data/refe/function_source/rb/f/p +1 -1
  663. data/data/refe/function_source/rb/f/print +1 -1
  664. data/data/refe/function_source/rb/f/printf +1 -1
  665. data/data/refe/function_source/rb/f/putc +1 -1
  666. data/data/refe/function_source/rb/f/puts +1 -1
  667. data/data/refe/function_source/rb/f/raise +1 -1
  668. data/data/refe/function_source/rb/f/readline +1 -1
  669. data/data/refe/function_source/rb/f/readlines +1 -1
  670. data/data/refe/function_source/rb/f/require +1 -1
  671. data/data/refe/function_source/rb/f/select +1 -1
  672. data/data/refe/function_source/rb/f/send +1 -1
  673. data/data/refe/function_source/rb/f/sleep +1 -1
  674. data/data/refe/function_source/rb/f/sprintf +7 -2
  675. data/data/refe/function_source/rb/f/string +1 -1
  676. data/data/refe/function_source/rb/f/syscall +1 -1
  677. data/data/refe/function_source/rb/f/system +1 -1
  678. data/data/refe/function_source/rb/f/test +8 -8
  679. data/data/refe/function_source/rb/f/throw +1 -1
  680. data/data/refe/function_source/rb/f/trace/var +1 -1
  681. data/data/refe/function_source/rb/f/untrace/var +1 -1
  682. data/data/refe/function_source/rb/false +1 -1
  683. data/data/refe/function_source/rb/fdopen +1 -1
  684. data/data/refe/function_source/rb/feature/p +1 -1
  685. data/data/refe/function_source/rb/file/atime +1 -1
  686. data/data/refe/function_source/rb/file/chmod +1 -1
  687. data/data/refe/function_source/rb/file/chown +1 -1
  688. data/data/refe/function_source/rb/file/const +1 -1
  689. data/data/refe/function_source/rb/file/ctime +1 -1
  690. data/data/refe/function_source/rb/file/expand/path +1 -1
  691. data/data/refe/function_source/rb/file/flock +7 -7
  692. data/data/refe/function_source/rb/file/ftype +1 -1
  693. data/data/refe/function_source/rb/file/initialize +1 -1
  694. data/data/refe/function_source/rb/file/join +2 -2
  695. data/data/refe/function_source/rb/file/lstat +1 -1
  696. data/data/refe/function_source/rb/file/mtime +1 -1
  697. data/data/refe/function_source/rb/file/open/- +1 -1
  698. data/data/refe/function_source/rb/file/open/internal +1 -1
  699. data/data/refe/function_source/rb/file/path +1 -1
  700. data/data/refe/function_source/rb/file/s/atime +1 -1
  701. data/data/refe/function_source/rb/file/s/basename +22 -3
  702. data/data/refe/function_source/rb/file/s/chmod +1 -1
  703. data/data/refe/function_source/rb/file/s/chown +1 -1
  704. data/data/refe/function_source/rb/file/s/ctime +1 -1
  705. data/data/refe/function_source/rb/file/s/dirname +11 -4
  706. data/data/refe/function_source/rb/file/s/expand/path +1 -1
  707. data/data/refe/function_source/rb/file/s/extname +1 -1
  708. data/data/refe/function_source/rb/file/s/ftype +1 -1
  709. data/data/refe/function_source/rb/file/s/join +1 -1
  710. data/data/refe/function_source/rb/file/s/lchmod +1 -1
  711. data/data/refe/function_source/rb/file/s/lchown +1 -1
  712. data/data/refe/function_source/rb/file/s/link +6 -1
  713. data/data/refe/function_source/rb/file/s/lstat +1 -1
  714. data/data/refe/function_source/rb/file/s/mtime +1 -1
  715. data/data/refe/function_source/rb/file/s/readlink +6 -2
  716. data/data/refe/function_source/rb/file/s/rename +1 -1
  717. data/data/refe/function_source/rb/file/s/size +1 -1
  718. data/data/refe/function_source/rb/file/s/split +1 -1
  719. data/data/refe/function_source/rb/file/s/stat +1 -1
  720. data/data/refe/function_source/rb/file/s/symlink +1 -1
  721. data/data/refe/function_source/rb/file/s/truncate +1 -1
  722. data/data/refe/function_source/rb/file/s/umask +1 -1
  723. data/data/refe/function_source/rb/file/s/unlink +1 -1
  724. data/data/refe/function_source/rb/file/s/utime +1 -1
  725. data/data/refe/function_source/rb/file/sysopen/- +1 -1
  726. data/data/refe/function_source/rb/file/sysopen/internal +1 -1
  727. data/data/refe/function_source/rb/file/truncate +1 -1
  728. data/data/refe/function_source/rb/find/file/- +1 -1
  729. data/data/refe/function_source/rb/find/file/ext +1 -1
  730. data/data/refe/function_source/rb/fix/induced/from +1 -1
  731. data/data/refe/function_source/rb/fix2int +1 -1
  732. data/data/refe/function_source/rb/fix2str +1 -1
  733. data/data/refe/function_source/rb/fix2uint +1 -1
  734. data/data/refe/function_source/rb/flo/induced/from +1 -1
  735. data/data/refe/function_source/rb/float/new +1 -1
  736. data/data/refe/function_source/rb/fopen +1 -1
  737. data/data/refe/function_source/rb/frame/last/func +1 -1
  738. data/data/refe/function_source/rb/free/generic/ivar +1 -1
  739. data/data/refe/function_source/rb/funcall/- +1 -1
  740. data/data/refe/function_source/rb/funcall/rescue +1 -1
  741. data/data/refe/function_source/rb/funcall2 +1 -1
  742. data/data/refe/function_source/rb/funcall3 +1 -1
  743. data/data/refe/function_source/rb/gc/- +1 -1
  744. data/data/refe/function_source/rb/gc/call/finalizer/at/exit +1 -1
  745. data/data/refe/function_source/rb/gc/copy/finalizer +1 -1
  746. data/data/refe/function_source/rb/gc/finalize/deferred +1 -1
  747. data/data/refe/function_source/rb/gc/mark/frame +1 -1
  748. data/data/refe/function_source/rb/gc/mark/global/tbl +3 -1
  749. data/data/refe/function_source/rb/gc/mark/parser +7 -1
  750. data/data/refe/function_source/rb/gc/mark/threads +1 -1
  751. data/data/refe/function_source/rb/gc/start +1 -1
  752. data/data/refe/function_source/rb/generic/ivar/table +1 -1
  753. data/data/refe/function_source/rb/get/kcode +1 -1
  754. data/data/refe/function_source/rb/getc +1 -1
  755. data/data/refe/function_source/rb/gets +1 -1
  756. data/data/refe/function_source/rb/gv/get +1 -1
  757. data/data/refe/function_source/rb/gv/set +1 -1
  758. data/data/refe/function_source/rb/gvar/defined +1 -1
  759. data/data/refe/function_source/rb/gvar/get +1 -1
  760. data/data/refe/function_source/rb/gvar/set +1 -1
  761. data/data/refe/function_source/rb/id/attrset +1 -1
  762. data/data/refe/function_source/rb/id2name +1 -1
  763. data/data/refe/function_source/rb/include/module +1 -1
  764. data/data/refe/function_source/rb/inspect +1 -1
  765. data/data/refe/function_source/rb/inspecting/p +1 -1
  766. data/data/refe/function_source/rb/int/induced/from +1 -1
  767. data/data/refe/function_source/rb/intern +8 -6
  768. data/data/refe/function_source/rb/interrupt +1 -1
  769. data/data/refe/function_source/rb/io/addstr +1 -1
  770. data/data/refe/function_source/rb/io/binmode +1 -1
  771. data/data/refe/function_source/rb/io/check/closed +1 -1
  772. data/data/refe/function_source/rb/io/check/initialized +1 -1
  773. data/data/refe/function_source/rb/io/check/io +1 -1
  774. data/data/refe/function_source/rb/io/check/readable +1 -1
  775. data/data/refe/function_source/rb/io/check/writable +1 -1
  776. data/data/refe/function_source/rb/io/close/- +1 -1
  777. data/data/refe/function_source/rb/io/close/m +1 -1
  778. data/data/refe/function_source/rb/io/close/read +1 -1
  779. data/data/refe/function_source/rb/io/close/write +1 -1
  780. data/data/refe/function_source/rb/io/closed +1 -1
  781. data/data/refe/function_source/rb/io/ctl +1 -1
  782. data/data/refe/function_source/rb/io/each/byte +1 -1
  783. data/data/refe/function_source/rb/io/each/line +1 -1
  784. data/data/refe/function_source/rb/io/eof +1 -1
  785. data/data/refe/function_source/rb/io/fcntl +1 -1
  786. data/data/refe/function_source/rb/io/fileno +1 -1
  787. data/data/refe/function_source/rb/io/flags/mode +1 -1
  788. data/data/refe/function_source/rb/io/flush +1 -1
  789. data/data/refe/function_source/rb/io/fptr/cleanup +1 -1
  790. data/data/refe/function_source/rb/io/fptr/finalize +1 -1
  791. data/data/refe/function_source/rb/io/fread +1 -1
  792. data/data/refe/function_source/rb/io/fsync +1 -1
  793. data/data/refe/function_source/rb/io/fwrite +1 -1
  794. data/data/refe/function_source/rb/io/get/io +1 -1
  795. data/data/refe/function_source/rb/io/getc +1 -1
  796. data/data/refe/function_source/rb/io/getline/- +1 -1
  797. data/data/refe/function_source/rb/io/getline/fast +1 -1
  798. data/data/refe/function_source/rb/io/gets/- +1 -1
  799. data/data/refe/function_source/rb/io/gets/m +1 -1
  800. data/data/refe/function_source/rb/io/init/copy +1 -1
  801. data/data/refe/function_source/rb/io/initialize +1 -1
  802. data/data/refe/function_source/rb/io/inspect +1 -1
  803. data/data/refe/function_source/rb/io/ioctl +1 -1
  804. data/data/refe/function_source/rb/io/isatty +1 -1
  805. data/data/refe/function_source/rb/io/lineno +1 -1
  806. data/data/refe/function_source/rb/io/mode/flags +1 -1
  807. data/data/refe/function_source/rb/io/mode/modenum +1 -1
  808. data/data/refe/function_source/rb/io/mode/string +1 -1
  809. data/data/refe/function_source/rb/io/modenum/flags +1 -1
  810. data/data/refe/function_source/rb/io/modenum/mode +1 -1
  811. data/data/refe/function_source/rb/io/open +1 -1
  812. data/data/refe/function_source/rb/io/pid +1 -1
  813. data/data/refe/function_source/rb/io/print +1 -1
  814. data/data/refe/function_source/rb/io/printf +1 -1
  815. data/data/refe/function_source/rb/io/putc +1 -1
  816. data/data/refe/function_source/rb/io/puts +1 -1
  817. data/data/refe/function_source/rb/io/readchar +1 -1
  818. data/data/refe/function_source/rb/io/readline +1 -1
  819. data/data/refe/function_source/rb/io/readlines +1 -1
  820. data/data/refe/function_source/rb/io/reopen +1 -1
  821. data/data/refe/function_source/rb/io/rewind +1 -1
  822. data/data/refe/function_source/rb/io/s/for/fd +1 -1
  823. data/data/refe/function_source/rb/io/s/foreach +1 -1
  824. data/data/refe/function_source/rb/io/s/new +1 -1
  825. data/data/refe/function_source/rb/io/s/open +1 -1
  826. data/data/refe/function_source/rb/io/s/pipe +1 -1
  827. data/data/refe/function_source/rb/io/s/popen +1 -1
  828. data/data/refe/function_source/rb/io/s/read +1 -1
  829. data/data/refe/function_source/rb/io/s/readlines +1 -1
  830. data/data/refe/function_source/rb/io/s/sysopen +1 -1
  831. data/data/refe/function_source/rb/io/seek/- +1 -1
  832. data/data/refe/function_source/rb/io/seek/m +1 -1
  833. data/data/refe/function_source/rb/io/set/lineno +1 -1
  834. data/data/refe/function_source/rb/io/set/pos +1 -1
  835. data/data/refe/function_source/rb/io/set/sync +1 -1
  836. data/data/refe/function_source/rb/io/stat +1 -1
  837. data/data/refe/function_source/rb/io/sync +1 -1
  838. data/data/refe/function_source/rb/io/synchronized +1 -1
  839. data/data/refe/function_source/rb/io/sysread +1 -1
  840. data/data/refe/function_source/rb/io/sysseek +1 -1
  841. data/data/refe/function_source/rb/io/syswrite +1 -1
  842. data/data/refe/function_source/rb/io/taint/check +1 -1
  843. data/data/refe/function_source/rb/io/tell +1 -1
  844. data/data/refe/function_source/rb/io/to/io +1 -1
  845. data/data/refe/function_source/rb/io/unbuffered +1 -1
  846. data/data/refe/function_source/rb/io/ungetc +1 -1
  847. data/data/refe/function_source/rb/io/wait/readable +1 -1
  848. data/data/refe/function_source/rb/io/wait/writable +1 -1
  849. data/data/refe/function_source/rb/io/write +1 -1
  850. data/data/refe/function_source/rb/is/class/id +1 -1
  851. data/data/refe/function_source/rb/is/const/id +1 -1
  852. data/data/refe/function_source/rb/is/instance/id +1 -1
  853. data/data/refe/function_source/rb/is/junk/id +1 -1
  854. data/data/refe/function_source/rb/is/local/id +1 -1
  855. data/data/refe/function_source/rb/iter/break +1 -1
  856. data/data/refe/function_source/rb/iterate +1 -1
  857. data/data/refe/function_source/rb/iterator/p +1 -1
  858. data/data/refe/function_source/rb/iv/get +1 -1
  859. data/data/refe/function_source/rb/iv/set +1 -1
  860. data/data/refe/function_source/rb/ivar/defined +1 -1
  861. data/data/refe/function_source/rb/ivar/get +1 -1
  862. data/data/refe/function_source/rb/ivar/set +1 -1
  863. data/data/refe/function_source/rb/jump/tag +1 -1
  864. data/data/refe/function_source/rb/kcode +1 -1
  865. data/data/refe/function_source/rb/lastline/get +1 -1
  866. data/data/refe/function_source/rb/lastline/set +1 -1
  867. data/data/refe/function_source/rb/load/- +1 -1
  868. data/data/refe/function_source/rb/load/protect +1 -1
  869. data/data/refe/function_source/rb/longjmp +1 -1
  870. data/data/refe/function_source/rb/make/exception +1 -1
  871. data/data/refe/function_source/rb/make/metaclass +1 -1
  872. data/data/refe/function_source/rb/mark/end/proc +1 -1
  873. data/data/refe/function_source/rb/mark/generic/ivar/- +1 -1
  874. data/data/refe/function_source/rb/mark/generic/ivar/tbl +1 -1
  875. data/data/refe/function_source/rb/match/busy +1 -1
  876. data/data/refe/function_source/rb/memsearch +1 -1
  877. data/data/refe/function_source/rb/method/missing +1 -1
  878. data/data/refe/function_source/rb/mod/ancestors +1 -1
  879. data/data/refe/function_source/rb/mod/append/features +1 -1
  880. data/data/refe/function_source/rb/mod/attr/- +1 -1
  881. data/data/refe/function_source/rb/mod/attr/accessor +1 -1
  882. data/data/refe/function_source/rb/mod/attr/reader +1 -1
  883. data/data/refe/function_source/rb/mod/attr/writer +1 -1
  884. data/data/refe/function_source/rb/mod/autoload/- +1 -1
  885. data/data/refe/function_source/rb/mod/autoload/p +1 -1
  886. data/data/refe/function_source/rb/mod/class/variables +1 -1
  887. data/data/refe/function_source/rb/mod/cmp +1 -1
  888. data/data/refe/function_source/rb/mod/const/at +1 -1
  889. data/data/refe/function_source/rb/mod/const/defined +1 -1
  890. data/data/refe/function_source/rb/mod/const/get +1 -1
  891. data/data/refe/function_source/rb/mod/const/missing +1 -1
  892. data/data/refe/function_source/rb/mod/const/of +1 -1
  893. data/data/refe/function_source/rb/mod/const/set +1 -1
  894. data/data/refe/function_source/rb/mod/constants +1 -1
  895. data/data/refe/function_source/rb/mod/cvar/get +1 -1
  896. data/data/refe/function_source/rb/mod/cvar/set +1 -1
  897. data/data/refe/function_source/rb/mod/define/method +2 -1
  898. data/data/refe/function_source/rb/mod/eqq +1 -1
  899. data/data/refe/function_source/rb/mod/extend/object +1 -1
  900. data/data/refe/function_source/rb/mod/freeze +1 -1
  901. data/data/refe/function_source/rb/mod/ge +1 -1
  902. data/data/refe/function_source/rb/mod/gt +1 -1
  903. data/data/refe/function_source/rb/mod/include/- +1 -1
  904. data/data/refe/function_source/rb/mod/include/p +1 -1
  905. data/data/refe/function_source/rb/mod/included/modules +1 -1
  906. data/data/refe/function_source/rb/mod/init/copy +1 -1
  907. data/data/refe/function_source/rb/mod/initialize +1 -1
  908. data/data/refe/function_source/rb/mod/lt +1 -1
  909. data/data/refe/function_source/rb/mod/method/- +1 -1
  910. data/data/refe/function_source/rb/mod/method/defined +1 -1
  911. data/data/refe/function_source/rb/mod/modfunc +1 -1
  912. data/data/refe/function_source/rb/mod/module/eval +1 -1
  913. data/data/refe/function_source/rb/mod/private/- +1 -1
  914. data/data/refe/function_source/rb/mod/private/method/- +1 -1
  915. data/data/refe/function_source/rb/mod/private/method/defined +1 -1
  916. data/data/refe/function_source/rb/mod/protected/- +1 -1
  917. data/data/refe/function_source/rb/mod/protected/method/defined +1 -1
  918. data/data/refe/function_source/rb/mod/public/- +1 -1
  919. data/data/refe/function_source/rb/mod/public/method/- +1 -1
  920. data/data/refe/function_source/rb/mod/public/method/defined +1 -1
  921. data/data/refe/function_source/rb/mod/remove/const +1 -1
  922. data/data/refe/function_source/rb/mod/remove/cvar +1 -1
  923. data/data/refe/function_source/rb/module/new +1 -1
  924. data/data/refe/function_source/rb/module/s/alloc +1 -1
  925. data/data/refe/function_source/rb/need/block +1 -1
  926. data/data/refe/function_source/rb/node/newnode +1 -1
  927. data/data/refe/function_source/rb/num2dbl +1 -1
  928. data/data/refe/function_source/rb/num2fix +1 -1
  929. data/data/refe/function_source/rb/num2int +1 -1
  930. data/data/refe/function_source/rb/num2ll +1 -1
  931. data/data/refe/function_source/rb/num2long +1 -1
  932. data/data/refe/function_source/rb/num2uint +1 -1
  933. data/data/refe/function_source/rb/num2ull +1 -1
  934. data/data/refe/function_source/rb/num2ulong +1 -1
  935. data/data/refe/function_source/rb/obj/alloc +1 -1
  936. data/data/refe/function_source/rb/obj/call/init +1 -1
  937. data/data/refe/function_source/rb/obj/display +1 -1
  938. data/data/refe/function_source/rb/obj/dummy +1 -1
  939. data/data/refe/function_source/rb/obj/extend +1 -1
  940. data/data/refe/function_source/rb/obj/freeze +1 -1
  941. data/data/refe/function_source/rb/obj/frozen/p +1 -1
  942. data/data/refe/function_source/rb/obj/infect +1 -1
  943. data/data/refe/function_source/rb/obj/init/copy +1 -1
  944. data/data/refe/function_source/rb/obj/inspect +1 -1
  945. data/data/refe/function_source/rb/obj/instance/eval +1 -1
  946. data/data/refe/function_source/rb/obj/instance/variables +1 -1
  947. data/data/refe/function_source/rb/obj/is/instance/of +1 -1
  948. data/data/refe/function_source/rb/obj/is/kind/of +1 -1
  949. data/data/refe/function_source/rb/obj/is/method +1 -1
  950. data/data/refe/function_source/rb/obj/ivar/get +1 -1
  951. data/data/refe/function_source/rb/obj/ivar/set +1 -1
  952. data/data/refe/function_source/rb/obj/method +1 -1
  953. data/data/refe/function_source/rb/obj/methods +1 -1
  954. data/data/refe/function_source/rb/obj/pattern/match +1 -1
  955. data/data/refe/function_source/rb/obj/private/methods +1 -1
  956. data/data/refe/function_source/rb/obj/protected/methods +1 -1
  957. data/data/refe/function_source/rb/obj/public/methods +1 -1
  958. data/data/refe/function_source/rb/obj/remove/instance/variable +1 -1
  959. data/data/refe/function_source/rb/obj/respond/to +15 -12
  960. data/data/refe/function_source/rb/obj/singleton/methods +1 -1
  961. data/data/refe/function_source/rb/obj/taint +1 -1
  962. data/data/refe/function_source/rb/obj/tainted +1 -1
  963. data/data/refe/function_source/rb/obj/untaint +1 -1
  964. data/data/refe/function_source/rb/open/file +1 -1
  965. data/data/refe/function_source/rb/p +1 -1
  966. data/data/refe/function_source/rb/parser/append/print +1 -1
  967. data/data/refe/function_source/rb/parser/calloc +11 -0
  968. data/data/refe/function_source/rb/parser/free +17 -0
  969. data/data/refe/function_source/rb/parser/malloc +11 -0
  970. data/data/refe/function_source/rb/parser/realloc +22 -0
  971. data/data/refe/function_source/rb/parser/while/loop +1 -1
  972. data/data/refe/function_source/rb/path/check +1 -1
  973. data/data/refe/function_source/rb/path/end +1 -1
  974. data/data/refe/function_source/rb/path/last/separator +1 -1
  975. data/data/refe/function_source/rb/path/next +1 -1
  976. data/data/refe/function_source/rb/path/skip/prefix +4 -2
  977. data/data/refe/function_source/rb/proc/new +1 -1
  978. data/data/refe/function_source/rb/proc/times +1 -1
  979. data/data/refe/function_source/rb/protect/- +1 -1
  980. data/data/refe/function_source/rb/protect/inspect +1 -1
  981. data/data/refe/function_source/rb/provide/- +1 -1
  982. data/data/refe/function_source/rb/provide/feature +1 -1
  983. data/data/refe/function_source/rb/provided +1 -1
  984. data/data/refe/function_source/rb/raise/jump +1 -1
  985. data/data/refe/function_source/rb/read/check +1 -1
  986. data/data/refe/function_source/rb/read/pending +1 -1
  987. data/data/refe/function_source/rb/reg/adjust/startpos +1 -1
  988. data/data/refe/function_source/rb/reg/cur/kcode +1 -1
  989. data/data/refe/function_source/rb/reg/eqq +1 -1
  990. data/data/refe/function_source/rb/reg/equal +1 -1
  991. data/data/refe/function_source/rb/reg/get/kcode +1 -1
  992. data/data/refe/function_source/rb/reg/hash +1 -1
  993. data/data/refe/function_source/rb/reg/init/copy +1 -1
  994. data/data/refe/function_source/rb/reg/initialize/- +1 -1
  995. data/data/refe/function_source/rb/reg/initialize/m +1 -1
  996. data/data/refe/function_source/rb/reg/last/match +1 -1
  997. data/data/refe/function_source/rb/reg/match/- +1 -1
  998. data/data/refe/function_source/rb/reg/match/last +1 -1
  999. data/data/refe/function_source/rb/reg/match/m +1 -1
  1000. data/data/refe/function_source/rb/reg/match/post +1 -1
  1001. data/data/refe/function_source/rb/reg/match/pre +1 -1
  1002. data/data/refe/function_source/rb/reg/match2 +1 -1
  1003. data/data/refe/function_source/rb/reg/new +1 -1
  1004. data/data/refe/function_source/rb/reg/nth/defined +1 -1
  1005. data/data/refe/function_source/rb/reg/nth/match +1 -1
  1006. data/data/refe/function_source/rb/reg/options/- +1 -1
  1007. data/data/refe/function_source/rb/reg/prepare/re +1 -1
  1008. data/data/refe/function_source/rb/reg/quote +1 -1
  1009. data/data/refe/function_source/rb/reg/regcomp +2 -1
  1010. data/data/refe/function_source/rb/reg/regsub +1 -1
  1011. data/data/refe/function_source/rb/reg/s/alloc +1 -1
  1012. data/data/refe/function_source/rb/reg/s/last/match +1 -1
  1013. data/data/refe/function_source/rb/reg/s/quote +1 -1
  1014. data/data/refe/function_source/rb/reg/s/union +1 -1
  1015. data/data/refe/function_source/rb/reg/search +1 -1
  1016. data/data/refe/function_source/rb/require/- +1 -1
  1017. data/data/refe/function_source/rb/require/safe +2 -3
  1018. data/data/refe/function_source/rb/rescue +1 -1
  1019. data/data/refe/function_source/rb/rescue2 +1 -1
  1020. data/data/refe/function_source/rb/respond/to +2 -10
  1021. data/data/refe/function_source/rb/scan/args +1 -1
  1022. data/data/refe/function_source/rb/set/end/proc +1 -1
  1023. data/data/refe/function_source/rb/set/kcode +1 -1
  1024. data/data/refe/function_source/rb/set/safe/level +1 -1
  1025. data/data/refe/function_source/rb/setegid/core +1 -1
  1026. data/data/refe/function_source/rb/seteuid/core +1 -1
  1027. data/data/refe/function_source/rb/singleton/class/- +1 -1
  1028. data/data/refe/function_source/rb/singleton/class/attached +1 -1
  1029. data/data/refe/function_source/rb/singleton/class/clone +1 -1
  1030. data/data/refe/function_source/rb/stat/- +1 -1
  1031. data/data/refe/function_source/rb/stat/-r +1 -1
  1032. data/data/refe/function_source/rb/stat/-s +1 -1
  1033. data/data/refe/function_source/rb/stat/-w +1 -1
  1034. data/data/refe/function_source/rb/stat/-x +1 -1
  1035. data/data/refe/function_source/rb/stat/atime +1 -1
  1036. data/data/refe/function_source/rb/stat/b +1 -1
  1037. data/data/refe/function_source/rb/stat/blksize +1 -1
  1038. data/data/refe/function_source/rb/stat/blocks +1 -1
  1039. data/data/refe/function_source/rb/stat/c +1 -1
  1040. data/data/refe/function_source/rb/stat/cmp +1 -1
  1041. data/data/refe/function_source/rb/stat/ctime +1 -1
  1042. data/data/refe/function_source/rb/stat/d +1 -1
  1043. data/data/refe/function_source/rb/stat/dev/- +1 -1
  1044. data/data/refe/function_source/rb/stat/dev/major +1 -1
  1045. data/data/refe/function_source/rb/stat/dev/minor +1 -1
  1046. data/data/refe/function_source/rb/stat/f +1 -1
  1047. data/data/refe/function_source/rb/stat/ftype +1 -1
  1048. data/data/refe/function_source/rb/stat/gid +1 -1
  1049. data/data/refe/function_source/rb/stat/grpowned +1 -1
  1050. data/data/refe/function_source/rb/stat/init/- +1 -1
  1051. data/data/refe/function_source/rb/stat/init/copy +1 -1
  1052. data/data/refe/function_source/rb/stat/ino +1 -1
  1053. data/data/refe/function_source/rb/stat/inspect +17 -17
  1054. data/data/refe/function_source/rb/stat/l +1 -1
  1055. data/data/refe/function_source/rb/stat/mode +1 -1
  1056. data/data/refe/function_source/rb/stat/mtime +1 -1
  1057. data/data/refe/function_source/rb/stat/nlink +1 -1
  1058. data/data/refe/function_source/rb/stat/owned +1 -1
  1059. data/data/refe/function_source/rb/stat/p +1 -1
  1060. data/data/refe/function_source/rb/stat/r +1 -1
  1061. data/data/refe/function_source/rb/stat/rdev/- +1 -1
  1062. data/data/refe/function_source/rb/stat/rdev/major +1 -1
  1063. data/data/refe/function_source/rb/stat/rdev/minor +1 -1
  1064. data/data/refe/function_source/rb/stat/rowned +1 -1
  1065. data/data/refe/function_source/rb/stat/s/- +1 -1
  1066. data/data/refe/function_source/rb/stat/s/alloc +1 -1
  1067. data/data/refe/function_source/rb/stat/sgid +1 -1
  1068. data/data/refe/function_source/rb/stat/size +1 -1
  1069. data/data/refe/function_source/rb/stat/sticky +1 -1
  1070. data/data/refe/function_source/rb/stat/suid +1 -1
  1071. data/data/refe/function_source/rb/stat/uid +1 -1
  1072. data/data/refe/function_source/rb/stat/w +1 -1
  1073. data/data/refe/function_source/rb/stat/x +1 -1
  1074. data/data/refe/function_source/rb/stat/z +1 -1
  1075. data/data/refe/function_source/rb/str/to/dbl +1 -1
  1076. data/data/refe/function_source/rb/str2cstr +1 -1
  1077. data/data/refe/function_source/rb/strftime +5 -6
  1078. data/data/refe/function_source/rb/sym/all/symbols +1 -1
  1079. data/data/refe/function_source/rb/symname/p +74 -0
  1080. data/data/refe/function_source/rb/sysopen +1 -1
  1081. data/data/refe/function_source/rb/syswait +1 -1
  1082. data/data/refe/function_source/rb/thread/abort/exc/- +1 -1
  1083. data/data/refe/function_source/rb/thread/abort/exc/set +1 -1
  1084. data/data/refe/function_source/rb/thread/alive/p +1 -1
  1085. data/data/refe/function_source/rb/thread/alloc +1 -1
  1086. data/data/refe/function_source/rb/thread/alone +1 -1
  1087. data/data/refe/function_source/rb/thread/aref +1 -1
  1088. data/data/refe/function_source/rb/thread/aset +1 -1
  1089. data/data/refe/function_source/rb/thread/atfork +1 -1
  1090. data/data/refe/function_source/rb/thread/check +1 -1
  1091. data/data/refe/function_source/rb/thread/cleanup +1 -1
  1092. data/data/refe/function_source/rb/thread/create +1 -1
  1093. data/data/refe/function_source/rb/thread/critical/get +1 -1
  1094. data/data/refe/function_source/rb/thread/critical/set +1 -1
  1095. data/data/refe/function_source/rb/thread/current +1 -1
  1096. data/data/refe/function_source/rb/thread/dead +1 -1
  1097. data/data/refe/function_source/rb/thread/deadlock +1 -1
  1098. data/data/refe/function_source/rb/thread/die +1 -1
  1099. data/data/refe/function_source/rb/thread/exit +1 -1
  1100. data/data/refe/function_source/rb/thread/fd/close +1 -1
  1101. data/data/refe/function_source/rb/thread/fd/writable +1 -1
  1102. data/data/refe/function_source/rb/thread/flock +7 -7
  1103. data/data/refe/function_source/rb/thread/group +1 -1
  1104. data/data/refe/function_source/rb/thread/initialize +1 -1
  1105. data/data/refe/function_source/rb/thread/inspect +1 -1
  1106. data/data/refe/function_source/rb/thread/interrupt +1 -1
  1107. data/data/refe/function_source/rb/thread/join/- +1 -1
  1108. data/data/refe/function_source/rb/thread/join/m +1 -1
  1109. data/data/refe/function_source/rb/thread/key/p +1 -1
  1110. data/data/refe/function_source/rb/thread/keys +1 -1
  1111. data/data/refe/function_source/rb/thread/kill +1 -1
  1112. data/data/refe/function_source/rb/thread/list +1 -1
  1113. data/data/refe/function_source/rb/thread/local/aref +1 -1
  1114. data/data/refe/function_source/rb/thread/local/aset +1 -1
  1115. data/data/refe/function_source/rb/thread/main/- +1 -1
  1116. data/data/refe/function_source/rb/thread/main/jump +1 -1
  1117. data/data/refe/function_source/rb/thread/pass +1 -1
  1118. data/data/refe/function_source/rb/thread/polling +1 -1
  1119. data/data/refe/function_source/rb/thread/priority/- +1 -1
  1120. data/data/refe/function_source/rb/thread/priority/set +1 -1
  1121. data/data/refe/function_source/rb/thread/raise/- +1 -1
  1122. data/data/refe/function_source/rb/thread/raise/m +1 -1
  1123. data/data/refe/function_source/rb/thread/ready +1 -1
  1124. data/data/refe/function_source/rb/thread/remove +1 -1
  1125. data/data/refe/function_source/rb/thread/restore/context +1 -1
  1126. data/data/refe/function_source/rb/thread/run +1 -1
  1127. data/data/refe/function_source/rb/thread/s/abort/exc/- +1 -1
  1128. data/data/refe/function_source/rb/thread/s/abort/exc/set +1 -1
  1129. data/data/refe/function_source/rb/thread/s/kill +1 -1
  1130. data/data/refe/function_source/rb/thread/s/new +1 -1
  1131. data/data/refe/function_source/rb/thread/safe/level +1 -1
  1132. data/data/refe/function_source/rb/thread/save/context +1 -1
  1133. data/data/refe/function_source/rb/thread/schedule +1 -1
  1134. data/data/refe/function_source/rb/thread/select +1 -1
  1135. data/data/refe/function_source/rb/thread/signal/exit +1 -1
  1136. data/data/refe/function_source/rb/thread/signal/raise +1 -1
  1137. data/data/refe/function_source/rb/thread/sleep/- +1 -1
  1138. data/data/refe/function_source/rb/thread/sleep/forever +1 -1
  1139. data/data/refe/function_source/rb/thread/start/- +1 -1
  1140. data/data/refe/function_source/rb/thread/start/0 +1 -1
  1141. data/data/refe/function_source/rb/thread/start/timer +1 -1
  1142. data/data/refe/function_source/rb/thread/status +1 -1
  1143. data/data/refe/function_source/rb/thread/stop/- +1 -1
  1144. data/data/refe/function_source/rb/thread/stop/p +1 -1
  1145. data/data/refe/function_source/rb/thread/stop/timer +1 -1
  1146. data/data/refe/function_source/rb/thread/switch +1 -1
  1147. data/data/refe/function_source/rb/thread/trap/eval +1 -1
  1148. data/data/refe/function_source/rb/thread/value +1 -1
  1149. data/data/refe/function_source/rb/thread/wait/fd +1 -1
  1150. data/data/refe/function_source/rb/thread/wait/for +1 -1
  1151. data/data/refe/function_source/rb/thread/wait/other/threads +1 -1
  1152. data/data/refe/function_source/rb/thread/wakeup +1 -1
  1153. data/data/refe/function_source/rb/thread/yield +1 -1
  1154. data/data/refe/function_source/rb/throw +1 -1
  1155. data/data/refe/function_source/rb/to/id +1 -1
  1156. data/data/refe/function_source/rb/to/int +1 -1
  1157. data/data/refe/function_source/rb/to/integer +1 -1
  1158. data/data/refe/function_source/rb/trace/eval +1 -1
  1159. data/data/refe/function_source/rb/trap/eval +1 -1
  1160. data/data/refe/function_source/rb/true +1 -1
  1161. data/data/refe/function_source/rb/undef/method +1 -1
  1162. data/data/refe/function_source/rb/values/at +1 -1
  1163. data/data/refe/function_source/rb/with/disable/interrupt +1 -1
  1164. data/data/refe/function_source/rb/write/error +1 -1
  1165. data/data/refe/function_source/rb/write/error2 +1 -1
  1166. data/data/refe/function_source/rb/yield/- +1 -1
  1167. data/data/refe/function_source/rb/yield/0 +1 -1
  1168. data/data/refe/function_source/rb/yield/splat +1 -1
  1169. data/data/refe/function_source/rb/yield/values +1 -1
  1170. data/data/refe/function_source/re/adjust/startpos +1 -1
  1171. data/data/refe/function_source/re/compile/fastmap +1 -1
  1172. data/data/refe/function_source/re/compile/pattern +1 -0
  1173. data/data/refe/function_source/re/copy/registers +1 -1
  1174. data/data/refe/function_source/re/free/pattern +1 -1
  1175. data/data/refe/function_source/re/free/registers +1 -1
  1176. data/data/refe/function_source/re/match/- +1 -1
  1177. data/data/refe/function_source/re/match/exec +1 -1
  1178. data/data/refe/function_source/re/mbcinit +1 -1
  1179. data/data/refe/function_source/re/search +1 -1
  1180. data/data/refe/function_source/read/all +1 -1
  1181. data/data/refe/function_source/read/buffered/data +5 -3
  1182. data/data/refe/function_source/read/escape +1 -1
  1183. data/data/refe/function_source/regx/options +1 -1
  1184. data/data/refe/function_source/rehash +1 -1
  1185. data/data/refe/function_source/remain/size +1 -1
  1186. data/data/refe/function_source/remove/begin +1 -1
  1187. data/data/refe/function_source/remove/trace +1 -1
  1188. data/data/refe/function_source/ret/args +1 -1
  1189. data/data/refe/function_source/return/jump +1 -1
  1190. data/data/refe/function_source/rm/final +1 -1
  1191. data/data/refe/function_source/rmext +1 -1
  1192. data/data/refe/function_source/rscheck +1 -1
  1193. data/data/refe/function_source/ruby/dup +1 -1
  1194. data/data/refe/function_source/ruby/parser/stack/on/heap +2 -2
  1195. data/data/refe/function_source/ruby/prog/init +1 -1
  1196. data/data/refe/function_source/ruby/set/stack/size +1 -1
  1197. data/data/refe/function_source/run/final +1 -1
  1198. data/data/refe/function_source/run/single/final +1 -1
  1199. data/data/refe/function_source/run/trap/eval +1 -1
  1200. data/data/refe/function_source/safe/getter +1 -1
  1201. data/data/refe/function_source/safe/setter +1 -1
  1202. data/data/refe/function_source/scan/once +1 -1
  1203. data/data/refe/function_source/scope/dup +1 -1
  1204. data/data/refe/function_source/search/required +1 -1
  1205. data/data/refe/function_source/secure/visibility +1 -1
  1206. data/data/refe/function_source/set/method/visibility +1 -1
  1207. data/data/refe/function_source/set/trace/func +1 -0
  1208. data/data/refe/function_source/sjis/startpos +1 -1
  1209. data/data/refe/function_source/skiproot +1 -1
  1210. data/data/refe/function_source/slow/match +1 -1
  1211. data/data/refe/function_source/slow/search +1 -1
  1212. data/data/refe/function_source/sort/1 +1 -1
  1213. data/data/refe/function_source/sort/2 +1 -1
  1214. data/data/refe/function_source/sort/internal +1 -1
  1215. data/data/refe/function_source/sort/unlock +1 -1
  1216. data/data/refe/function_source/special/local/set +1 -1
  1217. data/data/refe/function_source/specific/eval +1 -1
  1218. data/data/refe/function_source/splat/value +1 -1
  1219. data/data/refe/function_source/st/add/direct +1 -1
  1220. data/data/refe/function_source/st/cleanup/safe +1 -1
  1221. data/data/refe/function_source/st/copy +1 -1
  1222. data/data/refe/function_source/st/delete/- +1 -1
  1223. data/data/refe/function_source/st/delete/safe +1 -1
  1224. data/data/refe/function_source/st/foreach/- +1 -1
  1225. data/data/refe/function_source/st/free/table +1 -1
  1226. data/data/refe/function_source/st/init/numtable/- +1 -1
  1227. data/data/refe/function_source/st/init/numtable/with/size +1 -1
  1228. data/data/refe/function_source/st/init/strtable/- +1 -1
  1229. data/data/refe/function_source/st/init/strtable/with/size +1 -1
  1230. data/data/refe/function_source/st/init/table/- +1 -1
  1231. data/data/refe/function_source/st/init/table/with/size +1 -1
  1232. data/data/refe/function_source/st/insert +1 -1
  1233. data/data/refe/function_source/st/lookup +1 -1
  1234. data/data/refe/function_source/stack/check +1 -1
  1235. data/data/refe/function_source/stack/extend +1 -1
  1236. data/data/refe/function_source/stat/col +1 -1
  1237. data/data/refe/function_source/stat/new/- +1 -1
  1238. data/data/refe/function_source/stat/new/0 +1 -1
  1239. data/data/refe/function_source/stdout/setter +1 -1
  1240. data/data/refe/function_source/store/jump/- +1 -1
  1241. data/data/refe/function_source/store/jump/n +1 -1
  1242. data/data/refe/function_source/str/to/id +1 -1
  1243. data/data/refe/function_source/strhash +1 -1
  1244. data/data/refe/function_source/sv/i +1 -1
  1245. data/data/refe/function_source/svalue/to/avalue +1 -1
  1246. data/data/refe/function_source/svalue/to/mrhs +1 -1
  1247. data/data/refe/function_source/swallow +1 -1
  1248. data/data/refe/function_source/sym/inspect +2 -2
  1249. data/data/refe/function_source/sym/to/i +1 -1
  1250. data/data/refe/function_source/sym/to/int +1 -1
  1251. data/data/refe/function_source/sym/to/s +1 -1
  1252. data/data/refe/function_source/sym/to/sym +1 -1
  1253. data/data/refe/function_source/symbols/i +1 -1
  1254. data/data/refe/function_source/sys/fail2 +1 -1
  1255. data/data/refe/function_source/terminate/process +1 -1
  1256. data/data/refe/function_source/test/-r +1 -1
  1257. data/data/refe/function_source/test/-s +1 -1
  1258. data/data/refe/function_source/test/-w +1 -1
  1259. data/data/refe/function_source/test/-x +1 -1
  1260. data/data/refe/function_source/test/b +1 -1
  1261. data/data/refe/function_source/test/c +1 -1
  1262. data/data/refe/function_source/test/check +1 -1
  1263. data/data/refe/function_source/test/d +1 -1
  1264. data/data/refe/function_source/test/e +1 -1
  1265. data/data/refe/function_source/test/f +1 -1
  1266. data/data/refe/function_source/test/grpowned +1 -1
  1267. data/data/refe/function_source/test/identical +48 -0
  1268. data/data/refe/function_source/test/l +1 -1
  1269. data/data/refe/function_source/test/owned +1 -1
  1270. data/data/refe/function_source/test/p +1 -1
  1271. data/data/refe/function_source/test/r +1 -1
  1272. data/data/refe/function_source/test/rowned +1 -1
  1273. data/data/refe/function_source/test/s +1 -1
  1274. data/data/refe/function_source/test/sgid +1 -1
  1275. data/data/refe/function_source/test/sticky +1 -1
  1276. data/data/refe/function_source/test/suid +1 -1
  1277. data/data/refe/function_source/test/w +1 -1
  1278. data/data/refe/function_source/test/x +1 -1
  1279. data/data/refe/function_source/test/z +1 -1
  1280. data/data/refe/function_source/thgroup/add +1 -1
  1281. data/data/refe/function_source/thgroup/enclose +2 -2
  1282. data/data/refe/function_source/thgroup/enclosed/p +1 -1
  1283. data/data/refe/function_source/thgroup/list +1 -1
  1284. data/data/refe/function_source/thgroup/s/alloc +1 -1
  1285. data/data/refe/function_source/thread/free +1 -1
  1286. data/data/refe/function_source/thread/keys/i +1 -1
  1287. data/data/refe/function_source/thread/mark +1 -1
  1288. data/data/refe/function_source/thread/reset/raised +1 -1
  1289. data/data/refe/function_source/thread/set/raised +1 -1
  1290. data/data/refe/function_source/thread/status/name +1 -1
  1291. data/data/refe/function_source/thread/timer +1 -1
  1292. data/data/refe/function_source/time/add +1 -1
  1293. data/data/refe/function_source/time/asctime +1 -1
  1294. data/data/refe/function_source/time/dup +1 -1
  1295. data/data/refe/function_source/time/get/tm +1 -1
  1296. data/data/refe/function_source/time/getgmtime +1 -1
  1297. data/data/refe/function_source/time/getlocaltime +1 -1
  1298. data/data/refe/function_source/time/gmtime +1 -1
  1299. data/data/refe/function_source/time/hour +1 -1
  1300. data/data/refe/function_source/time/init/copy +1 -1
  1301. data/data/refe/function_source/time/isdst +1 -1
  1302. data/data/refe/function_source/time/localtime +1 -1
  1303. data/data/refe/function_source/time/mday +1 -1
  1304. data/data/refe/function_source/time/min +1 -1
  1305. data/data/refe/function_source/time/minus +1 -1
  1306. data/data/refe/function_source/time/mon +1 -1
  1307. data/data/refe/function_source/time/overflow/p +1 -1
  1308. data/data/refe/function_source/time/plus +1 -1
  1309. data/data/refe/function_source/time/sec +1 -1
  1310. data/data/refe/function_source/time/strftime +5 -5
  1311. data/data/refe/function_source/time/succ +1 -1
  1312. data/data/refe/function_source/time/to/a +1 -1
  1313. data/data/refe/function_source/time/to/s +1 -1
  1314. data/data/refe/function_source/time/utc/offset +1 -1
  1315. data/data/refe/function_source/time/wday +1 -1
  1316. data/data/refe/function_source/time/yday +1 -1
  1317. data/data/refe/function_source/time/year +1 -1
  1318. data/data/refe/function_source/time/zone +1 -1
  1319. data/data/refe/function_source/timeofday +1 -1
  1320. data/data/refe/function_source/tokadd/- +1 -1
  1321. data/data/refe/function_source/tokadd/escape +1 -1
  1322. data/data/refe/function_source/tokadd/string +1 -1
  1323. data/data/refe/function_source/top/include +1 -1
  1324. data/data/refe/function_source/top/local/init +1 -1
  1325. data/data/refe/function_source/top/local/setup +2 -2
  1326. data/data/refe/function_source/top/private +1 -1
  1327. data/data/refe/function_source/top/public +1 -1
  1328. data/data/refe/function_source/trace/en +1 -1
  1329. data/data/refe/function_source/trace/ev +1 -1
  1330. data/data/refe/function_source/true/and +1 -1
  1331. data/data/refe/function_source/true/or +1 -1
  1332. data/data/refe/function_source/true/to/s +1 -1
  1333. data/data/refe/function_source/true/xor +1 -1
  1334. data/data/refe/function_source/umethod/bind +14 -4
  1335. data/data/refe/function_source/undefine/final +1 -1
  1336. data/data/refe/function_source/uninitialized/constant +1 -1
  1337. data/data/refe/function_source/unknown/node +10 -2
  1338. data/data/refe/function_source/unlink/internal +4 -2
  1339. data/data/refe/function_source/utf8/startpos +1 -1
  1340. data/data/refe/function_source/utime/internal +4 -3
  1341. data/data/refe/function_source/vafuncall +1 -1
  1342. data/data/refe/function_source/value/expr0 +1 -1
  1343. data/data/refe/function_source/vms/fileact +1 -1
  1344. data/data/refe/function_source/vms/fisexh +1 -1
  1345. data/data/refe/function_source/void/expr0 +1 -1
  1346. data/data/refe/function_source/void/stmts +1 -1
  1347. data/data/refe/function_source/w32/io/info +32 -0
  1348. data/data/refe/function_source/warn/unless/e/option +1 -1
  1349. data/data/refe/function_source/warning/unless/e/option +1 -1
  1350. data/data/refe/function_source/whole/match/p +1 -1
  1351. data/data/refe/function_source/win32/get/exception/list +1 -1
  1352. data/data/refe/function_source/win32/set/exception/list +1 -1
  1353. data/data/refe/function_source/wsplit/p +1 -1
  1354. data/data/refe/function_source/yield/under/- +1 -1
  1355. data/data/refe/function_source/yield/under/i +1 -1
  1356. data/data/refe/function_source/yycompile +1 -1
  1357. data/data/refe/function_source/yyerror +1 -1
  1358. data/data/refe/function_source/yylex +17 -3
  1359. data/data/refe/function_source/yyparse +2905 -0
  1360. data/data/refe/function_source/yystpcpy +1 -1
  1361. data/data/refe/function_source/yystrlen +1 -1
  1362. data/data/refe/function_source_comp +12 -4
  1363. data/data/refe/method_document/-cipher%2e/new +4 -2
  1364. data/data/refe/method_document/-kernel%2e/-a-r-g-f +8 -0
  1365. data/data/refe/method_document/-kernel%2e/-a-r-g-v +5 -0
  1366. data/data/refe/method_document/-kernel%2e/-d-a-t-a +17 -0
  1367. data/data/refe/method_document/-kernel%2e/-e-n-v +5 -0
  1368. data/data/refe/method_document/-kernel%2e/-f-a-l-s-e +5 -0
  1369. data/data/refe/method_document/-kernel%2e/-n-i-l +5 -0
  1370. data/data/refe/method_document/-kernel%2e/-p-l-a-t-f-o-r-m +9 -0
  1371. data/data/refe/method_document/-kernel%2e/-r-e-l-e-a-s-e_-d-a-t-e +9 -0
  1372. data/data/refe/method_document/-kernel%2e/-r-u-b-y_-p-l-a-t-f-o-r-m +4 -0
  1373. data/data/refe/method_document/-kernel%2e/-r-u-b-y_-r-e-l-e-a-s-e_-d-a-t-e +4 -0
  1374. data/data/refe/method_document/-kernel%2e/-r-u-b-y_-v-e-r-s-i-o-n +18 -0
  1375. data/data/refe/method_document/-kernel%2e/-s-c-r-i-p-t_-l-i-n-e-s__ +29 -0
  1376. data/data/refe/method_document/-kernel%2e/-s-t-d-e-r-r +4 -0
  1377. data/data/refe/method_document/-kernel%2e/-s-t-d-i-n +4 -0
  1378. data/data/refe/method_document/-kernel%2e/-s-t-d-o-u-t +4 -0
  1379. data/data/refe/method_document/-kernel%2e/-t-o-p-l-e-v-e-l_-b-i-n-d-i-n-g +4 -0
  1380. data/data/refe/method_document/-kernel%2e/-t-r-u-e +6 -0
  1381. data/data/refe/method_document/-kernel%2e/-v-e-r-s-i-o-n +9 -0
  1382. data/data/refe/method_document/-module%23/constants +1 -1
  1383. data/data/refe/method_document/-numeric%23/ceil +97 -3
  1384. data/data/refe/method_document/-numeric%23/div +47 -3
  1385. data/data/refe/method_document/-numeric%23/divmod +37 -10
  1386. data/data/refe/method_document/-numeric%23/floor +97 -3
  1387. data/data/refe/method_document/-numeric%23/modulo +62 -6
  1388. data/data/refe/method_document/-numeric%23/quo +44 -3
  1389. data/data/refe/method_document/-numeric%23/remainder +51 -4
  1390. data/data/refe/method_document/-numeric%23/round +97 -3
  1391. data/data/refe/method_document/-numeric%23/step +16 -2
  1392. data/data/refe/method_document/-numeric%23/truncate +97 -3
  1393. data/data/refe/method_document/-open-s-s-l%3a%3a-cipher%3a%3a-cipher%23/decrypt +2 -0
  1394. data/data/refe/method_document/-open-s-s-l%3a%3a-cipher%3a%3a-cipher%23/encrypt +2 -0
  1395. data/data/refe/method_document/-string%23/sub +1 -1
  1396. data/data/refe/method_document/-string%23/sub%21 +1 -1
  1397. data/data/refe/method_document/{-struct%23 → -struct%3a%3a-x-x-x%23}/%5b%5d +0 -0
  1398. data/data/refe/method_document/{-struct%23 → -struct%3a%3a-x-x-x%23}/%5b%5d%3d +0 -0
  1399. data/data/refe/method_document/{-struct%23 → -struct%3a%3a-x-x-x%23}/each +0 -0
  1400. data/data/refe/method_document/{-struct%23 → -struct%3a%3a-x-x-x%23}/each_pair +0 -0
  1401. data/data/refe/method_document/{-struct%23 → -struct%3a%3a-x-x-x%23}/length +0 -0
  1402. data/data/refe/method_document/{-struct%23 → -struct%3a%3a-x-x-x%23}/members +0 -0
  1403. data/data/refe/method_document/{-struct%23 → -struct%3a%3a-x-x-x%23}/size +0 -0
  1404. data/data/refe/method_document/{-struct%23 → -struct%3a%3a-x-x-x%23}/to_a +0 -0
  1405. data/data/refe/method_document/{-struct%23 → -struct%3a%3a-x-x-x%23}/values +0 -0
  1406. data/data/refe/method_document/{-struct%23 → -struct%3a%3a-x-x-x%23}/values_at +0 -0
  1407. data/data/refe/method_document/man%2e/constants +132 -0
  1408. data/data/refe/method_document/man%2e/functions +1210 -0
  1409. data/data/refe/method_document/man%2e/hostname +14 -0
  1410. data/data/refe/method_document/man%2e/servname +6 -0
  1411. data/data/refe/method_document/man%2e/sockaddr +22 -0
  1412. data/data/refe/method_document/man%2e/variables +533 -0
  1413. data/data/refe/method_document_comp +35 -10
  1414. data/data/refe/mf_relation/-file%2e/identical%3f +1 -0
  1415. data/data/refe/mf_relation/-file-test%2e/identical%3f +1 -0
  1416. data/data/refe/mf_relation/-object%23/respond_to%3f +1 -1
  1417. data/data/refe/mf_relation_comp +2 -0
  1418. data/lib/refe/info.rb +1 -1
  1419. data/lib/refe/rubyrefmparser.rb +39 -7
  1420. metadata +10453 -10410
  1421. data/data/refe/function_source/yy/reduce/print +0 -18
  1422. data/data/refe/function_source/yy/stack/print +0 -15
  1423. data/data/refe/function_source/yydestruct +0 -25
  1424. data/data/refe/function_source/yysymprint +0 -31
@@ -1,4 +1,4 @@
1
- gc.c:1708
1
+ gc.c:1706
2
2
  static VALUE
3
3
  undefine_final(os, obj)
4
4
  VALUE os, obj;
@@ -1,4 +1,4 @@
1
- variable.c:1197
1
+ variable.c:1199
2
2
  NORETURN(static void uninitialized_constant _((VALUE, ID)));
3
3
  static void
4
4
  uninitialized_constant(klass, id)
@@ -1,8 +1,16 @@
1
- eval.c:2812
1
+ eval.c:2813
2
2
  static void
3
3
  unknown_node(node)
4
4
  NODE *volatile node;
5
5
  {
6
6
  ruby_current_node = 0;
7
- rb_bug("unknown node type %d", nd_type(node));
7
+ if (node->flags == 0) {
8
+ rb_bug("terminated node (0x%lx)", node);
9
+ }
10
+ else if (BUILTIN_TYPE(node) != T_NODE) {
11
+ rb_bug("not a node 0x%02lx (0x%lx)", BUILTIN_TYPE(node), node);
12
+ }
13
+ else {
14
+ rb_bug("unknown node type %d (0x%lx)", nd_type(node), node);
15
+ }
8
16
  }
@@ -1,7 +1,9 @@
1
- file.c:2015
1
+ file.c:2175
2
+ static void unlink_internal _((const char *, void *));
2
3
  static void
3
- unlink_internal(path)
4
+ unlink_internal(path, arg)
4
5
  const char *path;
6
+ void *arg;
5
7
  {
6
8
  if (unlink(path) < 0)
7
9
  rb_sys_fail(path);
@@ -1,4 +1,4 @@
1
- regex.c:4621
1
+ regex.c:4622
2
2
  static unsigned int
3
3
  utf8_startpos(string, pos)
4
4
  const char *string;
@@ -1,9 +1,10 @@
1
- file.c:1873
1
+ file.c:2023
2
2
  static void
3
- utime_internal(path, utp)
3
+ utime_internal(path, arg)
4
4
  const char *path;
5
- struct utimbuf *utp;
5
+ void *arg;
6
6
  {
7
+ struct utimbuf *utp = arg;
7
8
  if (utime(path, utp) < 0)
8
9
  rb_sys_fail(path);
9
10
  }
@@ -1,4 +1,4 @@
1
- eval.c:5954
1
+ eval.c:5974
2
2
  static VALUE
3
3
  vafuncall(recv, mid, n, ar)
4
4
  VALUE recv;
@@ -1,4 +1,4 @@
1
- parse.c:9665
1
+ parse.c:9021
2
2
  static int
3
3
  value_expr0(node)
4
4
  NODE *node;
@@ -1,4 +1,4 @@
1
- dln.c:1878
1
+ dln.c:1879
2
2
  static int vms_fileact(char *filespec, int type)
3
3
  {
4
4
  if (vms_filespec)
@@ -1,4 +1,4 @@
1
- dln.c:1888
1
+ dln.c:1889
2
2
  static long vms_fisexh(long *sigarr, long *mecarr)
3
3
  {
4
4
  sys$unwind(1, 0);
@@ -1,4 +1,4 @@
1
- parse.c:9721
1
+ parse.c:9077
2
2
  static void
3
3
  void_expr0(node)
4
4
  NODE *node;
@@ -1,4 +1,4 @@
1
- parse.c:9817
1
+ parse.c:9173
2
2
  static void
3
3
  void_stmts(node)
4
4
  NODE *node;
@@ -0,0 +1,32 @@
1
+ file.c:666
2
+ static HANDLE
3
+ w32_io_info(file, st)
4
+ VALUE *file;
5
+ BY_HANDLE_FILE_INFORMATION *st;
6
+ {
7
+ VALUE tmp;
8
+ HANDLE f, ret = 0;
9
+
10
+ tmp = rb_check_convert_type(*file, T_FILE, "IO", "to_io");
11
+ if (!NIL_P(tmp)) {
12
+ OpenFile *fptr;
13
+
14
+ GetOpenFile(tmp, fptr);
15
+ f = (HANDLE)rb_w32_get_osfhandle(fileno(fptr->f));
16
+ if (f == (HANDLE)-1) return INVALID_HANDLE_VALUE;
17
+ }
18
+ else {
19
+ SafeStringValue(*file);
20
+ f = CreateFile(StringValueCStr(*file), 0,
21
+ FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING,
22
+ rb_w32_iswin95() ? 0 : FILE_FLAG_BACKUP_SEMANTICS, NULL);
23
+ if (f == INVALID_HANDLE_VALUE) return f;
24
+ ret = f;
25
+ }
26
+ if (GetFileType(f) == FILE_TYPE_DISK) {
27
+ ZeroMemory(st, sizeof(*st));
28
+ if (GetFileInformationByHandle(f, st)) return ret;
29
+ }
30
+ if (ret) CloseHandle(ret);
31
+ return INVALID_HANDLE_VALUE;
32
+ }
@@ -1,4 +1,4 @@
1
- parse.c:9905
1
+ parse.c:9261
2
2
  static void
3
3
  warn_unless_e_option(node, str)
4
4
  NODE *node;
@@ -1,4 +1,4 @@
1
- parse.c:9913
1
+ parse.c:9269
2
2
  static void
3
3
  warning_unless_e_option(node, str)
4
4
  NODE *node;
@@ -1,4 +1,4 @@
1
- parse.c:7894
1
+ parse.c:7236
2
2
  static int
3
3
  whole_match_p(eos, len, indent)
4
4
  char *eos;
@@ -1,4 +1,4 @@
1
- eval.c:9530
1
+ eval.c:9573
2
2
  static inline DWORD
3
3
  win32_get_exception_list()
4
4
  {
@@ -1,4 +1,4 @@
1
- eval.c:9557
1
+ eval.c:9600
2
2
  static inline void
3
3
  win32_set_exception_list(p)
4
4
  DWORD p;
@@ -1,4 +1,4 @@
1
- io.c:403
1
+ io.c:409
2
2
  static int
3
3
  wsplit_p(OpenFile *fptr)
4
4
  {
@@ -1,4 +1,4 @@
1
- eval.c:6487
1
+ eval.c:6517
2
2
  static VALUE
3
3
  yield_under(under, self)
4
4
  VALUE under, self;
@@ -1,4 +1,4 @@
1
- eval.c:6479
1
+ eval.c:6509
2
2
  static VALUE
3
3
  yield_under_i(self)
4
4
  VALUE self;
@@ -1,4 +1,4 @@
1
- parse.c:7219
1
+ parse.c:6561
2
2
  static NODE*
3
3
  yycompile(f, line)
4
4
  char *f;
@@ -1,4 +1,4 @@
1
- parse.c:7168
1
+ parse.c:6507
2
2
  static int
3
3
  yyerror(msg)
4
4
  const char *msg;
@@ -1,10 +1,11 @@
1
- parse.c:8004
1
+ parse.c:7346
2
2
  static int
3
3
  yylex()
4
4
  {
5
5
  register int c;
6
6
  int space_seen = 0;
7
7
  int cmd_state;
8
+ enum lex_state last_state;
8
9
 
9
10
  if (lex_strterm) {
10
11
  int token;
@@ -892,6 +893,7 @@ yylex()
892
893
  return '%';
893
894
 
894
895
  case '$':
896
+ last_state = lex_state;
895
897
  lex_state = EXPR_END;
896
898
  newtok();
897
899
  c = nextc();
@@ -934,7 +936,13 @@ yylex()
934
936
  tokadd('$');
935
937
  tokadd(c);
936
938
  c = nextc();
937
- tokadd(c);
939
+ if (is_identchar(c)) {
940
+ tokadd(c);
941
+ }
942
+ else {
943
+ pushback(c);
944
+ }
945
+ gvar:
938
946
  tokfix();
939
947
  yylval.id = rb_intern(tok());
940
948
  /* xxx shouldn't check if valid option variable */
@@ -944,6 +952,11 @@ yylex()
944
952
  case '`': /* $`: string before last match */
945
953
  case '\'': /* $': string after last match */
946
954
  case '+': /* $+: string matches last paren. */
955
+ if (last_state == EXPR_FNAME) {
956
+ tokadd('$');
957
+ tokadd(c);
958
+ goto gvar;
959
+ }
947
960
  yylval.node = NEW_BACK_REF(c);
948
961
  return tBACK_REF;
949
962
 
@@ -956,6 +969,7 @@ yylex()
956
969
  c = nextc();
957
970
  } while (ISDIGIT(c));
958
971
  pushback(c);
972
+ if (last_state == EXPR_FNAME) goto gvar;
959
973
  tokfix();
960
974
  yylval.node = NEW_NTH_REF(atoi(tok()+1));
961
975
  return tNTH_REF;
@@ -1033,8 +1047,8 @@ yylex()
1033
1047
 
1034
1048
  {
1035
1049
  int result = 0;
1036
- enum lex_state last_state = lex_state;
1037
1050
 
1051
+ last_state = lex_state;
1038
1052
  switch (tok()[0]) {
1039
1053
  case '$':
1040
1054
  lex_state = EXPR_END;
@@ -0,0 +1,2905 @@
1
+ parse.c:3337
2
+ int
3
+ yyparse (YYPARSE_PARAM_ARG)
4
+ YYPARSE_PARAM_DECL
5
+ {
6
+ /* If reentrant, generate the variables here. */
7
+ #if YYPURE
8
+ YY_DECL_VARIABLES
9
+ #endif /* !YYPURE */
10
+
11
+ register int yystate;
12
+ register int yyn;
13
+ int yyresult;
14
+ /* Number of tokens to shift before error messages enabled. */
15
+ int yyerrstatus;
16
+ /* Lookahead token as an internal (translated) token number. */
17
+ int yychar1 = 0;
18
+
19
+ /* Three stacks and their tools:
20
+ `yyss': related to states,
21
+ `yyvs': related to semantic values,
22
+ `yyls': related to locations.
23
+
24
+ Refer to the stacks thru separate pointers, to allow yyoverflow
25
+ to reallocate them elsewhere. */
26
+
27
+ /* The state stack. */
28
+ short yyssa[YYINITDEPTH];
29
+ short *yyss = yyssa;
30
+ register short *yyssp;
31
+
32
+ /* The semantic value stack. */
33
+ YYSTYPE yyvsa[YYINITDEPTH];
34
+ YYSTYPE *yyvs = yyvsa;
35
+ register YYSTYPE *yyvsp;
36
+
37
+ #if YYLSP_NEEDED
38
+ /* The location stack. */
39
+ YYLTYPE yylsa[YYINITDEPTH];
40
+ YYLTYPE *yyls = yylsa;
41
+ YYLTYPE *yylsp;
42
+ #endif
43
+
44
+ #if YYLSP_NEEDED
45
+ # define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
46
+ #else
47
+ # define YYPOPSTACK (yyvsp--, yyssp--)
48
+ #endif
49
+
50
+ YYSIZE_T yystacksize = YYINITDEPTH;
51
+
52
+
53
+ /* The variables used to return semantic value and location from the
54
+ action routines. */
55
+ YYSTYPE yyval;
56
+ #if YYLSP_NEEDED
57
+ YYLTYPE yyloc;
58
+ #endif
59
+
60
+ /* When reducing, the number of symbols on the RHS of the reduced
61
+ rule. */
62
+ int yylen;
63
+
64
+ YYDPRINTF ((stderr, "Starting parse\n"));
65
+
66
+ yystate = 0;
67
+ yyerrstatus = 0;
68
+ yynerrs = 0;
69
+ yychar = YYEMPTY; /* Cause a token to be read. */
70
+
71
+ /* Initialize stack pointers.
72
+ Waste one element of value and location stack
73
+ so that they stay on the same level as the state stack.
74
+ The wasted elements are never initialized. */
75
+
76
+ yyssp = yyss;
77
+ yyvsp = yyvs;
78
+ #if YYLSP_NEEDED
79
+ yylsp = yyls;
80
+ #endif
81
+ goto yysetstate;
82
+
83
+ /*------------------------------------------------------------.
84
+ | yynewstate -- Push a new state, which is found in yystate. |
85
+ `------------------------------------------------------------*/
86
+ yynewstate:
87
+ /* In all cases, when you get here, the value and location stacks
88
+ have just been pushed. so pushing a state here evens the stacks.
89
+ */
90
+ yyssp++;
91
+
92
+ yysetstate:
93
+ *yyssp = yystate;
94
+
95
+ if (yyssp >= yyss + yystacksize - 1)
96
+ {
97
+ /* Get the current used size of the three stacks, in elements. */
98
+ YYSIZE_T yysize = yyssp - yyss + 1;
99
+
100
+ #ifdef yyoverflow
101
+ {
102
+ /* Give user a chance to reallocate the stack. Use copies of
103
+ these so that the &'s don't force the real ones into
104
+ memory. */
105
+ YYSTYPE *yyvs1 = yyvs;
106
+ short *yyss1 = yyss;
107
+
108
+ /* Each stack pointer address is followed by the size of the
109
+ data in use in that stack, in bytes. */
110
+ # if YYLSP_NEEDED
111
+ YYLTYPE *yyls1 = yyls;
112
+ /* This used to be a conditional around just the two extra args,
113
+ but that might be undefined if yyoverflow is a macro. */
114
+ yyoverflow ("parser stack overflow",
115
+ &yyss1, yysize * sizeof (*yyssp),
116
+ &yyvs1, yysize * sizeof (*yyvsp),
117
+ &yyls1, yysize * sizeof (*yylsp),
118
+ &yystacksize);
119
+ yyls = yyls1;
120
+ # else
121
+ yyoverflow ("parser stack overflow",
122
+ &yyss1, yysize * sizeof (*yyssp),
123
+ &yyvs1, yysize * sizeof (*yyvsp),
124
+ &yystacksize);
125
+ # endif
126
+ yyss = yyss1;
127
+ yyvs = yyvs1;
128
+ }
129
+ #else /* no yyoverflow */
130
+ # ifndef YYSTACK_RELOCATE
131
+ goto yyoverflowlab;
132
+ # else
133
+ /* Extend the stack our own way. */
134
+ if (yystacksize >= YYMAXDEPTH)
135
+ goto yyoverflowlab;
136
+ yystacksize *= 2;
137
+ if (yystacksize > YYMAXDEPTH)
138
+ yystacksize = YYMAXDEPTH;
139
+
140
+ {
141
+ short *yyss1 = yyss;
142
+ union yyalloc *yyptr =
143
+ (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
144
+ if (! yyptr)
145
+ goto yyoverflowlab;
146
+ YYSTACK_RELOCATE (yyss);
147
+ YYSTACK_RELOCATE (yyvs);
148
+ # if YYLSP_NEEDED
149
+ YYSTACK_RELOCATE (yyls);
150
+ # endif
151
+ # undef YYSTACK_RELOCATE
152
+ if (yyss1 != yyssa)
153
+ YYSTACK_FREE (yyss1);
154
+ }
155
+ # endif
156
+ #endif /* no yyoverflow */
157
+
158
+ yyssp = yyss + yysize - 1;
159
+ yyvsp = yyvs + yysize - 1;
160
+ #if YYLSP_NEEDED
161
+ yylsp = yyls + yysize - 1;
162
+ #endif
163
+
164
+ YYDPRINTF ((stderr, "Stack size increased to %lu\n",
165
+ (unsigned long int) yystacksize));
166
+
167
+ if (yyssp >= yyss + yystacksize - 1)
168
+ YYABORT;
169
+ }
170
+
171
+ YYDPRINTF ((stderr, "Entering state %d\n", yystate));
172
+
173
+ goto yybackup;
174
+
175
+
176
+ /*-----------.
177
+ | yybackup. |
178
+ `-----------*/
179
+ yybackup:
180
+
181
+ /* Do appropriate processing given the current state. */
182
+ /* Read a lookahead token if we need one and don't already have one. */
183
+ /* yyresume: */
184
+
185
+ /* First try to decide what to do without reference to lookahead token. */
186
+
187
+ yyn = yypact[yystate];
188
+ if (yyn == YYFLAG)
189
+ goto yydefault;
190
+
191
+ /* Not known => get a lookahead token if don't already have one. */
192
+
193
+ /* yychar is either YYEMPTY or YYEOF
194
+ or a valid token in external form. */
195
+
196
+ if (yychar == YYEMPTY)
197
+ {
198
+ YYDPRINTF ((stderr, "Reading a token: "));
199
+ yychar = YYLEX;
200
+ }
201
+
202
+ /* Convert token to internal form (in yychar1) for indexing tables with */
203
+
204
+ if (yychar <= 0) /* This means end of input. */
205
+ {
206
+ yychar1 = 0;
207
+ yychar = YYEOF; /* Don't call YYLEX any more */
208
+
209
+ YYDPRINTF ((stderr, "Now at end of input.\n"));
210
+ }
211
+ else
212
+ {
213
+ yychar1 = YYTRANSLATE (yychar);
214
+
215
+ #if YYDEBUG
216
+ /* We have to keep this `#if YYDEBUG', since we use variables
217
+ which are defined only if `YYDEBUG' is set. */
218
+ if (yydebug)
219
+ {
220
+ YYFPRINTF (stderr, "Next token is %d (%s",
221
+ yychar, yytname[yychar1]);
222
+ /* Give the individual parser a way to print the precise
223
+ meaning of a token, for further debugging info. */
224
+ # ifdef YYPRINT
225
+ YYPRINT (stderr, yychar, yylval);
226
+ # endif
227
+ YYFPRINTF (stderr, ")\n");
228
+ }
229
+ #endif
230
+ }
231
+
232
+ yyn += yychar1;
233
+ if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
234
+ goto yydefault;
235
+
236
+ yyn = yytable[yyn];
237
+
238
+ /* yyn is what to do for this token type in this state.
239
+ Negative => reduce, -yyn is rule number.
240
+ Positive => shift, yyn is new state.
241
+ New state is final state => don't bother to shift,
242
+ just return success.
243
+ 0, or most negative number => error. */
244
+
245
+ if (yyn < 0)
246
+ {
247
+ if (yyn == YYFLAG)
248
+ goto yyerrlab;
249
+ yyn = -yyn;
250
+ goto yyreduce;
251
+ }
252
+ else if (yyn == 0)
253
+ goto yyerrlab;
254
+
255
+ if (yyn == YYFINAL)
256
+ YYACCEPT;
257
+
258
+ /* Shift the lookahead token. */
259
+ YYDPRINTF ((stderr, "Shifting token %d (%s), ",
260
+ yychar, yytname[yychar1]));
261
+
262
+ /* Discard the token being shifted unless it is eof. */
263
+ if (yychar != YYEOF)
264
+ yychar = YYEMPTY;
265
+
266
+ *++yyvsp = yylval;
267
+ #if YYLSP_NEEDED
268
+ *++yylsp = yylloc;
269
+ #endif
270
+
271
+ /* Count tokens shifted since error; after three, turn off error
272
+ status. */
273
+ if (yyerrstatus)
274
+ yyerrstatus--;
275
+
276
+ yystate = yyn;
277
+ goto yynewstate;
278
+
279
+
280
+ /*-----------------------------------------------------------.
281
+ | yydefault -- do the default action for the current state. |
282
+ `-----------------------------------------------------------*/
283
+ yydefault:
284
+ yyn = yydefact[yystate];
285
+ if (yyn == 0)
286
+ goto yyerrlab;
287
+ goto yyreduce;
288
+
289
+
290
+ /*-----------------------------.
291
+ | yyreduce -- Do a reduction. |
292
+ `-----------------------------*/
293
+ yyreduce:
294
+ /* yyn is the number of a rule to reduce with. */
295
+ yylen = yyr2[yyn];
296
+
297
+ /* If YYLEN is nonzero, implement the default value of the action:
298
+ `$$ = $1'.
299
+
300
+ Otherwise, the following line sets YYVAL to the semantic value of
301
+ the lookahead token. This behavior is undocumented and Bison
302
+ users should not rely upon it. Assigning to YYVAL
303
+ unconditionally makes the parser a bit smaller, and it avoids a
304
+ GCC warning that YYVAL may be used uninitialized. */
305
+ yyval = yyvsp[1-yylen];
306
+
307
+ #if YYLSP_NEEDED
308
+ /* Similarly for the default location. Let the user run additional
309
+ commands if for instance locations are ranges. */
310
+ yyloc = yylsp[1-yylen];
311
+ YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
312
+ #endif
313
+
314
+ #if YYDEBUG
315
+ /* We have to keep this `#if YYDEBUG', since we use variables which
316
+ are defined only if `YYDEBUG' is set. */
317
+ if (yydebug)
318
+ {
319
+ int yyi;
320
+
321
+ YYFPRINTF (stderr, "Reducing via rule %d (line %d), ",
322
+ yyn, yyrline[yyn]);
323
+
324
+ /* Print the symbols being reduced, and their result. */
325
+ for (yyi = yyprhs[yyn]; yyrhs[yyi] > 0; yyi++)
326
+ YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]);
327
+ YYFPRINTF (stderr, " -> %s\n", yytname[yyr1[yyn]]);
328
+ }
329
+ #endif
330
+
331
+ switch (yyn) {
332
+
333
+ case 1:
334
+ #line 345 "parse.y"
335
+ {
336
+ lex_state = EXPR_BEG;
337
+ top_local_init();
338
+ if (ruby_class == rb_cObject) class_nest = 0;
339
+ else class_nest = 1;
340
+ }
341
+ break;
342
+ case 2:
343
+ #line 352 "parse.y"
344
+ {
345
+ if (yyvsp[0].node && !compile_for_eval) {
346
+ /* last expression should not be void */
347
+ if (nd_type(yyvsp[0].node) != NODE_BLOCK) void_expr(yyvsp[0].node);
348
+ else {
349
+ NODE *node = yyvsp[0].node;
350
+ while (node->nd_next) {
351
+ node = node->nd_next;
352
+ }
353
+ void_expr(node->nd_head);
354
+ }
355
+ }
356
+ ruby_eval_tree = block_append(ruby_eval_tree, yyvsp[0].node);
357
+ top_local_setup();
358
+ class_nest = 0;
359
+ }
360
+ break;
361
+ case 3:
362
+ #line 374 "parse.y"
363
+ {
364
+ yyval.node = yyvsp[-3].node;
365
+ if (yyvsp[-2].node) {
366
+ yyval.node = NEW_RESCUE(yyvsp[-3].node, yyvsp[-2].node, yyvsp[-1].node);
367
+ }
368
+ else if (yyvsp[-1].node) {
369
+ rb_warn("else without rescue is useless");
370
+ yyval.node = block_append(yyval.node, yyvsp[-1].node);
371
+ }
372
+ if (yyvsp[0].node) {
373
+ yyval.node = NEW_ENSURE(yyval.node, yyvsp[0].node);
374
+ }
375
+ fixpos(yyval.node, yyvsp[-3].node);
376
+ }
377
+ break;
378
+ case 4:
379
+ #line 391 "parse.y"
380
+ {
381
+ void_stmts(yyvsp[-1].node);
382
+ yyval.node = yyvsp[-1].node;
383
+ }
384
+ break;
385
+ case 6:
386
+ #line 399 "parse.y"
387
+ {
388
+ yyval.node = newline_node(yyvsp[0].node);
389
+ }
390
+ break;
391
+ case 7:
392
+ #line 403 "parse.y"
393
+ {
394
+ yyval.node = block_append(yyvsp[-2].node, newline_node(yyvsp[0].node));
395
+ }
396
+ break;
397
+ case 8:
398
+ #line 407 "parse.y"
399
+ {
400
+ yyval.node = yyvsp[0].node;
401
+ }
402
+ break;
403
+ case 9:
404
+ #line 412 "parse.y"
405
+ {lex_state = EXPR_FNAME;}
406
+ break;
407
+ case 10:
408
+ #line 413 "parse.y"
409
+ {
410
+ yyval.node = NEW_ALIAS(yyvsp[-2].id, yyvsp[0].id);
411
+ }
412
+ break;
413
+ case 11:
414
+ #line 417 "parse.y"
415
+ {
416
+ yyval.node = NEW_VALIAS(yyvsp[-1].id, yyvsp[0].id);
417
+ }
418
+ break;
419
+ case 12:
420
+ #line 421 "parse.y"
421
+ {
422
+ char buf[3];
423
+
424
+ sprintf(buf, "$%c", (char)yyvsp[0].node->nd_nth);
425
+ yyval.node = NEW_VALIAS(yyvsp[-1].id, rb_intern(buf));
426
+ }
427
+ break;
428
+ case 13:
429
+ #line 428 "parse.y"
430
+ {
431
+ yyerror("can't make alias for the number variables");
432
+ yyval.node = 0;
433
+ }
434
+ break;
435
+ case 14:
436
+ #line 433 "parse.y"
437
+ {
438
+ yyval.node = yyvsp[0].node;
439
+ }
440
+ break;
441
+ case 15:
442
+ #line 437 "parse.y"
443
+ {
444
+ yyval.node = NEW_IF(cond(yyvsp[0].node), yyvsp[-2].node, 0);
445
+ fixpos(yyval.node, yyvsp[0].node);
446
+ if (cond_negative(&yyval.node->nd_cond)) {
447
+ yyval.node->nd_else = yyval.node->nd_body;
448
+ yyval.node->nd_body = 0;
449
+ }
450
+ }
451
+ break;
452
+ case 16:
453
+ #line 446 "parse.y"
454
+ {
455
+ yyval.node = NEW_UNLESS(cond(yyvsp[0].node), yyvsp[-2].node, 0);
456
+ fixpos(yyval.node, yyvsp[0].node);
457
+ if (cond_negative(&yyval.node->nd_cond)) {
458
+ yyval.node->nd_body = yyval.node->nd_else;
459
+ yyval.node->nd_else = 0;
460
+ }
461
+ }
462
+ break;
463
+ case 17:
464
+ #line 455 "parse.y"
465
+ {
466
+ if (yyvsp[-2].node && nd_type(yyvsp[-2].node) == NODE_BEGIN) {
467
+ yyval.node = NEW_WHILE(cond(yyvsp[0].node), yyvsp[-2].node->nd_body, 0);
468
+ }
469
+ else {
470
+ yyval.node = NEW_WHILE(cond(yyvsp[0].node), yyvsp[-2].node, 1);
471
+ }
472
+ if (cond_negative(&yyval.node->nd_cond)) {
473
+ nd_set_type(yyval.node, NODE_UNTIL);
474
+ }
475
+ }
476
+ break;
477
+ case 18:
478
+ #line 467 "parse.y"
479
+ {
480
+ if (yyvsp[-2].node && nd_type(yyvsp[-2].node) == NODE_BEGIN) {
481
+ yyval.node = NEW_UNTIL(cond(yyvsp[0].node), yyvsp[-2].node->nd_body, 0);
482
+ }
483
+ else {
484
+ yyval.node = NEW_UNTIL(cond(yyvsp[0].node), yyvsp[-2].node, 1);
485
+ }
486
+ if (cond_negative(&yyval.node->nd_cond)) {
487
+ nd_set_type(yyval.node, NODE_WHILE);
488
+ }
489
+ }
490
+ break;
491
+ case 19:
492
+ #line 479 "parse.y"
493
+ {
494
+ yyval.node = NEW_RESCUE(yyvsp[-2].node, NEW_RESBODY(0,yyvsp[0].node,0), 0);
495
+ }
496
+ break;
497
+ case 20:
498
+ #line 483 "parse.y"
499
+ {
500
+ if (in_def || in_single) {
501
+ yyerror("BEGIN in method");
502
+ }
503
+ local_push(0);
504
+ }
505
+ break;
506
+ case 21:
507
+ #line 490 "parse.y"
508
+ {
509
+ ruby_eval_tree_begin = block_append(ruby_eval_tree_begin,
510
+ NEW_PREEXE(yyvsp[-1].node));
511
+ local_pop();
512
+ yyval.node = 0;
513
+ }
514
+ break;
515
+ case 22:
516
+ #line 497 "parse.y"
517
+ {
518
+ if (in_def || in_single) {
519
+ rb_warn("END in method; use at_exit");
520
+ }
521
+
522
+ yyval.node = NEW_ITER(0, NEW_POSTEXE(), yyvsp[-1].node);
523
+ }
524
+ break;
525
+ case 23:
526
+ #line 505 "parse.y"
527
+ {
528
+ yyval.node = node_assign(yyvsp[-2].node, yyvsp[0].node);
529
+ }
530
+ break;
531
+ case 24:
532
+ #line 509 "parse.y"
533
+ {
534
+ value_expr(yyvsp[0].node);
535
+ yyvsp[-2].node->nd_value = (yyvsp[-2].node->nd_head) ? NEW_TO_ARY(yyvsp[0].node) : NEW_ARRAY(yyvsp[0].node);
536
+ yyval.node = yyvsp[-2].node;
537
+ }
538
+ break;
539
+ case 25:
540
+ #line 515 "parse.y"
541
+ {
542
+ value_expr(yyvsp[0].node);
543
+ if (yyvsp[-2].node) {
544
+ ID vid = yyvsp[-2].node->nd_vid;
545
+ if (yyvsp[-1].id == tOROP) {
546
+ yyvsp[-2].node->nd_value = yyvsp[0].node;
547
+ yyval.node = NEW_OP_ASGN_OR(gettable(vid), yyvsp[-2].node);
548
+ if (is_asgn_or_id(vid)) {
549
+ yyval.node->nd_aid = vid;
550
+ }
551
+ }
552
+ else if (yyvsp[-1].id == tANDOP) {
553
+ yyvsp[-2].node->nd_value = yyvsp[0].node;
554
+ yyval.node = NEW_OP_ASGN_AND(gettable(vid), yyvsp[-2].node);
555
+ }
556
+ else {
557
+ yyval.node = yyvsp[-2].node;
558
+ yyval.node->nd_value = call_op(gettable(vid),yyvsp[-1].id,1,yyvsp[0].node);
559
+ }
560
+ }
561
+ else {
562
+ yyval.node = 0;
563
+ }
564
+ }
565
+ break;
566
+ case 26:
567
+ #line 540 "parse.y"
568
+ {
569
+ NODE *args;
570
+
571
+ value_expr(yyvsp[0].node);
572
+ args = NEW_LIST(yyvsp[0].node);
573
+ if (yyvsp[-3].node && nd_type(yyvsp[-3].node) != NODE_ARRAY)
574
+ yyvsp[-3].node = NEW_LIST(yyvsp[-3].node);
575
+ yyvsp[-3].node = list_append(yyvsp[-3].node, NEW_NIL());
576
+ list_concat(args, yyvsp[-3].node);
577
+ if (yyvsp[-1].id == tOROP) {
578
+ yyvsp[-1].id = 0;
579
+ }
580
+ else if (yyvsp[-1].id == tANDOP) {
581
+ yyvsp[-1].id = 1;
582
+ }
583
+ yyval.node = NEW_OP_ASGN1(yyvsp[-5].node, yyvsp[-1].id, args);
584
+ fixpos(yyval.node, yyvsp[-5].node);
585
+ }
586
+ break;
587
+ case 27:
588
+ #line 559 "parse.y"
589
+ {
590
+ value_expr(yyvsp[0].node);
591
+ if (yyvsp[-1].id == tOROP) {
592
+ yyvsp[-1].id = 0;
593
+ }
594
+ else if (yyvsp[-1].id == tANDOP) {
595
+ yyvsp[-1].id = 1;
596
+ }
597
+ yyval.node = NEW_OP_ASGN2(yyvsp[-4].node, yyvsp[-2].id, yyvsp[-1].id, yyvsp[0].node);
598
+ fixpos(yyval.node, yyvsp[-4].node);
599
+ }
600
+ break;
601
+ case 28:
602
+ #line 571 "parse.y"
603
+ {
604
+ value_expr(yyvsp[0].node);
605
+ if (yyvsp[-1].id == tOROP) {
606
+ yyvsp[-1].id = 0;
607
+ }
608
+ else if (yyvsp[-1].id == tANDOP) {
609
+ yyvsp[-1].id = 1;
610
+ }
611
+ yyval.node = NEW_OP_ASGN2(yyvsp[-4].node, yyvsp[-2].id, yyvsp[-1].id, yyvsp[0].node);
612
+ fixpos(yyval.node, yyvsp[-4].node);
613
+ }
614
+ break;
615
+ case 29:
616
+ #line 583 "parse.y"
617
+ {
618
+ value_expr(yyvsp[0].node);
619
+ if (yyvsp[-1].id == tOROP) {
620
+ yyvsp[-1].id = 0;
621
+ }
622
+ else if (yyvsp[-1].id == tANDOP) {
623
+ yyvsp[-1].id = 1;
624
+ }
625
+ yyval.node = NEW_OP_ASGN2(yyvsp[-4].node, yyvsp[-2].id, yyvsp[-1].id, yyvsp[0].node);
626
+ fixpos(yyval.node, yyvsp[-4].node);
627
+ }
628
+ break;
629
+ case 30:
630
+ #line 595 "parse.y"
631
+ {
632
+ rb_backref_error(yyvsp[-2].node);
633
+ yyval.node = 0;
634
+ }
635
+ break;
636
+ case 31:
637
+ #line 600 "parse.y"
638
+ {
639
+ yyval.node = node_assign(yyvsp[-2].node, NEW_SVALUE(yyvsp[0].node));
640
+ }
641
+ break;
642
+ case 32:
643
+ #line 604 "parse.y"
644
+ {
645
+ yyvsp[-2].node->nd_value = (yyvsp[-2].node->nd_head) ? NEW_TO_ARY(yyvsp[0].node) : NEW_ARRAY(yyvsp[0].node);
646
+ yyval.node = yyvsp[-2].node;
647
+ }
648
+ break;
649
+ case 33:
650
+ #line 609 "parse.y"
651
+ {
652
+ yyvsp[-2].node->nd_value = yyvsp[0].node;
653
+ yyval.node = yyvsp[-2].node;
654
+ }
655
+ break;
656
+ case 36:
657
+ #line 618 "parse.y"
658
+ {
659
+ yyval.node = logop(NODE_AND, yyvsp[-2].node, yyvsp[0].node);
660
+ }
661
+ break;
662
+ case 37:
663
+ #line 622 "parse.y"
664
+ {
665
+ yyval.node = logop(NODE_OR, yyvsp[-2].node, yyvsp[0].node);
666
+ }
667
+ break;
668
+ case 38:
669
+ #line 626 "parse.y"
670
+ {
671
+ yyval.node = NEW_NOT(cond(yyvsp[0].node));
672
+ }
673
+ break;
674
+ case 39:
675
+ #line 630 "parse.y"
676
+ {
677
+ yyval.node = NEW_NOT(cond(yyvsp[0].node));
678
+ }
679
+ break;
680
+ case 41:
681
+ #line 637 "parse.y"
682
+ {
683
+ value_expr(yyval.node);
684
+ yyval.node = yyvsp[0].node;
685
+ }
686
+ break;
687
+ case 44:
688
+ #line 646 "parse.y"
689
+ {
690
+ yyval.node = NEW_RETURN(ret_args(yyvsp[0].node));
691
+ }
692
+ break;
693
+ case 45:
694
+ #line 650 "parse.y"
695
+ {
696
+ yyval.node = NEW_BREAK(ret_args(yyvsp[0].node));
697
+ }
698
+ break;
699
+ case 46:
700
+ #line 654 "parse.y"
701
+ {
702
+ yyval.node = NEW_NEXT(ret_args(yyvsp[0].node));
703
+ }
704
+ break;
705
+ case 48:
706
+ #line 661 "parse.y"
707
+ {
708
+ yyval.node = new_call(yyvsp[-3].node, yyvsp[-1].id, yyvsp[0].node);
709
+ }
710
+ break;
711
+ case 49:
712
+ #line 665 "parse.y"
713
+ {
714
+ yyval.node = new_call(yyvsp[-3].node, yyvsp[-1].id, yyvsp[0].node);
715
+ }
716
+ break;
717
+ case 50:
718
+ #line 671 "parse.y"
719
+ {
720
+ yyval.vars = dyna_push();
721
+ yyvsp[0].num = ruby_sourceline;
722
+ }
723
+ break;
724
+ case 51:
725
+ #line 675 "parse.y"
726
+ {yyval.vars = ruby_dyna_vars;}
727
+ break;
728
+ case 52:
729
+ #line 678 "parse.y"
730
+ {
731
+ yyval.node = NEW_ITER(yyvsp[-3].node, 0, dyna_init(yyvsp[-1].node, yyvsp[-2].vars));
732
+ nd_set_line(yyval.node, yyvsp[-5].num);
733
+ dyna_pop(yyvsp[-4].vars);
734
+ }
735
+ break;
736
+ case 53:
737
+ #line 686 "parse.y"
738
+ {
739
+ yyval.node = new_fcall(yyvsp[-1].id, yyvsp[0].node);
740
+ fixpos(yyval.node, yyvsp[0].node);
741
+ }
742
+ break;
743
+ case 54:
744
+ #line 691 "parse.y"
745
+ {
746
+ yyval.node = new_fcall(yyvsp[-2].id, yyvsp[-1].node);
747
+ if (yyvsp[0].node) {
748
+ if (nd_type(yyval.node) == NODE_BLOCK_PASS) {
749
+ rb_compile_error("both block arg and actual block given");
750
+ }
751
+ yyvsp[0].node->nd_iter = yyval.node;
752
+ yyval.node = yyvsp[0].node;
753
+ }
754
+ fixpos(yyval.node, yyvsp[-1].node);
755
+ }
756
+ break;
757
+ case 55:
758
+ #line 703 "parse.y"
759
+ {
760
+ yyval.node = new_call(yyvsp[-3].node, yyvsp[-1].id, yyvsp[0].node);
761
+ fixpos(yyval.node, yyvsp[-3].node);
762
+ }
763
+ break;
764
+ case 56:
765
+ #line 708 "parse.y"
766
+ {
767
+ yyval.node = new_call(yyvsp[-4].node, yyvsp[-2].id, yyvsp[-1].node);
768
+ if (yyvsp[0].node) {
769
+ if (nd_type(yyval.node) == NODE_BLOCK_PASS) {
770
+ rb_compile_error("both block arg and actual block given");
771
+ }
772
+ yyvsp[0].node->nd_iter = yyval.node;
773
+ yyval.node = yyvsp[0].node;
774
+ }
775
+ fixpos(yyval.node, yyvsp[-4].node);
776
+ }
777
+ break;
778
+ case 57:
779
+ #line 720 "parse.y"
780
+ {
781
+ yyval.node = new_call(yyvsp[-3].node, yyvsp[-1].id, yyvsp[0].node);
782
+ fixpos(yyval.node, yyvsp[-3].node);
783
+ }
784
+ break;
785
+ case 58:
786
+ #line 725 "parse.y"
787
+ {
788
+ yyval.node = new_call(yyvsp[-4].node, yyvsp[-2].id, yyvsp[-1].node);
789
+ if (yyvsp[0].node) {
790
+ if (nd_type(yyval.node) == NODE_BLOCK_PASS) {
791
+ rb_compile_error("both block arg and actual block given");
792
+ }
793
+ yyvsp[0].node->nd_iter = yyval.node;
794
+ yyval.node = yyvsp[0].node;
795
+ }
796
+ fixpos(yyval.node, yyvsp[-4].node);
797
+ }
798
+ break;
799
+ case 59:
800
+ #line 737 "parse.y"
801
+ {
802
+ yyval.node = new_super(yyvsp[0].node);
803
+ fixpos(yyval.node, yyvsp[0].node);
804
+ }
805
+ break;
806
+ case 60:
807
+ #line 742 "parse.y"
808
+ {
809
+ yyval.node = new_yield(yyvsp[0].node);
810
+ fixpos(yyval.node, yyvsp[0].node);
811
+ }
812
+ break;
813
+ case 62:
814
+ #line 750 "parse.y"
815
+ {
816
+ yyval.node = yyvsp[-1].node;
817
+ }
818
+ break;
819
+ case 64:
820
+ #line 757 "parse.y"
821
+ {
822
+ yyval.node = NEW_MASGN(NEW_LIST(yyvsp[-1].node), 0);
823
+ }
824
+ break;
825
+ case 65:
826
+ #line 763 "parse.y"
827
+ {
828
+ yyval.node = NEW_MASGN(yyvsp[0].node, 0);
829
+ }
830
+ break;
831
+ case 66:
832
+ #line 767 "parse.y"
833
+ {
834
+ yyval.node = NEW_MASGN(list_append(yyvsp[-1].node,yyvsp[0].node), 0);
835
+ }
836
+ break;
837
+ case 67:
838
+ #line 771 "parse.y"
839
+ {
840
+ yyval.node = NEW_MASGN(yyvsp[-2].node, yyvsp[0].node);
841
+ }
842
+ break;
843
+ case 68:
844
+ #line 775 "parse.y"
845
+ {
846
+ yyval.node = NEW_MASGN(yyvsp[-1].node, -1);
847
+ }
848
+ break;
849
+ case 69:
850
+ #line 779 "parse.y"
851
+ {
852
+ yyval.node = NEW_MASGN(0, yyvsp[0].node);
853
+ }
854
+ break;
855
+ case 70:
856
+ #line 783 "parse.y"
857
+ {
858
+ yyval.node = NEW_MASGN(0, -1);
859
+ }
860
+ break;
861
+ case 72:
862
+ #line 790 "parse.y"
863
+ {
864
+ yyval.node = yyvsp[-1].node;
865
+ }
866
+ break;
867
+ case 73:
868
+ #line 796 "parse.y"
869
+ {
870
+ yyval.node = NEW_LIST(yyvsp[-1].node);
871
+ }
872
+ break;
873
+ case 74:
874
+ #line 800 "parse.y"
875
+ {
876
+ yyval.node = list_append(yyvsp[-2].node, yyvsp[-1].node);
877
+ }
878
+ break;
879
+ case 75:
880
+ #line 806 "parse.y"
881
+ {
882
+ yyval.node = assignable(yyvsp[0].id, 0);
883
+ }
884
+ break;
885
+ case 76:
886
+ #line 810 "parse.y"
887
+ {
888
+ yyval.node = aryset(yyvsp[-3].node, yyvsp[-1].node);
889
+ }
890
+ break;
891
+ case 77:
892
+ #line 814 "parse.y"
893
+ {
894
+ yyval.node = attrset(yyvsp[-2].node, yyvsp[0].id);
895
+ }
896
+ break;
897
+ case 78:
898
+ #line 818 "parse.y"
899
+ {
900
+ yyval.node = attrset(yyvsp[-2].node, yyvsp[0].id);
901
+ }
902
+ break;
903
+ case 79:
904
+ #line 822 "parse.y"
905
+ {
906
+ yyval.node = attrset(yyvsp[-2].node, yyvsp[0].id);
907
+ }
908
+ break;
909
+ case 80:
910
+ #line 826 "parse.y"
911
+ {
912
+ if (in_def || in_single)
913
+ yyerror("dynamic constant assignment");
914
+ yyval.node = NEW_CDECL(0, 0, NEW_COLON2(yyvsp[-2].node, yyvsp[0].id));
915
+ }
916
+ break;
917
+ case 81:
918
+ #line 832 "parse.y"
919
+ {
920
+ if (in_def || in_single)
921
+ yyerror("dynamic constant assignment");
922
+ yyval.node = NEW_CDECL(0, 0, NEW_COLON3(yyvsp[0].id));
923
+ }
924
+ break;
925
+ case 82:
926
+ #line 838 "parse.y"
927
+ {
928
+ rb_backref_error(yyvsp[0].node);
929
+ yyval.node = 0;
930
+ }
931
+ break;
932
+ case 83:
933
+ #line 845 "parse.y"
934
+ {
935
+ yyval.node = assignable(yyvsp[0].id, 0);
936
+ }
937
+ break;
938
+ case 84:
939
+ #line 849 "parse.y"
940
+ {
941
+ yyval.node = aryset(yyvsp[-3].node, yyvsp[-1].node);
942
+ }
943
+ break;
944
+ case 85:
945
+ #line 853 "parse.y"
946
+ {
947
+ yyval.node = attrset(yyvsp[-2].node, yyvsp[0].id);
948
+ }
949
+ break;
950
+ case 86:
951
+ #line 857 "parse.y"
952
+ {
953
+ yyval.node = attrset(yyvsp[-2].node, yyvsp[0].id);
954
+ }
955
+ break;
956
+ case 87:
957
+ #line 861 "parse.y"
958
+ {
959
+ yyval.node = attrset(yyvsp[-2].node, yyvsp[0].id);
960
+ }
961
+ break;
962
+ case 88:
963
+ #line 865 "parse.y"
964
+ {
965
+ if (in_def || in_single)
966
+ yyerror("dynamic constant assignment");
967
+ yyval.node = NEW_CDECL(0, 0, NEW_COLON2(yyvsp[-2].node, yyvsp[0].id));
968
+ }
969
+ break;
970
+ case 89:
971
+ #line 871 "parse.y"
972
+ {
973
+ if (in_def || in_single)
974
+ yyerror("dynamic constant assignment");
975
+ yyval.node = NEW_CDECL(0, 0, NEW_COLON3(yyvsp[0].id));
976
+ }
977
+ break;
978
+ case 90:
979
+ #line 877 "parse.y"
980
+ {
981
+ rb_backref_error(yyvsp[0].node);
982
+ yyval.node = 0;
983
+ }
984
+ break;
985
+ case 91:
986
+ #line 884 "parse.y"
987
+ {
988
+ yyerror("class/module name must be CONSTANT");
989
+ }
990
+ break;
991
+ case 93:
992
+ #line 891 "parse.y"
993
+ {
994
+ yyval.node = NEW_COLON3(yyvsp[0].id);
995
+ }
996
+ break;
997
+ case 94:
998
+ #line 895 "parse.y"
999
+ {
1000
+ yyval.node = NEW_COLON2(0, yyval.node);
1001
+ }
1002
+ break;
1003
+ case 95:
1004
+ #line 899 "parse.y"
1005
+ {
1006
+ yyval.node = NEW_COLON2(yyvsp[-2].node, yyvsp[0].id);
1007
+ }
1008
+ break;
1009
+ case 99:
1010
+ #line 908 "parse.y"
1011
+ {
1012
+ lex_state = EXPR_END;
1013
+ yyval.id = yyvsp[0].id;
1014
+ }
1015
+ break;
1016
+ case 100:
1017
+ #line 913 "parse.y"
1018
+ {
1019
+ lex_state = EXPR_END;
1020
+ yyval.id = yyvsp[0].id;
1021
+ }
1022
+ break;
1023
+ case 103:
1024
+ #line 924 "parse.y"
1025
+ {
1026
+ yyval.node = NEW_UNDEF(yyvsp[0].id);
1027
+ }
1028
+ break;
1029
+ case 104:
1030
+ #line 927 "parse.y"
1031
+ {lex_state = EXPR_FNAME;}
1032
+ break;
1033
+ case 105:
1034
+ #line 928 "parse.y"
1035
+ {
1036
+ yyval.node = block_append(yyvsp[-3].node, NEW_UNDEF(yyvsp[0].id));
1037
+ }
1038
+ break;
1039
+ case 106:
1040
+ #line 933 "parse.y"
1041
+ { yyval.id = '|'; }
1042
+ break;
1043
+ case 107:
1044
+ #line 934 "parse.y"
1045
+ { yyval.id = '^'; }
1046
+ break;
1047
+ case 108:
1048
+ #line 935 "parse.y"
1049
+ { yyval.id = '&'; }
1050
+ break;
1051
+ case 109:
1052
+ #line 936 "parse.y"
1053
+ { yyval.id = tCMP; }
1054
+ break;
1055
+ case 110:
1056
+ #line 937 "parse.y"
1057
+ { yyval.id = tEQ; }
1058
+ break;
1059
+ case 111:
1060
+ #line 938 "parse.y"
1061
+ { yyval.id = tEQQ; }
1062
+ break;
1063
+ case 112:
1064
+ #line 939 "parse.y"
1065
+ { yyval.id = tMATCH; }
1066
+ break;
1067
+ case 113:
1068
+ #line 940 "parse.y"
1069
+ { yyval.id = '>'; }
1070
+ break;
1071
+ case 114:
1072
+ #line 941 "parse.y"
1073
+ { yyval.id = tGEQ; }
1074
+ break;
1075
+ case 115:
1076
+ #line 942 "parse.y"
1077
+ { yyval.id = '<'; }
1078
+ break;
1079
+ case 116:
1080
+ #line 943 "parse.y"
1081
+ { yyval.id = tLEQ; }
1082
+ break;
1083
+ case 117:
1084
+ #line 944 "parse.y"
1085
+ { yyval.id = tLSHFT; }
1086
+ break;
1087
+ case 118:
1088
+ #line 945 "parse.y"
1089
+ { yyval.id = tRSHFT; }
1090
+ break;
1091
+ case 119:
1092
+ #line 946 "parse.y"
1093
+ { yyval.id = '+'; }
1094
+ break;
1095
+ case 120:
1096
+ #line 947 "parse.y"
1097
+ { yyval.id = '-'; }
1098
+ break;
1099
+ case 121:
1100
+ #line 948 "parse.y"
1101
+ { yyval.id = '*'; }
1102
+ break;
1103
+ case 122:
1104
+ #line 949 "parse.y"
1105
+ { yyval.id = '*'; }
1106
+ break;
1107
+ case 123:
1108
+ #line 950 "parse.y"
1109
+ { yyval.id = '/'; }
1110
+ break;
1111
+ case 124:
1112
+ #line 951 "parse.y"
1113
+ { yyval.id = '%'; }
1114
+ break;
1115
+ case 125:
1116
+ #line 952 "parse.y"
1117
+ { yyval.id = tPOW; }
1118
+ break;
1119
+ case 126:
1120
+ #line 953 "parse.y"
1121
+ { yyval.id = '~'; }
1122
+ break;
1123
+ case 127:
1124
+ #line 954 "parse.y"
1125
+ { yyval.id = tUPLUS; }
1126
+ break;
1127
+ case 128:
1128
+ #line 955 "parse.y"
1129
+ { yyval.id = tUMINUS; }
1130
+ break;
1131
+ case 129:
1132
+ #line 956 "parse.y"
1133
+ { yyval.id = tAREF; }
1134
+ break;
1135
+ case 130:
1136
+ #line 957 "parse.y"
1137
+ { yyval.id = tASET; }
1138
+ break;
1139
+ case 131:
1140
+ #line 958 "parse.y"
1141
+ { yyval.id = '`'; }
1142
+ break;
1143
+ case 173:
1144
+ #line 971 "parse.y"
1145
+ {
1146
+ yyval.node = node_assign(yyvsp[-2].node, yyvsp[0].node);
1147
+ }
1148
+ break;
1149
+ case 174:
1150
+ #line 975 "parse.y"
1151
+ {
1152
+ yyval.node = node_assign(yyvsp[-4].node, NEW_RESCUE(yyvsp[-2].node, NEW_RESBODY(0,yyvsp[0].node,0), 0));
1153
+ }
1154
+ break;
1155
+ case 175:
1156
+ #line 979 "parse.y"
1157
+ {
1158
+ value_expr(yyvsp[0].node);
1159
+ if (yyvsp[-2].node) {
1160
+ ID vid = yyvsp[-2].node->nd_vid;
1161
+ if (yyvsp[-1].id == tOROP) {
1162
+ yyvsp[-2].node->nd_value = yyvsp[0].node;
1163
+ yyval.node = NEW_OP_ASGN_OR(gettable(vid), yyvsp[-2].node);
1164
+ if (is_asgn_or_id(vid)) {
1165
+ yyval.node->nd_aid = vid;
1166
+ }
1167
+ }
1168
+ else if (yyvsp[-1].id == tANDOP) {
1169
+ yyvsp[-2].node->nd_value = yyvsp[0].node;
1170
+ yyval.node = NEW_OP_ASGN_AND(gettable(vid), yyvsp[-2].node);
1171
+ }
1172
+ else {
1173
+ yyval.node = yyvsp[-2].node;
1174
+ yyval.node->nd_value = call_op(gettable(vid),yyvsp[-1].id,1,yyvsp[0].node);
1175
+ }
1176
+ }
1177
+ else {
1178
+ yyval.node = 0;
1179
+ }
1180
+ }
1181
+ break;
1182
+ case 176:
1183
+ #line 1004 "parse.y"
1184
+ {
1185
+ NODE *args;
1186
+
1187
+ value_expr(yyvsp[0].node);
1188
+ args = NEW_LIST(yyvsp[0].node);
1189
+ if (yyvsp[-3].node && nd_type(yyvsp[-3].node) != NODE_ARRAY)
1190
+ yyvsp[-3].node = NEW_LIST(yyvsp[-3].node);
1191
+ yyvsp[-3].node = list_append(yyvsp[-3].node, NEW_NIL());
1192
+ list_concat(args, yyvsp[-3].node);
1193
+ if (yyvsp[-1].id == tOROP) {
1194
+ yyvsp[-1].id = 0;
1195
+ }
1196
+ else if (yyvsp[-1].id == tANDOP) {
1197
+ yyvsp[-1].id = 1;
1198
+ }
1199
+ yyval.node = NEW_OP_ASGN1(yyvsp[-5].node, yyvsp[-1].id, args);
1200
+ fixpos(yyval.node, yyvsp[-5].node);
1201
+ }
1202
+ break;
1203
+ case 177:
1204
+ #line 1023 "parse.y"
1205
+ {
1206
+ value_expr(yyvsp[0].node);
1207
+ if (yyvsp[-1].id == tOROP) {
1208
+ yyvsp[-1].id = 0;
1209
+ }
1210
+ else if (yyvsp[-1].id == tANDOP) {
1211
+ yyvsp[-1].id = 1;
1212
+ }
1213
+ yyval.node = NEW_OP_ASGN2(yyvsp[-4].node, yyvsp[-2].id, yyvsp[-1].id, yyvsp[0].node);
1214
+ fixpos(yyval.node, yyvsp[-4].node);
1215
+ }
1216
+ break;
1217
+ case 178:
1218
+ #line 1035 "parse.y"
1219
+ {
1220
+ value_expr(yyvsp[0].node);
1221
+ if (yyvsp[-1].id == tOROP) {
1222
+ yyvsp[-1].id = 0;
1223
+ }
1224
+ else if (yyvsp[-1].id == tANDOP) {
1225
+ yyvsp[-1].id = 1;
1226
+ }
1227
+ yyval.node = NEW_OP_ASGN2(yyvsp[-4].node, yyvsp[-2].id, yyvsp[-1].id, yyvsp[0].node);
1228
+ fixpos(yyval.node, yyvsp[-4].node);
1229
+ }
1230
+ break;
1231
+ case 179:
1232
+ #line 1047 "parse.y"
1233
+ {
1234
+ value_expr(yyvsp[0].node);
1235
+ if (yyvsp[-1].id == tOROP) {
1236
+ yyvsp[-1].id = 0;
1237
+ }
1238
+ else if (yyvsp[-1].id == tANDOP) {
1239
+ yyvsp[-1].id = 1;
1240
+ }
1241
+ yyval.node = NEW_OP_ASGN2(yyvsp[-4].node, yyvsp[-2].id, yyvsp[-1].id, yyvsp[0].node);
1242
+ fixpos(yyval.node, yyvsp[-4].node);
1243
+ }
1244
+ break;
1245
+ case 180:
1246
+ #line 1059 "parse.y"
1247
+ {
1248
+ yyerror("constant re-assignment");
1249
+ yyval.node = 0;
1250
+ }
1251
+ break;
1252
+ case 181:
1253
+ #line 1064 "parse.y"
1254
+ {
1255
+ yyerror("constant re-assignment");
1256
+ yyval.node = 0;
1257
+ }
1258
+ break;
1259
+ case 182:
1260
+ #line 1069 "parse.y"
1261
+ {
1262
+ rb_backref_error(yyvsp[-2].node);
1263
+ yyval.node = 0;
1264
+ }
1265
+ break;
1266
+ case 183:
1267
+ #line 1074 "parse.y"
1268
+ {
1269
+ value_expr(yyvsp[-2].node);
1270
+ value_expr(yyvsp[0].node);
1271
+ if (nd_type(yyvsp[-2].node) == NODE_LIT && FIXNUM_P(yyvsp[-2].node->nd_lit) &&
1272
+ nd_type(yyvsp[0].node) == NODE_LIT && FIXNUM_P(yyvsp[0].node->nd_lit)) {
1273
+ yyvsp[-2].node->nd_lit = rb_range_new(yyvsp[-2].node->nd_lit, yyvsp[0].node->nd_lit, Qfalse);
1274
+ yyval.node = yyvsp[-2].node;
1275
+ }
1276
+ else {
1277
+ yyval.node = NEW_DOT2(yyvsp[-2].node, yyvsp[0].node);
1278
+ }
1279
+ }
1280
+ break;
1281
+ case 184:
1282
+ #line 1087 "parse.y"
1283
+ {
1284
+ value_expr(yyvsp[-2].node);
1285
+ value_expr(yyvsp[0].node);
1286
+ if (nd_type(yyvsp[-2].node) == NODE_LIT && FIXNUM_P(yyvsp[-2].node->nd_lit) &&
1287
+ nd_type(yyvsp[0].node) == NODE_LIT && FIXNUM_P(yyvsp[0].node->nd_lit)) {
1288
+ yyvsp[-2].node->nd_lit = rb_range_new(yyvsp[-2].node->nd_lit, yyvsp[0].node->nd_lit, Qtrue);
1289
+ yyval.node = yyvsp[-2].node;
1290
+ }
1291
+ else {
1292
+ yyval.node = NEW_DOT3(yyvsp[-2].node, yyvsp[0].node);
1293
+ }
1294
+ }
1295
+ break;
1296
+ case 185:
1297
+ #line 1100 "parse.y"
1298
+ {
1299
+ yyval.node = call_op(yyvsp[-2].node, '+', 1, yyvsp[0].node);
1300
+ }
1301
+ break;
1302
+ case 186:
1303
+ #line 1104 "parse.y"
1304
+ {
1305
+ yyval.node = call_op(yyvsp[-2].node, '-', 1, yyvsp[0].node);
1306
+ }
1307
+ break;
1308
+ case 187:
1309
+ #line 1108 "parse.y"
1310
+ {
1311
+ yyval.node = call_op(yyvsp[-2].node, '*', 1, yyvsp[0].node);
1312
+ }
1313
+ break;
1314
+ case 188:
1315
+ #line 1112 "parse.y"
1316
+ {
1317
+ yyval.node = call_op(yyvsp[-2].node, '/', 1, yyvsp[0].node);
1318
+ }
1319
+ break;
1320
+ case 189:
1321
+ #line 1116 "parse.y"
1322
+ {
1323
+ yyval.node = call_op(yyvsp[-2].node, '%', 1, yyvsp[0].node);
1324
+ }
1325
+ break;
1326
+ case 190:
1327
+ #line 1120 "parse.y"
1328
+ {
1329
+ yyval.node = call_op(yyvsp[-2].node, tPOW, 1, yyvsp[0].node);
1330
+ }
1331
+ break;
1332
+ case 191:
1333
+ #line 1124 "parse.y"
1334
+ {
1335
+ yyval.node = call_op(call_op(yyvsp[-2].node, tPOW, 1, yyvsp[0].node), tUMINUS, 0, 0);
1336
+ }
1337
+ break;
1338
+ case 192:
1339
+ #line 1128 "parse.y"
1340
+ {
1341
+ yyval.node = call_op(call_op(yyvsp[-2].node, tPOW, 1, yyvsp[0].node), tUMINUS, 0, 0);
1342
+ }
1343
+ break;
1344
+ case 193:
1345
+ #line 1132 "parse.y"
1346
+ {
1347
+ if (yyvsp[0].node && nd_type(yyvsp[0].node) == NODE_LIT) {
1348
+ yyval.node = yyvsp[0].node;
1349
+ }
1350
+ else {
1351
+ yyval.node = call_op(yyvsp[0].node, tUPLUS, 0, 0);
1352
+ }
1353
+ }
1354
+ break;
1355
+ case 194:
1356
+ #line 1141 "parse.y"
1357
+ {
1358
+ yyval.node = call_op(yyvsp[0].node, tUMINUS, 0, 0);
1359
+ }
1360
+ break;
1361
+ case 195:
1362
+ #line 1145 "parse.y"
1363
+ {
1364
+ yyval.node = call_op(yyvsp[-2].node, '|', 1, yyvsp[0].node);
1365
+ }
1366
+ break;
1367
+ case 196:
1368
+ #line 1149 "parse.y"
1369
+ {
1370
+ yyval.node = call_op(yyvsp[-2].node, '^', 1, yyvsp[0].node);
1371
+ }
1372
+ break;
1373
+ case 197:
1374
+ #line 1153 "parse.y"
1375
+ {
1376
+ yyval.node = call_op(yyvsp[-2].node, '&', 1, yyvsp[0].node);
1377
+ }
1378
+ break;
1379
+ case 198:
1380
+ #line 1157 "parse.y"
1381
+ {
1382
+ yyval.node = call_op(yyvsp[-2].node, tCMP, 1, yyvsp[0].node);
1383
+ }
1384
+ break;
1385
+ case 199:
1386
+ #line 1161 "parse.y"
1387
+ {
1388
+ yyval.node = call_op(yyvsp[-2].node, '>', 1, yyvsp[0].node);
1389
+ }
1390
+ break;
1391
+ case 200:
1392
+ #line 1165 "parse.y"
1393
+ {
1394
+ yyval.node = call_op(yyvsp[-2].node, tGEQ, 1, yyvsp[0].node);
1395
+ }
1396
+ break;
1397
+ case 201:
1398
+ #line 1169 "parse.y"
1399
+ {
1400
+ yyval.node = call_op(yyvsp[-2].node, '<', 1, yyvsp[0].node);
1401
+ }
1402
+ break;
1403
+ case 202:
1404
+ #line 1173 "parse.y"
1405
+ {
1406
+ yyval.node = call_op(yyvsp[-2].node, tLEQ, 1, yyvsp[0].node);
1407
+ }
1408
+ break;
1409
+ case 203:
1410
+ #line 1177 "parse.y"
1411
+ {
1412
+ yyval.node = call_op(yyvsp[-2].node, tEQ, 1, yyvsp[0].node);
1413
+ }
1414
+ break;
1415
+ case 204:
1416
+ #line 1181 "parse.y"
1417
+ {
1418
+ yyval.node = call_op(yyvsp[-2].node, tEQQ, 1, yyvsp[0].node);
1419
+ }
1420
+ break;
1421
+ case 205:
1422
+ #line 1185 "parse.y"
1423
+ {
1424
+ yyval.node = NEW_NOT(call_op(yyvsp[-2].node, tEQ, 1, yyvsp[0].node));
1425
+ }
1426
+ break;
1427
+ case 206:
1428
+ #line 1189 "parse.y"
1429
+ {
1430
+ yyval.node = match_gen(yyvsp[-2].node, yyvsp[0].node);
1431
+ }
1432
+ break;
1433
+ case 207:
1434
+ #line 1193 "parse.y"
1435
+ {
1436
+ yyval.node = NEW_NOT(match_gen(yyvsp[-2].node, yyvsp[0].node));
1437
+ }
1438
+ break;
1439
+ case 208:
1440
+ #line 1197 "parse.y"
1441
+ {
1442
+ yyval.node = NEW_NOT(cond(yyvsp[0].node));
1443
+ }
1444
+ break;
1445
+ case 209:
1446
+ #line 1201 "parse.y"
1447
+ {
1448
+ yyval.node = call_op(yyvsp[0].node, '~', 0, 0);
1449
+ }
1450
+ break;
1451
+ case 210:
1452
+ #line 1205 "parse.y"
1453
+ {
1454
+ yyval.node = call_op(yyvsp[-2].node, tLSHFT, 1, yyvsp[0].node);
1455
+ }
1456
+ break;
1457
+ case 211:
1458
+ #line 1209 "parse.y"
1459
+ {
1460
+ yyval.node = call_op(yyvsp[-2].node, tRSHFT, 1, yyvsp[0].node);
1461
+ }
1462
+ break;
1463
+ case 212:
1464
+ #line 1213 "parse.y"
1465
+ {
1466
+ yyval.node = logop(NODE_AND, yyvsp[-2].node, yyvsp[0].node);
1467
+ }
1468
+ break;
1469
+ case 213:
1470
+ #line 1217 "parse.y"
1471
+ {
1472
+ yyval.node = logop(NODE_OR, yyvsp[-2].node, yyvsp[0].node);
1473
+ }
1474
+ break;
1475
+ case 214:
1476
+ #line 1220 "parse.y"
1477
+ {in_defined = 1;}
1478
+ break;
1479
+ case 215:
1480
+ #line 1221 "parse.y"
1481
+ {
1482
+ in_defined = 0;
1483
+ yyval.node = NEW_DEFINED(yyvsp[0].node);
1484
+ }
1485
+ break;
1486
+ case 216:
1487
+ #line 1226 "parse.y"
1488
+ {
1489
+ yyval.node = NEW_IF(cond(yyvsp[-4].node), yyvsp[-2].node, yyvsp[0].node);
1490
+ fixpos(yyval.node, yyvsp[-4].node);
1491
+ }
1492
+ break;
1493
+ case 217:
1494
+ #line 1231 "parse.y"
1495
+ {
1496
+ yyval.node = yyvsp[0].node;
1497
+ }
1498
+ break;
1499
+ case 218:
1500
+ #line 1237 "parse.y"
1501
+ {
1502
+ value_expr(yyvsp[0].node);
1503
+ yyval.node = yyvsp[0].node;
1504
+ }
1505
+ break;
1506
+ case 220:
1507
+ #line 1245 "parse.y"
1508
+ {
1509
+ rb_warn("parenthesize argument(s) for future version");
1510
+ yyval.node = NEW_LIST(yyvsp[-1].node);
1511
+ }
1512
+ break;
1513
+ case 221:
1514
+ #line 1250 "parse.y"
1515
+ {
1516
+ yyval.node = yyvsp[-1].node;
1517
+ }
1518
+ break;
1519
+ case 222:
1520
+ #line 1254 "parse.y"
1521
+ {
1522
+ value_expr(yyvsp[-1].node);
1523
+ yyval.node = arg_concat(yyvsp[-4].node, yyvsp[-1].node);
1524
+ }
1525
+ break;
1526
+ case 223:
1527
+ #line 1259 "parse.y"
1528
+ {
1529
+ yyval.node = NEW_LIST(NEW_HASH(yyvsp[-1].node));
1530
+ }
1531
+ break;
1532
+ case 224:
1533
+ #line 1263 "parse.y"
1534
+ {
1535
+ value_expr(yyvsp[-1].node);
1536
+ yyval.node = NEW_NEWLINE(NEW_SPLAT(yyvsp[-1].node));
1537
+ }
1538
+ break;
1539
+ case 225:
1540
+ #line 1270 "parse.y"
1541
+ {
1542
+ yyval.node = yyvsp[-1].node;
1543
+ }
1544
+ break;
1545
+ case 226:
1546
+ #line 1274 "parse.y"
1547
+ {
1548
+ yyval.node = yyvsp[-2].node;
1549
+ }
1550
+ break;
1551
+ case 227:
1552
+ #line 1278 "parse.y"
1553
+ {
1554
+ rb_warn("parenthesize argument for future version");
1555
+ yyval.node = NEW_LIST(yyvsp[-2].node);
1556
+ }
1557
+ break;
1558
+ case 228:
1559
+ #line 1283 "parse.y"
1560
+ {
1561
+ rb_warn("parenthesize argument for future version");
1562
+ yyval.node = list_append(yyvsp[-4].node, yyvsp[-2].node);
1563
+ }
1564
+ break;
1565
+ case 231:
1566
+ #line 1294 "parse.y"
1567
+ {
1568
+ rb_warn("parenthesize argument(s) for future version");
1569
+ yyval.node = NEW_LIST(yyvsp[0].node);
1570
+ }
1571
+ break;
1572
+ case 232:
1573
+ #line 1299 "parse.y"
1574
+ {
1575
+ yyval.node = arg_blk_pass(yyvsp[-1].node, yyvsp[0].node);
1576
+ }
1577
+ break;
1578
+ case 233:
1579
+ #line 1303 "parse.y"
1580
+ {
1581
+ yyval.node = arg_concat(yyvsp[-4].node, yyvsp[-1].node);
1582
+ yyval.node = arg_blk_pass(yyval.node, yyvsp[0].node);
1583
+ }
1584
+ break;
1585
+ case 234:
1586
+ #line 1308 "parse.y"
1587
+ {
1588
+ yyval.node = NEW_LIST(NEW_HASH(yyvsp[-1].node));
1589
+ yyval.node = arg_blk_pass(yyval.node, yyvsp[0].node);
1590
+ }
1591
+ break;
1592
+ case 235:
1593
+ #line 1313 "parse.y"
1594
+ {
1595
+ yyval.node = arg_concat(NEW_LIST(NEW_HASH(yyvsp[-4].node)), yyvsp[-1].node);
1596
+ yyval.node = arg_blk_pass(yyval.node, yyvsp[0].node);
1597
+ }
1598
+ break;
1599
+ case 236:
1600
+ #line 1318 "parse.y"
1601
+ {
1602
+ yyval.node = list_append(yyvsp[-3].node, NEW_HASH(yyvsp[-1].node));
1603
+ yyval.node = arg_blk_pass(yyval.node, yyvsp[0].node);
1604
+ }
1605
+ break;
1606
+ case 237:
1607
+ #line 1323 "parse.y"
1608
+ {
1609
+ value_expr(yyvsp[-1].node);
1610
+ yyval.node = arg_concat(list_append(yyvsp[-6].node, NEW_HASH(yyvsp[-4].node)), yyvsp[-1].node);
1611
+ yyval.node = arg_blk_pass(yyval.node, yyvsp[0].node);
1612
+ }
1613
+ break;
1614
+ case 238:
1615
+ #line 1329 "parse.y"
1616
+ {
1617
+ yyval.node = arg_blk_pass(NEW_SPLAT(yyvsp[-1].node), yyvsp[0].node);
1618
+ }
1619
+ break;
1620
+ case 240:
1621
+ #line 1336 "parse.y"
1622
+ {
1623
+ yyval.node = arg_blk_pass(list_concat(NEW_LIST(yyvsp[-3].node),yyvsp[-1].node), yyvsp[0].node);
1624
+ }
1625
+ break;
1626
+ case 241:
1627
+ #line 1340 "parse.y"
1628
+ {
1629
+ yyval.node = arg_blk_pass(yyvsp[-2].node, yyvsp[0].node);
1630
+ }
1631
+ break;
1632
+ case 242:
1633
+ #line 1344 "parse.y"
1634
+ {
1635
+ yyval.node = arg_concat(NEW_LIST(yyvsp[-4].node), yyvsp[-1].node);
1636
+ yyval.node = arg_blk_pass(yyval.node, yyvsp[0].node);
1637
+ }
1638
+ break;
1639
+ case 243:
1640
+ #line 1349 "parse.y"
1641
+ {
1642
+ yyval.node = arg_concat(list_concat(NEW_LIST(yyvsp[-6].node),yyvsp[-4].node), yyvsp[-1].node);
1643
+ yyval.node = arg_blk_pass(yyval.node, yyvsp[0].node);
1644
+ }
1645
+ break;
1646
+ case 244:
1647
+ #line 1354 "parse.y"
1648
+ {
1649
+ yyval.node = NEW_LIST(NEW_HASH(yyvsp[-1].node));
1650
+ yyval.node = arg_blk_pass(yyval.node, yyvsp[0].node);
1651
+ }
1652
+ break;
1653
+ case 245:
1654
+ #line 1359 "parse.y"
1655
+ {
1656
+ yyval.node = arg_concat(NEW_LIST(NEW_HASH(yyvsp[-4].node)), yyvsp[-1].node);
1657
+ yyval.node = arg_blk_pass(yyval.node, yyvsp[0].node);
1658
+ }
1659
+ break;
1660
+ case 246:
1661
+ #line 1364 "parse.y"
1662
+ {
1663
+ yyval.node = list_append(NEW_LIST(yyvsp[-3].node), NEW_HASH(yyvsp[-1].node));
1664
+ yyval.node = arg_blk_pass(yyval.node, yyvsp[0].node);
1665
+ }
1666
+ break;
1667
+ case 247:
1668
+ #line 1369 "parse.y"
1669
+ {
1670
+ yyval.node = list_append(list_concat(NEW_LIST(yyvsp[-5].node),yyvsp[-3].node), NEW_HASH(yyvsp[-1].node));
1671
+ yyval.node = arg_blk_pass(yyval.node, yyvsp[0].node);
1672
+ }
1673
+ break;
1674
+ case 248:
1675
+ #line 1374 "parse.y"
1676
+ {
1677
+ yyval.node = arg_concat(list_append(NEW_LIST(yyvsp[-6].node), NEW_HASH(yyvsp[-4].node)), yyvsp[-1].node);
1678
+ yyval.node = arg_blk_pass(yyval.node, yyvsp[0].node);
1679
+ }
1680
+ break;
1681
+ case 249:
1682
+ #line 1379 "parse.y"
1683
+ {
1684
+ yyval.node = arg_concat(list_append(list_concat(NEW_LIST(yyvsp[-8].node), yyvsp[-6].node), NEW_HASH(yyvsp[-4].node)), yyvsp[-1].node);
1685
+ yyval.node = arg_blk_pass(yyval.node, yyvsp[0].node);
1686
+ }
1687
+ break;
1688
+ case 250:
1689
+ #line 1384 "parse.y"
1690
+ {
1691
+ yyval.node = arg_blk_pass(NEW_SPLAT(yyvsp[-1].node), yyvsp[0].node);
1692
+ }
1693
+ break;
1694
+ case 252:
1695
+ #line 1390 "parse.y"
1696
+ {
1697
+ yyval.num = cmdarg_stack;
1698
+ CMDARG_PUSH(1);
1699
+ }
1700
+ break;
1701
+ case 253:
1702
+ #line 1395 "parse.y"
1703
+ {
1704
+ /* CMDARG_POP() */
1705
+ cmdarg_stack = yyvsp[-1].num;
1706
+ yyval.node = yyvsp[0].node;
1707
+ }
1708
+ break;
1709
+ case 255:
1710
+ #line 1403 "parse.y"
1711
+ {lex_state = EXPR_ENDARG;}
1712
+ break;
1713
+ case 256:
1714
+ #line 1404 "parse.y"
1715
+ {
1716
+ rb_warn("don't put space before argument parentheses");
1717
+ yyval.node = 0;
1718
+ }
1719
+ break;
1720
+ case 257:
1721
+ #line 1408 "parse.y"
1722
+ {lex_state = EXPR_ENDARG;}
1723
+ break;
1724
+ case 258:
1725
+ #line 1409 "parse.y"
1726
+ {
1727
+ rb_warn("don't put space before argument parentheses");
1728
+ yyval.node = yyvsp[-2].node;
1729
+ }
1730
+ break;
1731
+ case 259:
1732
+ #line 1416 "parse.y"
1733
+ {
1734
+ yyval.node = NEW_BLOCK_PASS(yyvsp[0].node);
1735
+ }
1736
+ break;
1737
+ case 260:
1738
+ #line 1422 "parse.y"
1739
+ {
1740
+ yyval.node = yyvsp[0].node;
1741
+ }
1742
+ break;
1743
+ case 262:
1744
+ #line 1429 "parse.y"
1745
+ {
1746
+ yyval.node = NEW_LIST(yyvsp[0].node);
1747
+ }
1748
+ break;
1749
+ case 263:
1750
+ #line 1433 "parse.y"
1751
+ {
1752
+ yyval.node = list_append(yyvsp[-2].node, yyvsp[0].node);
1753
+ }
1754
+ break;
1755
+ case 264:
1756
+ #line 1439 "parse.y"
1757
+ {
1758
+ yyval.node = list_append(yyvsp[-2].node, yyvsp[0].node);
1759
+ }
1760
+ break;
1761
+ case 265:
1762
+ #line 1443 "parse.y"
1763
+ {
1764
+ yyval.node = arg_concat(yyvsp[-3].node, yyvsp[0].node);
1765
+ }
1766
+ break;
1767
+ case 266:
1768
+ #line 1447 "parse.y"
1769
+ {
1770
+ yyval.node = NEW_SPLAT(yyvsp[0].node);
1771
+ }
1772
+ break;
1773
+ case 275:
1774
+ #line 1461 "parse.y"
1775
+ {
1776
+ yyval.node = NEW_FCALL(yyvsp[0].id, 0);
1777
+ }
1778
+ break;
1779
+ case 276:
1780
+ #line 1465 "parse.y"
1781
+ {
1782
+ yyvsp[0].num = ruby_sourceline;
1783
+ }
1784
+ break;
1785
+ case 277:
1786
+ #line 1470 "parse.y"
1787
+ {
1788
+ if (yyvsp[-1].node == NULL)
1789
+ yyval.node = NEW_NIL();
1790
+ else
1791
+ yyval.node = NEW_BEGIN(yyvsp[-1].node);
1792
+ nd_set_line(yyval.node, yyvsp[-3].num);
1793
+ }
1794
+ break;
1795
+ case 278:
1796
+ #line 1477 "parse.y"
1797
+ {lex_state = EXPR_ENDARG;}
1798
+ break;
1799
+ case 279:
1800
+ #line 1478 "parse.y"
1801
+ {
1802
+ rb_warning("(...) interpreted as grouped expression");
1803
+ yyval.node = yyvsp[-3].node;
1804
+ }
1805
+ break;
1806
+ case 280:
1807
+ #line 1483 "parse.y"
1808
+ {
1809
+ yyval.node = yyvsp[-1].node;
1810
+ }
1811
+ break;
1812
+ case 281:
1813
+ #line 1487 "parse.y"
1814
+ {
1815
+ yyval.node = NEW_COLON2(yyvsp[-2].node, yyvsp[0].id);
1816
+ }
1817
+ break;
1818
+ case 282:
1819
+ #line 1491 "parse.y"
1820
+ {
1821
+ yyval.node = NEW_COLON3(yyvsp[0].id);
1822
+ }
1823
+ break;
1824
+ case 283:
1825
+ #line 1495 "parse.y"
1826
+ {
1827
+ if (yyvsp[-3].node && nd_type(yyvsp[-3].node) == NODE_SELF)
1828
+ yyval.node = NEW_FCALL(tAREF, yyvsp[-1].node);
1829
+ else
1830
+ yyval.node = NEW_CALL(yyvsp[-3].node, tAREF, yyvsp[-1].node);
1831
+ fixpos(yyval.node, yyvsp[-3].node);
1832
+ }
1833
+ break;
1834
+ case 284:
1835
+ #line 1503 "parse.y"
1836
+ {
1837
+ if (yyvsp[-1].node == 0) {
1838
+ yyval.node = NEW_ZARRAY(); /* zero length array*/
1839
+ }
1840
+ else {
1841
+ yyval.node = yyvsp[-1].node;
1842
+ }
1843
+ }
1844
+ break;
1845
+ case 285:
1846
+ #line 1512 "parse.y"
1847
+ {
1848
+ yyval.node = NEW_HASH(yyvsp[-1].node);
1849
+ }
1850
+ break;
1851
+ case 286:
1852
+ #line 1516 "parse.y"
1853
+ {
1854
+ yyval.node = NEW_RETURN(0);
1855
+ }
1856
+ break;
1857
+ case 287:
1858
+ #line 1520 "parse.y"
1859
+ {
1860
+ yyval.node = new_yield(yyvsp[-1].node);
1861
+ }
1862
+ break;
1863
+ case 288:
1864
+ #line 1524 "parse.y"
1865
+ {
1866
+ yyval.node = NEW_YIELD(0, Qfalse);
1867
+ }
1868
+ break;
1869
+ case 289:
1870
+ #line 1528 "parse.y"
1871
+ {
1872
+ yyval.node = NEW_YIELD(0, Qfalse);
1873
+ }
1874
+ break;
1875
+ case 290:
1876
+ #line 1531 "parse.y"
1877
+ {in_defined = 1;}
1878
+ break;
1879
+ case 291:
1880
+ #line 1532 "parse.y"
1881
+ {
1882
+ in_defined = 0;
1883
+ yyval.node = NEW_DEFINED(yyvsp[-1].node);
1884
+ }
1885
+ break;
1886
+ case 292:
1887
+ #line 1537 "parse.y"
1888
+ {
1889
+ yyvsp[0].node->nd_iter = NEW_FCALL(yyvsp[-1].id, 0);
1890
+ yyval.node = yyvsp[0].node;
1891
+ fixpos(yyvsp[0].node->nd_iter, yyvsp[0].node);
1892
+ }
1893
+ break;
1894
+ case 294:
1895
+ #line 1544 "parse.y"
1896
+ {
1897
+ if (yyvsp[-1].node && nd_type(yyvsp[-1].node) == NODE_BLOCK_PASS) {
1898
+ rb_compile_error("both block arg and actual block given");
1899
+ }
1900
+ yyvsp[0].node->nd_iter = yyvsp[-1].node;
1901
+ yyval.node = yyvsp[0].node;
1902
+ fixpos(yyval.node, yyvsp[-1].node);
1903
+ }
1904
+ break;
1905
+ case 295:
1906
+ #line 1556 "parse.y"
1907
+ {
1908
+ yyval.node = NEW_IF(cond(yyvsp[-4].node), yyvsp[-2].node, yyvsp[-1].node);
1909
+ fixpos(yyval.node, yyvsp[-4].node);
1910
+ if (cond_negative(&yyval.node->nd_cond)) {
1911
+ NODE *tmp = yyval.node->nd_body;
1912
+ yyval.node->nd_body = yyval.node->nd_else;
1913
+ yyval.node->nd_else = tmp;
1914
+ }
1915
+ }
1916
+ break;
1917
+ case 296:
1918
+ #line 1569 "parse.y"
1919
+ {
1920
+ yyval.node = NEW_UNLESS(cond(yyvsp[-4].node), yyvsp[-2].node, yyvsp[-1].node);
1921
+ fixpos(yyval.node, yyvsp[-4].node);
1922
+ if (cond_negative(&yyval.node->nd_cond)) {
1923
+ NODE *tmp = yyval.node->nd_body;
1924
+ yyval.node->nd_body = yyval.node->nd_else;
1925
+ yyval.node->nd_else = tmp;
1926
+ }
1927
+ }
1928
+ break;
1929
+ case 297:
1930
+ #line 1578 "parse.y"
1931
+ {COND_PUSH(1);}
1932
+ break;
1933
+ case 298:
1934
+ #line 1578 "parse.y"
1935
+ {COND_POP();}
1936
+ break;
1937
+ case 299:
1938
+ #line 1581 "parse.y"
1939
+ {
1940
+ yyval.node = NEW_WHILE(cond(yyvsp[-4].node), yyvsp[-1].node, 1);
1941
+ fixpos(yyval.node, yyvsp[-4].node);
1942
+ if (cond_negative(&yyval.node->nd_cond)) {
1943
+ nd_set_type(yyval.node, NODE_UNTIL);
1944
+ }
1945
+ }
1946
+ break;
1947
+ case 300:
1948
+ #line 1588 "parse.y"
1949
+ {COND_PUSH(1);}
1950
+ break;
1951
+ case 301:
1952
+ #line 1588 "parse.y"
1953
+ {COND_POP();}
1954
+ break;
1955
+ case 302:
1956
+ #line 1591 "parse.y"
1957
+ {
1958
+ yyval.node = NEW_UNTIL(cond(yyvsp[-4].node), yyvsp[-1].node, 1);
1959
+ fixpos(yyval.node, yyvsp[-4].node);
1960
+ if (cond_negative(&yyval.node->nd_cond)) {
1961
+ nd_set_type(yyval.node, NODE_WHILE);
1962
+ }
1963
+ }
1964
+ break;
1965
+ case 303:
1966
+ #line 1601 "parse.y"
1967
+ {
1968
+ yyval.node = NEW_CASE(yyvsp[-3].node, yyvsp[-1].node);
1969
+ fixpos(yyval.node, yyvsp[-3].node);
1970
+ }
1971
+ break;
1972
+ case 304:
1973
+ #line 1606 "parse.y"
1974
+ {
1975
+ yyval.node = yyvsp[-1].node;
1976
+ }
1977
+ break;
1978
+ case 305:
1979
+ #line 1610 "parse.y"
1980
+ {
1981
+ yyval.node = yyvsp[-1].node;
1982
+ }
1983
+ break;
1984
+ case 306:
1985
+ #line 1613 "parse.y"
1986
+ {COND_PUSH(1);}
1987
+ break;
1988
+ case 307:
1989
+ #line 1613 "parse.y"
1990
+ {COND_POP();}
1991
+ break;
1992
+ case 308:
1993
+ #line 1616 "parse.y"
1994
+ {
1995
+ yyval.node = NEW_FOR(yyvsp[-7].node, yyvsp[-4].node, yyvsp[-1].node);
1996
+ fixpos(yyval.node, yyvsp[-7].node);
1997
+ }
1998
+ break;
1999
+ case 309:
2000
+ #line 1621 "parse.y"
2001
+ {
2002
+ if (in_def || in_single)
2003
+ yyerror("class definition in method body");
2004
+ class_nest++;
2005
+ local_push(0);
2006
+ yyval.num = ruby_sourceline;
2007
+ }
2008
+ break;
2009
+ case 310:
2010
+ #line 1630 "parse.y"
2011
+ {
2012
+ yyval.node = NEW_CLASS(yyvsp[-4].node, yyvsp[-1].node, yyvsp[-3].node);
2013
+ nd_set_line(yyval.node, yyvsp[-2].num);
2014
+ local_pop();
2015
+ class_nest--;
2016
+ }
2017
+ break;
2018
+ case 311:
2019
+ #line 1637 "parse.y"
2020
+ {
2021
+ yyval.num = in_def;
2022
+ in_def = 0;
2023
+ }
2024
+ break;
2025
+ case 312:
2026
+ #line 1642 "parse.y"
2027
+ {
2028
+ yyval.num = in_single;
2029
+ in_single = 0;
2030
+ class_nest++;
2031
+ local_push(0);
2032
+ }
2033
+ break;
2034
+ case 313:
2035
+ #line 1650 "parse.y"
2036
+ {
2037
+ yyval.node = NEW_SCLASS(yyvsp[-5].node, yyvsp[-1].node);
2038
+ fixpos(yyval.node, yyvsp[-5].node);
2039
+ local_pop();
2040
+ class_nest--;
2041
+ in_def = yyvsp[-4].num;
2042
+ in_single = yyvsp[-2].num;
2043
+ }
2044
+ break;
2045
+ case 314:
2046
+ #line 1659 "parse.y"
2047
+ {
2048
+ if (in_def || in_single)
2049
+ yyerror("module definition in method body");
2050
+ class_nest++;
2051
+ local_push(0);
2052
+ yyval.num = ruby_sourceline;
2053
+ }
2054
+ break;
2055
+ case 315:
2056
+ #line 1668 "parse.y"
2057
+ {
2058
+ yyval.node = NEW_MODULE(yyvsp[-3].node, yyvsp[-1].node);
2059
+ nd_set_line(yyval.node, yyvsp[-2].num);
2060
+ local_pop();
2061
+ class_nest--;
2062
+ }
2063
+ break;
2064
+ case 316:
2065
+ #line 1675 "parse.y"
2066
+ {
2067
+ yyval.id = cur_mid;
2068
+ cur_mid = yyvsp[0].id;
2069
+ in_def++;
2070
+ local_push(0);
2071
+ }
2072
+ break;
2073
+ case 317:
2074
+ #line 1684 "parse.y"
2075
+ {
2076
+ if (!yyvsp[-1].node) yyvsp[-1].node = NEW_NIL();
2077
+ yyval.node = NEW_DEFN(yyvsp[-4].id, yyvsp[-2].node, yyvsp[-1].node, NOEX_PRIVATE);
2078
+ fixpos(yyval.node, yyvsp[-2].node);
2079
+ local_pop();
2080
+ in_def--;
2081
+ cur_mid = yyvsp[-3].id;
2082
+ }
2083
+ break;
2084
+ case 318:
2085
+ #line 1692 "parse.y"
2086
+ {lex_state = EXPR_FNAME;}
2087
+ break;
2088
+ case 319:
2089
+ #line 1693 "parse.y"
2090
+ {
2091
+ in_single++;
2092
+ local_push(0);
2093
+ lex_state = EXPR_END; /* force for args */
2094
+ }
2095
+ break;
2096
+ case 320:
2097
+ #line 1701 "parse.y"
2098
+ {
2099
+ yyval.node = NEW_DEFS(yyvsp[-7].node, yyvsp[-4].id, yyvsp[-2].node, yyvsp[-1].node);
2100
+ fixpos(yyval.node, yyvsp[-7].node);
2101
+ local_pop();
2102
+ in_single--;
2103
+ }
2104
+ break;
2105
+ case 321:
2106
+ #line 1708 "parse.y"
2107
+ {
2108
+ yyval.node = NEW_BREAK(0);
2109
+ }
2110
+ break;
2111
+ case 322:
2112
+ #line 1712 "parse.y"
2113
+ {
2114
+ yyval.node = NEW_NEXT(0);
2115
+ }
2116
+ break;
2117
+ case 323:
2118
+ #line 1716 "parse.y"
2119
+ {
2120
+ yyval.node = NEW_REDO();
2121
+ }
2122
+ break;
2123
+ case 324:
2124
+ #line 1720 "parse.y"
2125
+ {
2126
+ yyval.node = NEW_RETRY();
2127
+ }
2128
+ break;
2129
+ case 325:
2130
+ #line 1726 "parse.y"
2131
+ {
2132
+ value_expr(yyvsp[0].node);
2133
+ yyval.node = yyvsp[0].node;
2134
+ }
2135
+ break;
2136
+ case 334:
2137
+ #line 1747 "parse.y"
2138
+ {
2139
+ yyval.node = NEW_IF(cond(yyvsp[-3].node), yyvsp[-1].node, yyvsp[0].node);
2140
+ fixpos(yyval.node, yyvsp[-3].node);
2141
+ }
2142
+ break;
2143
+ case 336:
2144
+ #line 1755 "parse.y"
2145
+ {
2146
+ yyval.node = yyvsp[0].node;
2147
+ }
2148
+ break;
2149
+ case 340:
2150
+ #line 1766 "parse.y"
2151
+ {
2152
+ yyval.node = (NODE*)1;
2153
+ }
2154
+ break;
2155
+ case 341:
2156
+ #line 1770 "parse.y"
2157
+ {
2158
+ yyval.node = (NODE*)1;
2159
+ }
2160
+ break;
2161
+ case 342:
2162
+ #line 1774 "parse.y"
2163
+ {
2164
+ yyval.node = yyvsp[-1].node;
2165
+ }
2166
+ break;
2167
+ case 343:
2168
+ #line 1780 "parse.y"
2169
+ {
2170
+ yyval.vars = dyna_push();
2171
+ yyvsp[0].num = ruby_sourceline;
2172
+ }
2173
+ break;
2174
+ case 344:
2175
+ #line 1784 "parse.y"
2176
+ {yyval.vars = ruby_dyna_vars;}
2177
+ break;
2178
+ case 345:
2179
+ #line 1787 "parse.y"
2180
+ {
2181
+ yyval.node = NEW_ITER(yyvsp[-3].node, 0, dyna_init(yyvsp[-1].node, yyvsp[-2].vars));
2182
+ nd_set_line(yyval.node, yyvsp[-5].num);
2183
+ dyna_pop(yyvsp[-4].vars);
2184
+ }
2185
+ break;
2186
+ case 346:
2187
+ #line 1795 "parse.y"
2188
+ {
2189
+ if (yyvsp[-1].node && nd_type(yyvsp[-1].node) == NODE_BLOCK_PASS) {
2190
+ rb_compile_error("both block arg and actual block given");
2191
+ }
2192
+ yyvsp[0].node->nd_iter = yyvsp[-1].node;
2193
+ yyval.node = yyvsp[0].node;
2194
+ fixpos(yyval.node, yyvsp[-1].node);
2195
+ }
2196
+ break;
2197
+ case 347:
2198
+ #line 1804 "parse.y"
2199
+ {
2200
+ yyval.node = new_call(yyvsp[-3].node, yyvsp[-1].id, yyvsp[0].node);
2201
+ }
2202
+ break;
2203
+ case 348:
2204
+ #line 1808 "parse.y"
2205
+ {
2206
+ yyval.node = new_call(yyvsp[-3].node, yyvsp[-1].id, yyvsp[0].node);
2207
+ }
2208
+ break;
2209
+ case 349:
2210
+ #line 1814 "parse.y"
2211
+ {
2212
+ yyval.node = new_fcall(yyvsp[-1].id, yyvsp[0].node);
2213
+ fixpos(yyval.node, yyvsp[0].node);
2214
+ }
2215
+ break;
2216
+ case 350:
2217
+ #line 1819 "parse.y"
2218
+ {
2219
+ yyval.node = new_call(yyvsp[-3].node, yyvsp[-1].id, yyvsp[0].node);
2220
+ fixpos(yyval.node, yyvsp[-3].node);
2221
+ }
2222
+ break;
2223
+ case 351:
2224
+ #line 1824 "parse.y"
2225
+ {
2226
+ yyval.node = new_call(yyvsp[-3].node, yyvsp[-1].id, yyvsp[0].node);
2227
+ fixpos(yyval.node, yyvsp[-3].node);
2228
+ }
2229
+ break;
2230
+ case 352:
2231
+ #line 1829 "parse.y"
2232
+ {
2233
+ yyval.node = new_call(yyvsp[-2].node, yyvsp[0].id, 0);
2234
+ }
2235
+ break;
2236
+ case 353:
2237
+ #line 1833 "parse.y"
2238
+ {
2239
+ yyval.node = new_super(yyvsp[0].node);
2240
+ }
2241
+ break;
2242
+ case 354:
2243
+ #line 1837 "parse.y"
2244
+ {
2245
+ yyval.node = NEW_ZSUPER();
2246
+ }
2247
+ break;
2248
+ case 355:
2249
+ #line 1843 "parse.y"
2250
+ {
2251
+ yyval.vars = dyna_push();
2252
+ yyvsp[0].num = ruby_sourceline;
2253
+ }
2254
+ break;
2255
+ case 356:
2256
+ #line 1847 "parse.y"
2257
+ {yyval.vars = ruby_dyna_vars;}
2258
+ break;
2259
+ case 357:
2260
+ #line 1849 "parse.y"
2261
+ {
2262
+ yyval.node = NEW_ITER(yyvsp[-3].node, 0, dyna_init(yyvsp[-1].node, yyvsp[-2].vars));
2263
+ nd_set_line(yyval.node, yyvsp[-5].num);
2264
+ dyna_pop(yyvsp[-4].vars);
2265
+ }
2266
+ break;
2267
+ case 358:
2268
+ #line 1855 "parse.y"
2269
+ {
2270
+ yyval.vars = dyna_push();
2271
+ yyvsp[0].num = ruby_sourceline;
2272
+ }
2273
+ break;
2274
+ case 359:
2275
+ #line 1859 "parse.y"
2276
+ {yyval.vars = ruby_dyna_vars;}
2277
+ break;
2278
+ case 360:
2279
+ #line 1861 "parse.y"
2280
+ {
2281
+ yyval.node = NEW_ITER(yyvsp[-3].node, 0, dyna_init(yyvsp[-1].node, yyvsp[-2].vars));
2282
+ nd_set_line(yyval.node, yyvsp[-5].num);
2283
+ dyna_pop(yyvsp[-4].vars);
2284
+ }
2285
+ break;
2286
+ case 361:
2287
+ #line 1871 "parse.y"
2288
+ {
2289
+ yyval.node = NEW_WHEN(yyvsp[-3].node, yyvsp[-1].node, yyvsp[0].node);
2290
+ }
2291
+ break;
2292
+ case 363:
2293
+ #line 1877 "parse.y"
2294
+ {
2295
+ yyval.node = list_append(yyvsp[-3].node, NEW_WHEN(yyvsp[0].node, 0, 0));
2296
+ }
2297
+ break;
2298
+ case 364:
2299
+ #line 1881 "parse.y"
2300
+ {
2301
+ yyval.node = NEW_LIST(NEW_WHEN(yyvsp[0].node, 0, 0));
2302
+ }
2303
+ break;
2304
+ case 367:
2305
+ #line 1893 "parse.y"
2306
+ {
2307
+ if (yyvsp[-3].node) {
2308
+ yyvsp[-3].node = node_assign(yyvsp[-3].node, NEW_GVAR(rb_intern("$!")));
2309
+ yyvsp[-1].node = block_append(yyvsp[-3].node, yyvsp[-1].node);
2310
+ }
2311
+ yyval.node = NEW_RESBODY(yyvsp[-4].node, yyvsp[-1].node, yyvsp[0].node);
2312
+ fixpos(yyval.node, yyvsp[-4].node?yyvsp[-4].node:yyvsp[-1].node);
2313
+ }
2314
+ break;
2315
+ case 369:
2316
+ #line 1905 "parse.y"
2317
+ {
2318
+ yyval.node = NEW_LIST(yyvsp[0].node);
2319
+ }
2320
+ break;
2321
+ case 372:
2322
+ #line 1913 "parse.y"
2323
+ {
2324
+ yyval.node = yyvsp[0].node;
2325
+ }
2326
+ break;
2327
+ case 374:
2328
+ #line 1920 "parse.y"
2329
+ {
2330
+ if (yyvsp[0].node)
2331
+ yyval.node = yyvsp[0].node;
2332
+ else
2333
+ /* place holder */
2334
+ yyval.node = NEW_NIL();
2335
+ }
2336
+ break;
2337
+ case 377:
2338
+ #line 1932 "parse.y"
2339
+ {
2340
+ yyval.node = NEW_LIT(ID2SYM(yyvsp[0].id));
2341
+ }
2342
+ break;
2343
+ case 379:
2344
+ #line 1939 "parse.y"
2345
+ {
2346
+ NODE *node = yyvsp[0].node;
2347
+ if (!node) {
2348
+ node = NEW_STR(rb_str_new(0, 0));
2349
+ }
2350
+ else {
2351
+ node = evstr2dstr(node);
2352
+ }
2353
+ yyval.node = node;
2354
+ }
2355
+ break;
2356
+ case 381:
2357
+ #line 1953 "parse.y"
2358
+ {
2359
+ yyval.node = literal_concat(yyvsp[-1].node, yyvsp[0].node);
2360
+ }
2361
+ break;
2362
+ case 382:
2363
+ #line 1959 "parse.y"
2364
+ {
2365
+ yyval.node = yyvsp[-1].node;
2366
+ }
2367
+ break;
2368
+ case 383:
2369
+ #line 1965 "parse.y"
2370
+ {
2371
+ NODE *node = yyvsp[-1].node;
2372
+ if (!node) {
2373
+ node = NEW_XSTR(rb_str_new(0, 0));
2374
+ }
2375
+ else {
2376
+ switch (nd_type(node)) {
2377
+ case NODE_STR:
2378
+ nd_set_type(node, NODE_XSTR);
2379
+ break;
2380
+ case NODE_DSTR:
2381
+ nd_set_type(node, NODE_DXSTR);
2382
+ break;
2383
+ default:
2384
+ node = NEW_NODE(NODE_DXSTR, rb_str_new(0, 0), 1, NEW_LIST(node));
2385
+ break;
2386
+ }
2387
+ }
2388
+ yyval.node = node;
2389
+ }
2390
+ break;
2391
+ case 384:
2392
+ #line 1988 "parse.y"
2393
+ {
2394
+ int options = yyvsp[0].num;
2395
+ NODE *node = yyvsp[-1].node;
2396
+ if (!node) {
2397
+ node = NEW_LIT(rb_reg_new("", 0, options & ~RE_OPTION_ONCE));
2398
+ }
2399
+ else switch (nd_type(node)) {
2400
+ case NODE_STR:
2401
+ {
2402
+ VALUE src = node->nd_lit;
2403
+ nd_set_type(node, NODE_LIT);
2404
+ node->nd_lit = rb_reg_new(RSTRING(src)->ptr,
2405
+ RSTRING(src)->len,
2406
+ options & ~RE_OPTION_ONCE);
2407
+ }
2408
+ break;
2409
+ default:
2410
+ node = NEW_NODE(NODE_DSTR, rb_str_new(0, 0), 1, NEW_LIST(node));
2411
+ case NODE_DSTR:
2412
+ if (options & RE_OPTION_ONCE) {
2413
+ nd_set_type(node, NODE_DREGX_ONCE);
2414
+ }
2415
+ else {
2416
+ nd_set_type(node, NODE_DREGX);
2417
+ }
2418
+ node->nd_cflag = options & ~RE_OPTION_ONCE;
2419
+ break;
2420
+ }
2421
+ yyval.node = node;
2422
+ }
2423
+ break;
2424
+ case 385:
2425
+ #line 2021 "parse.y"
2426
+ {
2427
+ yyval.node = NEW_ZARRAY();
2428
+ }
2429
+ break;
2430
+ case 386:
2431
+ #line 2025 "parse.y"
2432
+ {
2433
+ yyval.node = yyvsp[-1].node;
2434
+ }
2435
+ break;
2436
+ case 387:
2437
+ #line 2031 "parse.y"
2438
+ {
2439
+ yyval.node = 0;
2440
+ }
2441
+ break;
2442
+ case 388:
2443
+ #line 2035 "parse.y"
2444
+ {
2445
+ yyval.node = list_append(yyvsp[-2].node, evstr2dstr(yyvsp[-1].node));
2446
+ }
2447
+ break;
2448
+ case 390:
2449
+ #line 2042 "parse.y"
2450
+ {
2451
+ yyval.node = literal_concat(yyvsp[-1].node, yyvsp[0].node);
2452
+ }
2453
+ break;
2454
+ case 391:
2455
+ #line 2048 "parse.y"
2456
+ {
2457
+ yyval.node = NEW_ZARRAY();
2458
+ }
2459
+ break;
2460
+ case 392:
2461
+ #line 2052 "parse.y"
2462
+ {
2463
+ yyval.node = yyvsp[-1].node;
2464
+ }
2465
+ break;
2466
+ case 393:
2467
+ #line 2058 "parse.y"
2468
+ {
2469
+ yyval.node = 0;
2470
+ }
2471
+ break;
2472
+ case 394:
2473
+ #line 2062 "parse.y"
2474
+ {
2475
+ yyval.node = list_append(yyvsp[-2].node, yyvsp[-1].node);
2476
+ }
2477
+ break;
2478
+ case 395:
2479
+ #line 2068 "parse.y"
2480
+ {
2481
+ yyval.node = 0;
2482
+ }
2483
+ break;
2484
+ case 396:
2485
+ #line 2072 "parse.y"
2486
+ {
2487
+ yyval.node = literal_concat(yyvsp[-1].node, yyvsp[0].node);
2488
+ }
2489
+ break;
2490
+ case 397:
2491
+ #line 2078 "parse.y"
2492
+ {
2493
+ yyval.node = 0;
2494
+ }
2495
+ break;
2496
+ case 398:
2497
+ #line 2082 "parse.y"
2498
+ {
2499
+ yyval.node = literal_concat(yyvsp[-1].node, yyvsp[0].node);
2500
+ }
2501
+ break;
2502
+ case 400:
2503
+ #line 2089 "parse.y"
2504
+ {
2505
+ yyval.node = lex_strterm;
2506
+ lex_strterm = 0;
2507
+ lex_state = EXPR_BEG;
2508
+ }
2509
+ break;
2510
+ case 401:
2511
+ #line 2095 "parse.y"
2512
+ {
2513
+ lex_strterm = yyvsp[-1].node;
2514
+ yyval.node = NEW_EVSTR(yyvsp[0].node);
2515
+ }
2516
+ break;
2517
+ case 402:
2518
+ #line 2100 "parse.y"
2519
+ {
2520
+ yyval.node = lex_strterm;
2521
+ lex_strterm = 0;
2522
+ lex_state = EXPR_BEG;
2523
+ COND_PUSH(0);
2524
+ CMDARG_PUSH(0);
2525
+ }
2526
+ break;
2527
+ case 403:
2528
+ #line 2108 "parse.y"
2529
+ {
2530
+ lex_strterm = yyvsp[-2].node;
2531
+ COND_LEXPOP();
2532
+ CMDARG_LEXPOP();
2533
+ if ((yyval.node = yyvsp[-1].node) && nd_type(yyval.node) == NODE_NEWLINE) {
2534
+ yyval.node = yyval.node->nd_next;
2535
+ rb_gc_force_recycle((VALUE)yyvsp[-1].node);
2536
+ }
2537
+ yyval.node = new_evstr(yyval.node);
2538
+ }
2539
+ break;
2540
+ case 404:
2541
+ #line 2120 "parse.y"
2542
+ {yyval.node = NEW_GVAR(yyvsp[0].id);}
2543
+ break;
2544
+ case 405:
2545
+ #line 2121 "parse.y"
2546
+ {yyval.node = NEW_IVAR(yyvsp[0].id);}
2547
+ break;
2548
+ case 406:
2549
+ #line 2122 "parse.y"
2550
+ {yyval.node = NEW_CVAR(yyvsp[0].id);}
2551
+ break;
2552
+ case 408:
2553
+ #line 2127 "parse.y"
2554
+ {
2555
+ lex_state = EXPR_END;
2556
+ yyval.id = yyvsp[0].id;
2557
+ }
2558
+ break;
2559
+ case 413:
2560
+ #line 2140 "parse.y"
2561
+ {
2562
+ lex_state = EXPR_END;
2563
+ if (!(yyval.node = yyvsp[-1].node)) {
2564
+ yyerror("empty symbol literal");
2565
+ }
2566
+ else {
2567
+ VALUE lit;
2568
+
2569
+ switch (nd_type(yyval.node)) {
2570
+ case NODE_DSTR:
2571
+ nd_set_type(yyval.node, NODE_DSYM);
2572
+ break;
2573
+ case NODE_STR:
2574
+ lit = yyval.node->nd_lit;
2575
+ if (RSTRING(lit)->len == 0) {
2576
+ yyerror("empty symbol literal");
2577
+ break;
2578
+ }
2579
+ if (strlen(RSTRING(lit)->ptr) == RSTRING(lit)->len) {
2580
+ yyval.node->nd_lit = ID2SYM(rb_intern(RSTRING(yyval.node->nd_lit)->ptr));
2581
+ nd_set_type(yyval.node, NODE_LIT);
2582
+ break;
2583
+ }
2584
+ /* fall through */
2585
+ default:
2586
+ yyval.node = NEW_NODE(NODE_DSYM, rb_str_new(0, 0), 1, NEW_LIST(yyval.node));
2587
+ break;
2588
+ }
2589
+ }
2590
+ }
2591
+ break;
2592
+ case 416:
2593
+ #line 2175 "parse.y"
2594
+ {
2595
+ yyval.node = negate_lit(yyvsp[0].node);
2596
+ }
2597
+ break;
2598
+ case 417:
2599
+ #line 2179 "parse.y"
2600
+ {
2601
+ yyval.node = negate_lit(yyvsp[0].node);
2602
+ }
2603
+ break;
2604
+ case 423:
2605
+ #line 2189 "parse.y"
2606
+ {yyval.id = kNIL;}
2607
+ break;
2608
+ case 424:
2609
+ #line 2190 "parse.y"
2610
+ {yyval.id = kSELF;}
2611
+ break;
2612
+ case 425:
2613
+ #line 2191 "parse.y"
2614
+ {yyval.id = kTRUE;}
2615
+ break;
2616
+ case 426:
2617
+ #line 2192 "parse.y"
2618
+ {yyval.id = kFALSE;}
2619
+ break;
2620
+ case 427:
2621
+ #line 2193 "parse.y"
2622
+ {yyval.id = k__FILE__;}
2623
+ break;
2624
+ case 428:
2625
+ #line 2194 "parse.y"
2626
+ {yyval.id = k__LINE__;}
2627
+ break;
2628
+ case 429:
2629
+ #line 2198 "parse.y"
2630
+ {
2631
+ yyval.node = gettable(yyvsp[0].id);
2632
+ }
2633
+ break;
2634
+ case 430:
2635
+ #line 2204 "parse.y"
2636
+ {
2637
+ yyval.node = assignable(yyvsp[0].id, 0);
2638
+ }
2639
+ break;
2640
+ case 433:
2641
+ #line 2214 "parse.y"
2642
+ {
2643
+ yyval.node = 0;
2644
+ }
2645
+ break;
2646
+ case 434:
2647
+ #line 2218 "parse.y"
2648
+ {
2649
+ lex_state = EXPR_BEG;
2650
+ }
2651
+ break;
2652
+ case 435:
2653
+ #line 2222 "parse.y"
2654
+ {
2655
+ yyval.node = yyvsp[-1].node;
2656
+ }
2657
+ break;
2658
+ case 436:
2659
+ #line 2225 "parse.y"
2660
+ {yyerrok; yyval.node = 0;}
2661
+ break;
2662
+ case 437:
2663
+ #line 2229 "parse.y"
2664
+ {
2665
+ yyval.node = yyvsp[-2].node;
2666
+ lex_state = EXPR_BEG;
2667
+ }
2668
+ break;
2669
+ case 438:
2670
+ #line 2234 "parse.y"
2671
+ {
2672
+ yyval.node = yyvsp[-1].node;
2673
+ }
2674
+ break;
2675
+ case 439:
2676
+ #line 2240 "parse.y"
2677
+ {
2678
+ yyval.node = block_append(NEW_ARGS(yyvsp[-5].num, yyvsp[-3].node, yyvsp[-1].id), yyvsp[0].node);
2679
+ }
2680
+ break;
2681
+ case 440:
2682
+ #line 2244 "parse.y"
2683
+ {
2684
+ yyval.node = block_append(NEW_ARGS(yyvsp[-3].num, yyvsp[-1].node, -1), yyvsp[0].node);
2685
+ }
2686
+ break;
2687
+ case 441:
2688
+ #line 2248 "parse.y"
2689
+ {
2690
+ yyval.node = block_append(NEW_ARGS(yyvsp[-3].num, 0, yyvsp[-1].id), yyvsp[0].node);
2691
+ }
2692
+ break;
2693
+ case 442:
2694
+ #line 2252 "parse.y"
2695
+ {
2696
+ yyval.node = block_append(NEW_ARGS(yyvsp[-1].num, 0, -1), yyvsp[0].node);
2697
+ }
2698
+ break;
2699
+ case 443:
2700
+ #line 2256 "parse.y"
2701
+ {
2702
+ yyval.node = block_append(NEW_ARGS(0, yyvsp[-3].node, yyvsp[-1].id), yyvsp[0].node);
2703
+ }
2704
+ break;
2705
+ case 444:
2706
+ #line 2260 "parse.y"
2707
+ {
2708
+ yyval.node = block_append(NEW_ARGS(0, yyvsp[-1].node, -1), yyvsp[0].node);
2709
+ }
2710
+ break;
2711
+ case 445:
2712
+ #line 2264 "parse.y"
2713
+ {
2714
+ yyval.node = block_append(NEW_ARGS(0, 0, yyvsp[-1].id), yyvsp[0].node);
2715
+ }
2716
+ break;
2717
+ case 446:
2718
+ #line 2268 "parse.y"
2719
+ {
2720
+ yyval.node = block_append(NEW_ARGS(0, 0, -1), yyvsp[0].node);
2721
+ }
2722
+ break;
2723
+ case 447:
2724
+ #line 2272 "parse.y"
2725
+ {
2726
+ yyval.node = NEW_ARGS(0, 0, -1);
2727
+ }
2728
+ break;
2729
+ case 448:
2730
+ #line 2278 "parse.y"
2731
+ {
2732
+ yyerror("formal argument cannot be a constant");
2733
+ }
2734
+ break;
2735
+ case 449:
2736
+ #line 2282 "parse.y"
2737
+ {
2738
+ yyerror("formal argument cannot be an instance variable");
2739
+ }
2740
+ break;
2741
+ case 450:
2742
+ #line 2286 "parse.y"
2743
+ {
2744
+ yyerror("formal argument cannot be a global variable");
2745
+ }
2746
+ break;
2747
+ case 451:
2748
+ #line 2290 "parse.y"
2749
+ {
2750
+ yyerror("formal argument cannot be a class variable");
2751
+ }
2752
+ break;
2753
+ case 452:
2754
+ #line 2294 "parse.y"
2755
+ {
2756
+ if (!is_local_id(yyvsp[0].id))
2757
+ yyerror("formal argument must be local variable");
2758
+ else if (local_id(yyvsp[0].id))
2759
+ yyerror("duplicate argument name");
2760
+ local_cnt(yyvsp[0].id);
2761
+ yyval.num = 1;
2762
+ }
2763
+ break;
2764
+ case 454:
2765
+ #line 2306 "parse.y"
2766
+ {
2767
+ yyval.num += 1;
2768
+ }
2769
+ break;
2770
+ case 455:
2771
+ #line 2312 "parse.y"
2772
+ {
2773
+ if (!is_local_id(yyvsp[-2].id))
2774
+ yyerror("formal argument must be local variable");
2775
+ else if (local_id(yyvsp[-2].id))
2776
+ yyerror("duplicate optional argument name");
2777
+ yyval.node = assignable(yyvsp[-2].id, yyvsp[0].node);
2778
+ }
2779
+ break;
2780
+ case 456:
2781
+ #line 2322 "parse.y"
2782
+ {
2783
+ yyval.node = NEW_BLOCK(yyvsp[0].node);
2784
+ yyval.node->nd_end = yyval.node;
2785
+ }
2786
+ break;
2787
+ case 457:
2788
+ #line 2327 "parse.y"
2789
+ {
2790
+ yyval.node = block_append(yyvsp[-2].node, yyvsp[0].node);
2791
+ }
2792
+ break;
2793
+ case 460:
2794
+ #line 2337 "parse.y"
2795
+ {
2796
+ if (!is_local_id(yyvsp[0].id))
2797
+ yyerror("rest argument must be local variable");
2798
+ else if (local_id(yyvsp[0].id))
2799
+ yyerror("duplicate rest argument name");
2800
+ yyval.id = local_cnt(yyvsp[0].id);
2801
+ }
2802
+ break;
2803
+ case 461:
2804
+ #line 2345 "parse.y"
2805
+ {
2806
+ yyval.id = -2;
2807
+ }
2808
+ break;
2809
+ case 464:
2810
+ #line 2355 "parse.y"
2811
+ {
2812
+ if (!is_local_id(yyvsp[0].id))
2813
+ yyerror("block argument must be local variable");
2814
+ else if (local_id(yyvsp[0].id))
2815
+ yyerror("duplicate block argument name");
2816
+ yyval.node = NEW_BLOCK_ARG(yyvsp[0].id);
2817
+ }
2818
+ break;
2819
+ case 465:
2820
+ #line 2365 "parse.y"
2821
+ {
2822
+ yyval.node = yyvsp[0].node;
2823
+ }
2824
+ break;
2825
+ case 467:
2826
+ #line 2372 "parse.y"
2827
+ {
2828
+ if (nd_type(yyvsp[0].node) == NODE_SELF) {
2829
+ yyval.node = NEW_SELF();
2830
+ }
2831
+ else {
2832
+ yyval.node = yyvsp[0].node;
2833
+ value_expr(yyval.node);
2834
+ }
2835
+ }
2836
+ break;
2837
+ case 468:
2838
+ #line 2381 "parse.y"
2839
+ {lex_state = EXPR_BEG;}
2840
+ break;
2841
+ case 469:
2842
+ #line 2382 "parse.y"
2843
+ {
2844
+ if (yyvsp[-2].node == 0) {
2845
+ yyerror("can't define singleton method for ().");
2846
+ }
2847
+ else {
2848
+ switch (nd_type(yyvsp[-2].node)) {
2849
+ case NODE_STR:
2850
+ case NODE_DSTR:
2851
+ case NODE_XSTR:
2852
+ case NODE_DXSTR:
2853
+ case NODE_DREGX:
2854
+ case NODE_LIT:
2855
+ case NODE_ARRAY:
2856
+ case NODE_ZARRAY:
2857
+ yyerror("can't define singleton method for literals");
2858
+ default:
2859
+ value_expr(yyvsp[-2].node);
2860
+ break;
2861
+ }
2862
+ }
2863
+ yyval.node = yyvsp[-2].node;
2864
+ }
2865
+ break;
2866
+ case 471:
2867
+ #line 2408 "parse.y"
2868
+ {
2869
+ yyval.node = yyvsp[-1].node;
2870
+ }
2871
+ break;
2872
+ case 472:
2873
+ #line 2412 "parse.y"
2874
+ {
2875
+ if (yyvsp[-1].node->nd_alen%2 != 0) {
2876
+ yyerror("odd number list for Hash");
2877
+ }
2878
+ yyval.node = yyvsp[-1].node;
2879
+ }
2880
+ break;
2881
+ case 474:
2882
+ #line 2422 "parse.y"
2883
+ {
2884
+ yyval.node = list_concat(yyvsp[-2].node, yyvsp[0].node);
2885
+ }
2886
+ break;
2887
+ case 475:
2888
+ #line 2428 "parse.y"
2889
+ {
2890
+ yyval.node = list_append(NEW_LIST(yyvsp[-2].node), yyvsp[0].node);
2891
+ }
2892
+ break;
2893
+ case 495:
2894
+ #line 2466 "parse.y"
2895
+ {yyerrok;}
2896
+ break;
2897
+ case 498:
2898
+ #line 2471 "parse.y"
2899
+ {yyerrok;}
2900
+ break;
2901
+ case 499:
2902
+ #line 2474 "parse.y"
2903
+ {yyval.node = 0;}
2904
+ break;
2905
+ }