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.
- data/ChangeLog.gems +14 -0
- data/data/refe/class_document/-open-s-s-l%3a%3a-cipher%3a%3a-cipher +4 -2
- data/data/refe/class_document/-re-fe +3 -0
- data/data/refe/class_document/-struct%3a%3a-x-x-x +0 -0
- data/data/refe/class_document_comp +1 -0
- data/data/refe/function_source/-init/-array +1 -1
- data/data/refe/function_source/-init/-bignum +1 -1
- data/data/refe/function_source/-init/-binding +1 -1
- data/data/refe/function_source/-init/-file +3 -1
- data/data/refe/function_source/-init/-g-c +2 -2
- data/data/refe/function_source/-init/-i-o +7 -8
- data/data/refe/function_source/-init/-numeric +1 -1
- data/data/refe/function_source/-init/-object +4 -4
- data/data/refe/function_source/-init/-proc +3 -3
- data/data/refe/function_source/-init/-regexp +1 -1
- data/data/refe/function_source/-init/-thread +2 -2
- data/data/refe/function_source/-init/eval +3 -3
- data/data/refe/function_source/-init/heap +1 -1
- data/data/refe/function_source/-init/load +4 -4
- data/data/refe/function_source/-init/process +1 -1
- data/data/refe/function_source/-init/stack +1 -1
- data/data/refe/function_source/-init/sym +1 -1
- data/data/refe/function_source/add/final +1 -1
- data/data/refe/function_source/appendline +1 -1
- data/data/refe/function_source/apply2files +3 -2
- data/data/refe/function_source/arg/add +1 -1
- data/data/refe/function_source/arg/ambiguous +1 -1
- data/data/refe/function_source/arg/blk/pass +1 -1
- data/data/refe/function_source/arg/concat +1 -1
- data/data/refe/function_source/arg/prepend +1 -1
- data/data/refe/function_source/argf/binmode +1 -1
- data/data/refe/function_source/argf/close/- +1 -1
- data/data/refe/function_source/argf/close/m +1 -1
- data/data/refe/function_source/argf/closed +1 -1
- data/data/refe/function_source/argf/each/byte +1 -1
- data/data/refe/function_source/argf/each/line +1 -1
- data/data/refe/function_source/argf/eof +1 -1
- data/data/refe/function_source/argf/file +1 -1
- data/data/refe/function_source/argf/filename +1 -1
- data/data/refe/function_source/argf/fileno +1 -1
- data/data/refe/function_source/argf/forward +1 -1
- data/data/refe/function_source/argf/getc +1 -1
- data/data/refe/function_source/argf/getline +1 -1
- data/data/refe/function_source/argf/lineno +1 -1
- data/data/refe/function_source/argf/read +1 -1
- data/data/refe/function_source/argf/readchar +1 -1
- data/data/refe/function_source/argf/rewind +1 -1
- data/data/refe/function_source/argf/seek/m +1 -1
- data/data/refe/function_source/argf/set/lineno +1 -1
- data/data/refe/function_source/argf/set/pos +1 -1
- data/data/refe/function_source/argf/skip +1 -1
- data/data/refe/function_source/argf/tell +1 -1
- data/data/refe/function_source/argf/to/io +1 -1
- data/data/refe/function_source/argf/to/s +1 -1
- data/data/refe/function_source/ary/make/hash +1 -1
- data/data/refe/function_source/ary/sort/check +1 -1
- data/data/refe/function_source/aryset +1 -1
- data/data/refe/function_source/asc/startpos +1 -1
- data/data/refe/function_source/assign/- +1 -1
- data/data/refe/function_source/assign/in/cond +1 -1
- data/data/refe/function_source/assignable +1 -1
- data/data/refe/function_source/attrset +1 -1
- data/data/refe/function_source/autoload/delete +1 -1
- data/data/refe/function_source/autoload/file +1 -1
- data/data/refe/function_source/avalue/splat +1 -1
- data/data/refe/function_source/avalue/to/svalue +1 -1
- data/data/refe/function_source/backtrace +1 -1
- data/data/refe/function_source/be/chown +12 -0
- data/data/refe/function_source/be/fchown +12 -0
- data/data/refe/function_source/bignew/1 +1 -1
- data/data/refe/function_source/bigsub +1 -1
- data/data/refe/function_source/blk/copy/prev +1 -1
- data/data/refe/function_source/blk/dup +1 -1
- data/data/refe/function_source/blk/free +1 -1
- data/data/refe/function_source/blk/mark +1 -1
- data/data/refe/function_source/block/append +1 -1
- data/data/refe/function_source/block/orphan +1 -1
- data/data/refe/function_source/block/pass +1 -1
- data/data/refe/function_source/bm/init/skip +1 -1
- data/data/refe/function_source/bm/mark +1 -1
- data/data/refe/function_source/bm/search +1 -1
- data/data/refe/function_source/bmcall +5 -2
- data/data/refe/function_source/boot/defclass +1 -1
- data/data/refe/function_source/break/jump +1 -1
- data/data/refe/function_source/call/cfunc +1 -1
- data/data/refe/function_source/call/end/proc +1 -1
- data/data/refe/function_source/call/final +1 -1
- data/data/refe/function_source/call/op +1 -1
- data/data/refe/function_source/call/trace/func +2 -2
- data/data/refe/function_source/catch/i +1 -1
- data/data/refe/function_source/catch/timer +1 -1
- data/data/refe/function_source/check/autoload/table +1 -1
- data/data/refe/function_source/check/gid/switch +1 -1
- data/data/refe/function_source/check/int +1 -1
- data/data/refe/function_source/check/uid/switch +1 -1
- data/data/refe/function_source/check/uint +1 -1
- data/data/refe/function_source/check3rdbyte +1 -1
- data/data/refe/function_source/chmod/internal +4 -3
- data/data/refe/function_source/chown/internal +5 -3
- data/data/refe/function_source/class/instance/method/list +1 -1
- data/data/refe/function_source/class/prefix +1 -1
- data/data/refe/function_source/compile/- +1 -1
- data/data/refe/function_source/cond/- +1 -1
- data/data/refe/function_source/cond/negative +1 -1
- data/data/refe/function_source/cond0 +1 -1
- data/data/refe/function_source/const/missing +1 -1
- data/data/refe/function_source/conv/to/posix/path +1 -0
- data/data/refe/function_source/convert/type +1 -1
- data/data/refe/function_source/copy/fds +1 -1
- data/data/refe/function_source/cv/i +1 -1
- data/data/refe/function_source/cvar/override/check +1 -1
- data/data/refe/function_source/deferr/setter +1 -1
- data/data/refe/function_source/define/filetest/function +1 -1
- data/data/refe/function_source/define/final +1 -1
- data/data/refe/function_source/defout/setter +1 -1
- data/data/refe/function_source/delete/never +1 -1
- data/data/refe/function_source/dispose/string +2 -2
- data/data/refe/function_source/dln/find/1 +1 -1
- data/data/refe/function_source/dyna/in/block +1 -1
- data/data/refe/function_source/dyna/init +1 -1
- data/data/refe/function_source/dyna/pop +1 -1
- data/data/refe/function_source/dyna/push +1 -1
- data/data/refe/function_source/e/option/supplied +1 -1
- data/data/refe/function_source/eaccess +1 -1
- data/data/refe/function_source/errat/getter +1 -1
- data/data/refe/function_source/errat/setter +1 -1
- data/data/refe/function_source/errinfo/setter +1 -1
- data/data/refe/function_source/euc/startpos +1 -1
- data/data/refe/function_source/ev/const/get +1 -1
- data/data/refe/function_source/eval/- +1 -1
- data/data/refe/function_source/eval/under/- +1 -1
- data/data/refe/function_source/eval/under/i +6 -1
- data/data/refe/function_source/evstr2dstr +1 -1
- data/data/refe/function_source/exec/under +8 -6
- data/data/refe/function_source/false/and +1 -1
- data/data/refe/function_source/false/or +1 -1
- data/data/refe/function_source/false/to/s +1 -1
- data/data/refe/function_source/false/xor +1 -1
- data/data/refe/function_source/file/expand/path +1 -1
- data/data/refe/function_source/file/inspect/join +1 -1
- data/data/refe/function_source/file/load/ok +1 -1
- data/data/refe/function_source/finalize/list +1 -1
- data/data/refe/function_source/finals +1 -1
- data/data/refe/function_source/find/bad/fds +1 -1
- data/data/refe/function_source/fix/abs +1 -1
- data/data/refe/function_source/fix/and +1 -1
- data/data/refe/function_source/fix/aref +1 -1
- data/data/refe/function_source/fix/cmp +1 -1
- data/data/refe/function_source/fix/div +1 -1
- data/data/refe/function_source/fix/divmod +1 -1
- data/data/refe/function_source/fix/equal +1 -1
- data/data/refe/function_source/fix/ge +1 -1
- data/data/refe/function_source/fix/gt +1 -1
- data/data/refe/function_source/fix/id2name +1 -1
- data/data/refe/function_source/fix/le +1 -1
- data/data/refe/function_source/fix/lshift +1 -1
- data/data/refe/function_source/fix/lt +1 -1
- data/data/refe/function_source/fix/minus +1 -1
- data/data/refe/function_source/fix/mod +1 -1
- data/data/refe/function_source/fix/mul +1 -1
- data/data/refe/function_source/fix/or +1 -1
- data/data/refe/function_source/fix/plus +1 -1
- data/data/refe/function_source/fix/pow +1 -1
- data/data/refe/function_source/fix/quo +1 -1
- data/data/refe/function_source/fix/rev +1 -1
- data/data/refe/function_source/fix/rshift +1 -1
- data/data/refe/function_source/fix/size +1 -1
- data/data/refe/function_source/fix/to/f +1 -1
- data/data/refe/function_source/fix/to/s +1 -1
- data/data/refe/function_source/fix/to/sym +1 -1
- data/data/refe/function_source/fix/uminus +1 -1
- data/data/refe/function_source/fix/xor +1 -1
- data/data/refe/function_source/fix/zero/p +1 -1
- data/data/refe/function_source/fixdivmod +1 -1
- data/data/refe/function_source/fixpos +1 -1
- data/data/refe/function_source/flatten +1 -1
- data/data/refe/function_source/flo/abs +1 -1
- data/data/refe/function_source/flo/ceil +1 -1
- data/data/refe/function_source/flo/cmp +1 -1
- data/data/refe/function_source/flo/coerce +1 -1
- data/data/refe/function_source/flo/div +1 -1
- data/data/refe/function_source/flo/divmod +1 -1
- data/data/refe/function_source/flo/eq +1 -1
- data/data/refe/function_source/flo/eql +1 -1
- data/data/refe/function_source/flo/floor +1 -1
- data/data/refe/function_source/flo/ge +1 -1
- data/data/refe/function_source/flo/gt +1 -1
- data/data/refe/function_source/flo/hash +1 -1
- data/data/refe/function_source/flo/is/finite/p +1 -1
- data/data/refe/function_source/flo/is/infinite/p +1 -1
- data/data/refe/function_source/flo/is/nan/p +1 -1
- data/data/refe/function_source/flo/le +1 -1
- data/data/refe/function_source/flo/lt +1 -1
- data/data/refe/function_source/flo/minus +1 -1
- data/data/refe/function_source/flo/mod +1 -1
- data/data/refe/function_source/flo/mul +1 -1
- data/data/refe/function_source/flo/plus +1 -1
- data/data/refe/function_source/flo/pow +1 -1
- data/data/refe/function_source/flo/round +1 -1
- data/data/refe/function_source/flo/to/f +1 -1
- data/data/refe/function_source/flo/to/s +1 -1
- data/data/refe/function_source/flo/truncate +1 -1
- data/data/refe/function_source/flo/uminus +1 -1
- data/data/refe/function_source/flo/zero/p +1 -1
- data/data/refe/function_source/flodivmod +1 -1
- data/data/refe/function_source/flush/before/seek +1 -1
- data/data/refe/function_source/flush/register/windows +1 -1
- data/data/refe/function_source/fmt/setup +1 -1
- data/data/refe/function_source/fpath/check +1 -1
- data/data/refe/function_source/fptr/finalize +1 -1
- data/data/refe/function_source/frame/dup +1 -1
- data/data/refe/function_source/frame/free +1 -1
- data/data/refe/function_source/free/unused/heaps +1 -1
- data/data/refe/function_source/garbage/collect +1 -1
- data/data/refe/function_source/gc/mark/children +0 -2
- data/data/refe/function_source/gc/sweep +4 -2
- data/data/refe/function_source/generic/ivar/defined +1 -1
- data/data/refe/function_source/generic/ivar/get +1 -1
- data/data/refe/function_source/generic/ivar/remove +1 -1
- data/data/refe/function_source/generic/ivar/set +1 -1
- data/data/refe/function_source/get/event/name +1 -1
- data/data/refe/function_source/get/inspect/tbl +1 -1
- data/data/refe/function_source/get/stat +1 -1
- data/data/refe/function_source/getcwdofdrv +1 -1
- data/data/refe/function_source/gettable +1 -1
- data/data/refe/function_source/givar/i +1 -1
- data/data/refe/function_source/givar/mark/i +1 -1
- data/data/refe/function_source/global/id +1 -1
- data/data/refe/function_source/group/member +1 -1
- data/data/refe/function_source/gvar/i +1 -1
- data/data/refe/function_source/handle/rescue +1 -1
- data/data/refe/function_source/has/drive/letter +1 -1
- data/data/refe/function_source/here/document +1 -1
- data/data/refe/function_source/heredoc/identifier +1 -1
- data/data/refe/function_source/heredoc/restore +1 -1
- data/data/refe/function_source/id2ref +1 -1
- data/data/refe/function_source/ignorecase/getter +1 -1
- data/data/refe/function_source/ignorecase/setter +1 -1
- data/data/refe/function_source/include/class/new +1 -1
- data/data/refe/function_source/init/regs +1 -1
- data/data/refe/function_source/ins/methods/i +1 -1
- data/data/refe/function_source/ins/methods/priv/i +1 -1
- data/data/refe/function_source/ins/methods/prot/i +1 -1
- data/data/refe/function_source/ins/methods/pub/i +1 -1
- data/data/refe/function_source/ins/methods/push +1 -1
- data/data/refe/function_source/insert/jump/- +1 -1
- data/data/refe/function_source/insert/jump/n +1 -1
- data/data/refe/function_source/insert/op/- +1 -1
- data/data/refe/function_source/insert/op/2 +1 -1
- data/data/refe/function_source/inspect/ary +1 -1
- data/data/refe/function_source/inspect/call +1 -1
- data/data/refe/function_source/inspect/ensure +1 -1
- data/data/refe/function_source/inspect/i +1 -1
- data/data/refe/function_source/inspect/join +1 -1
- data/data/refe/function_source/inspect/obj +1 -1
- data/data/refe/function_source/int/chr +1 -1
- data/data/refe/function_source/int/dotimes +1 -1
- data/data/refe/function_source/int/downto +1 -1
- data/data/refe/function_source/int/int/p +1 -1
- data/data/refe/function_source/int/succ +1 -1
- data/data/refe/function_source/int/to/i +1 -1
- data/data/refe/function_source/int/upto +1 -1
- data/data/refe/function_source/internal/id +1 -1
- data/data/refe/function_source/intersect/fds +1 -1
- data/data/refe/function_source/io/alloc +1 -1
- data/data/refe/function_source/io/close +1 -1
- data/data/refe/function_source/io/cntl +1 -1
- data/data/refe/function_source/io/fflush +1 -1
- data/data/refe/function_source/io/fread +1 -1
- data/data/refe/function_source/io/fwrite +1 -1
- data/data/refe/function_source/io/getpartial +1 -1
- data/data/refe/function_source/io/new/instance +1 -1
- data/data/refe/function_source/io/puts/ary +1 -1
- data/data/refe/function_source/io/read +1 -1
- data/data/refe/function_source/io/readpartial +1 -1
- data/data/refe/function_source/io/reopen +1 -1
- data/data/refe/function_source/io/s/foreach +1 -1
- data/data/refe/function_source/io/s/read +1 -1
- data/data/refe/function_source/io/s/readlines +1 -1
- data/data/refe/function_source/io/write +1 -1
- data/data/refe/function_source/is/absolute/path +1 -1
- data/data/refe/function_source/is/macos/native/path +1 -1
- data/data/refe/function_source/is/special/global/name +23 -0
- data/data/refe/function_source/ivar/get +1 -1
- data/data/refe/function_source/ivar/i +1 -1
- data/data/refe/function_source/kcode/getter +1 -1
- data/data/refe/function_source/kcode/setter +1 -1
- data/data/refe/function_source/last/match/getter +1 -1
- data/data/refe/function_source/last/paren/match/getter +1 -1
- data/data/refe/function_source/lchmod/internal +4 -3
- data/data/refe/function_source/lchown/internal +5 -3
- data/data/refe/function_source/lex/get/str +1 -1
- data/data/refe/function_source/lex/getline +1 -1
- data/data/refe/function_source/lineno/setter +1 -1
- data/data/refe/function_source/list/append +1 -1
- data/data/refe/function_source/list/concat +1 -1
- data/data/refe/function_source/list/i +1 -1
- data/data/refe/function_source/literal/concat +1 -1
- data/data/refe/function_source/literal/node +1 -1
- data/data/refe/function_source/load/failed +1 -1
- data/data/refe/function_source/load/wait +6 -6
- data/data/refe/function_source/local/append +1 -1
- data/data/refe/function_source/local/cnt +1 -1
- data/data/refe/function_source/local/id +1 -1
- data/data/refe/function_source/local/pop +3 -3
- data/data/refe/function_source/local/push +1 -1
- data/data/refe/function_source/local/tbl +1 -1
- data/data/refe/function_source/logop +1 -1
- data/data/refe/function_source/main/to/s +1 -1
- data/data/refe/function_source/make/backtrace +1 -1
- data/data/refe/function_source/mark/frame/adj +1 -1
- data/data/refe/function_source/mark/hash +1 -1
- data/data/refe/function_source/mark/tbl +1 -1
- data/data/refe/function_source/massign +1 -1
- data/data/refe/function_source/match/aref +1 -1
- data/data/refe/function_source/match/array +1 -1
- data/data/refe/function_source/match/begin +1 -1
- data/data/refe/function_source/match/captures +1 -1
- data/data/refe/function_source/match/end +1 -1
- data/data/refe/function_source/match/entry +1 -1
- data/data/refe/function_source/match/fds +1 -1
- data/data/refe/function_source/match/gen +1 -1
- data/data/refe/function_source/match/getter +1 -1
- data/data/refe/function_source/match/init/copy +1 -1
- data/data/refe/function_source/match/offset +1 -1
- data/data/refe/function_source/match/select +1 -1
- data/data/refe/function_source/match/setter +1 -1
- data/data/refe/function_source/match/size +1 -1
- data/data/refe/function_source/match/string +1 -1
- data/data/refe/function_source/match/to/a +1 -1
- data/data/refe/function_source/match/to/s +1 -1
- data/data/refe/function_source/match/values/at +1 -1
- data/data/refe/function_source/memcmp/translate +1 -1
- data/data/refe/function_source/method/arity +1 -1
- data/data/refe/function_source/method/call +1 -1
- data/data/refe/function_source/method/clone +1 -1
- data/data/refe/function_source/method/entry +1 -1
- data/data/refe/function_source/method/eq +1 -1
- data/data/refe/function_source/method/inspect +1 -1
- data/data/refe/function_source/method/missing +1 -1
- data/data/refe/function_source/method/proc +1 -1
- data/data/refe/function_source/method/unbind +1 -1
- data/data/refe/function_source/mnew +1 -1
- data/data/refe/function_source/mod/av/set +1 -1
- data/data/refe/function_source/module/setup +1 -1
- data/data/refe/function_source/mproc +1 -1
- data/data/refe/function_source/must/respond/to +1 -1
- data/data/refe/function_source/negate/lit +1 -1
- data/data/refe/function_source/new/call +1 -1
- data/data/refe/function_source/new/evstr +1 -1
- data/data/refe/function_source/new/fcall +1 -1
- data/data/refe/function_source/new/size +1 -1
- data/data/refe/function_source/new/super +1 -1
- data/data/refe/function_source/new/yield +1 -1
- data/data/refe/function_source/newline/node +1 -1
- data/data/refe/function_source/newtok +1 -1
- data/data/refe/function_source/next/argv +1 -1
- data/data/refe/function_source/nextc +1 -1
- data/data/refe/function_source/nil/inspect +1 -1
- data/data/refe/function_source/nil/plus +1 -1
- data/data/refe/function_source/nil/to/a +1 -1
- data/data/refe/function_source/nil/to/f +1 -1
- data/data/refe/function_source/nil/to/i +1 -1
- data/data/refe/function_source/nil/to/s +1 -1
- data/data/refe/function_source/no/blockarg +1 -1
- data/data/refe/function_source/node/assign +1 -1
- data/data/refe/function_source/nodeline +1 -1
- data/data/refe/function_source/nodetype +1 -1
- data/data/refe/function_source/num/abs +1 -1
- data/data/refe/function_source/num/ceil +1 -1
- data/data/refe/function_source/num/cmp +1 -1
- data/data/refe/function_source/num/div +1 -1
- data/data/refe/function_source/num/divmod +1 -1
- data/data/refe/function_source/num/eql +1 -1
- data/data/refe/function_source/num/equal +1 -1
- data/data/refe/function_source/num/floor +1 -1
- data/data/refe/function_source/num/init/copy +1 -1
- data/data/refe/function_source/num/int/p +1 -1
- data/data/refe/function_source/num/modulo +1 -1
- data/data/refe/function_source/num/nonzero/p +1 -1
- data/data/refe/function_source/num/quo +1 -1
- data/data/refe/function_source/num/remainder +1 -1
- data/data/refe/function_source/num/round +1 -1
- data/data/refe/function_source/num/step +1 -1
- data/data/refe/function_source/num/to/int +1 -1
- data/data/refe/function_source/num/truncate +1 -1
- data/data/refe/function_source/num/uminus +1 -1
- data/data/refe/function_source/num/uplus +1 -1
- data/data/refe/function_source/num/zero/p +1 -1
- data/data/refe/function_source/numcmp +1 -1
- data/data/refe/function_source/numhash +1 -1
- data/data/refe/function_source/obj/free +0 -2
- data/data/refe/function_source/obj/respond/to +17 -0
- data/data/refe/function_source/opt/i/get +1 -1
- data/data/refe/function_source/opt/i/set +1 -1
- data/data/refe/function_source/original/module +1 -1
- data/data/refe/function_source/os/each/obj +1 -1
- data/data/refe/function_source/os/live/obj +1 -1
- data/data/refe/function_source/os/obj/of +1 -1
- data/data/refe/function_source/p/gid/change/privilege +1 -1
- data/data/refe/function_source/p/gid/exchange +1 -1
- data/data/refe/function_source/p/gid/exchangeable +1 -1
- data/data/refe/function_source/p/gid/grant/privilege +1 -1
- data/data/refe/function_source/p/gid/have/saved/id +1 -1
- data/data/refe/function_source/p/gid/sw/ensure +1 -1
- data/data/refe/function_source/p/gid/switch +1 -1
- data/data/refe/function_source/p/sys/issetugid +1 -1
- data/data/refe/function_source/p/sys/setegid +1 -1
- data/data/refe/function_source/p/sys/seteuid +1 -1
- data/data/refe/function_source/p/sys/setgid +1 -1
- data/data/refe/function_source/p/sys/setregid +1 -1
- data/data/refe/function_source/p/sys/setresgid +1 -1
- data/data/refe/function_source/p/sys/setresuid +1 -1
- data/data/refe/function_source/p/sys/setreuid +1 -1
- data/data/refe/function_source/p/sys/setrgid +1 -1
- data/data/refe/function_source/p/sys/setruid +1 -1
- data/data/refe/function_source/p/sys/setuid +1 -1
- data/data/refe/function_source/p/uid/change/privilege +1 -1
- data/data/refe/function_source/p/uid/exchange +1 -1
- data/data/refe/function_source/p/uid/exchangeable +1 -1
- data/data/refe/function_source/p/uid/grant/privilege +1 -1
- data/data/refe/function_source/p/uid/have/saved/id +1 -1
- data/data/refe/function_source/p/uid/sw/ensure +1 -1
- data/data/refe/function_source/p/uid/switch +1 -1
- data/data/refe/function_source/parse/string +1 -1
- data/data/refe/function_source/parser/warn +1 -1
- data/data/refe/function_source/parser/warning +1 -1
- data/data/refe/function_source/path/check/0 +1 -1
- data/data/refe/function_source/pipe/add/fptr +1 -1
- data/data/refe/function_source/pipe/atexit +1 -1
- data/data/refe/function_source/pipe/del/fptr +1 -1
- data/data/refe/function_source/pipe/finalize +1 -1
- data/data/refe/function_source/pipe/open +1 -1
- data/data/refe/function_source/postmatch/getter +1 -1
- data/data/refe/function_source/prematch/getter +1 -1
- data/data/refe/function_source/prep/path +1 -1
- data/data/refe/function_source/prep/stdio +1 -1
- data/data/refe/function_source/proc/alloc +1 -1
- data/data/refe/function_source/proc/arity +1 -1
- data/data/refe/function_source/proc/binding +1 -1
- data/data/refe/function_source/proc/call +1 -1
- data/data/refe/function_source/proc/clone +1 -1
- data/data/refe/function_source/proc/dup +1 -1
- data/data/refe/function_source/proc/eq +1 -1
- data/data/refe/function_source/proc/get/safe/level +1 -1
- data/data/refe/function_source/proc/getegid +1 -1
- data/data/refe/function_source/proc/geteuid +1 -1
- data/data/refe/function_source/proc/getgid +1 -1
- data/data/refe/function_source/proc/getgroups +1 -1
- data/data/refe/function_source/proc/getmaxgroups +1 -1
- data/data/refe/function_source/proc/getpgid +1 -1
- data/data/refe/function_source/proc/getpgrp +1 -1
- data/data/refe/function_source/proc/getpriority +1 -1
- data/data/refe/function_source/proc/getuid +1 -1
- data/data/refe/function_source/proc/initgroups +1 -1
- data/data/refe/function_source/proc/invoke +1 -1
- data/data/refe/function_source/proc/jump/error +1 -1
- data/data/refe/function_source/proc/lambda +1 -1
- data/data/refe/function_source/proc/s/new +1 -1
- data/data/refe/function_source/proc/save/safe/level +1 -1
- data/data/refe/function_source/proc/set/safe/level +1 -1
- data/data/refe/function_source/proc/setegid +1 -1
- data/data/refe/function_source/proc/seteuid +1 -1
- data/data/refe/function_source/proc/setgid +1 -1
- data/data/refe/function_source/proc/setgroups +1 -1
- data/data/refe/function_source/proc/setmaxgroups +1 -1
- data/data/refe/function_source/proc/setpgid +1 -1
- data/data/refe/function_source/proc/setpgrp +1 -1
- data/data/refe/function_source/proc/setpriority +1 -1
- data/data/refe/function_source/proc/setsid +1 -1
- data/data/refe/function_source/proc/setuid +1 -1
- data/data/refe/function_source/proc/to/s +1 -1
- data/data/refe/function_source/proc/to/self +1 -1
- data/data/refe/function_source/pushback +1 -1
- data/data/refe/function_source/r/object0 +1 -1
- data/data/refe/function_source/range/op +1 -1
- data/data/refe/function_source/rb/-array +1 -1
- data/data/refe/function_source/rb/-float +1 -1
- data/data/refe/function_source/rb/-integer +1 -1
- data/data/refe/function_source/rb/-string +1 -1
- data/data/refe/function_source/rb/alias/variable +1 -1
- data/data/refe/function_source/rb/any/to/a +1 -1
- data/data/refe/function_source/rb/any/to/s +1 -1
- data/data/refe/function_source/rb/apply +1 -1
- data/data/refe/function_source/rb/ary/and +1 -1
- data/data/refe/function_source/rb/ary/aset +1 -1
- data/data/refe/function_source/rb/ary/assoc +1 -1
- data/data/refe/function_source/rb/ary/clear +1 -1
- data/data/refe/function_source/rb/ary/cmp +1 -1
- data/data/refe/function_source/rb/ary/collect/- +1 -1
- data/data/refe/function_source/rb/ary/collect/bang +1 -1
- data/data/refe/function_source/rb/ary/compact/- +1 -1
- data/data/refe/function_source/rb/ary/compact/bang +1 -1
- data/data/refe/function_source/rb/ary/concat +1 -1
- data/data/refe/function_source/rb/ary/delete/- +1 -1
- data/data/refe/function_source/rb/ary/delete/at/- +1 -1
- data/data/refe/function_source/rb/ary/delete/at/m +1 -1
- data/data/refe/function_source/rb/ary/delete/if +1 -1
- data/data/refe/function_source/rb/ary/diff +3 -2
- data/data/refe/function_source/rb/ary/dup +1 -1
- data/data/refe/function_source/rb/ary/each/- +1 -1
- data/data/refe/function_source/rb/ary/each/index +1 -1
- data/data/refe/function_source/rb/ary/empty/p +1 -1
- data/data/refe/function_source/rb/ary/eql +1 -1
- data/data/refe/function_source/rb/ary/equal +1 -1
- data/data/refe/function_source/rb/ary/fetch +1 -1
- data/data/refe/function_source/rb/ary/fill +2 -4
- data/data/refe/function_source/rb/ary/first +1 -1
- data/data/refe/function_source/rb/ary/flatten/- +1 -1
- data/data/refe/function_source/rb/ary/flatten/bang +1 -1
- data/data/refe/function_source/rb/ary/hash +1 -1
- data/data/refe/function_source/rb/ary/includes +1 -1
- data/data/refe/function_source/rb/ary/index +1 -1
- data/data/refe/function_source/rb/ary/indexes +1 -1
- data/data/refe/function_source/rb/ary/insert +3 -4
- data/data/refe/function_source/rb/ary/inspect +1 -1
- data/data/refe/function_source/rb/ary/join/- +1 -1
- data/data/refe/function_source/rb/ary/join/m +1 -1
- data/data/refe/function_source/rb/ary/last +1 -1
- data/data/refe/function_source/rb/ary/length +1 -1
- data/data/refe/function_source/rb/ary/nitems +1 -1
- data/data/refe/function_source/rb/ary/or +1 -1
- data/data/refe/function_source/rb/ary/plus +1 -1
- data/data/refe/function_source/rb/ary/rassoc +1 -1
- data/data/refe/function_source/rb/ary/reject/- +1 -1
- data/data/refe/function_source/rb/ary/reject/bang +1 -1
- data/data/refe/function_source/rb/ary/replace +1 -1
- data/data/refe/function_source/rb/ary/reverse/- +1 -1
- data/data/refe/function_source/rb/ary/reverse/bang +1 -1
- data/data/refe/function_source/rb/ary/reverse/each +1 -1
- data/data/refe/function_source/rb/ary/reverse/m +1 -1
- data/data/refe/function_source/rb/ary/rindex +1 -1
- data/data/refe/function_source/rb/ary/select +1 -1
- data/data/refe/function_source/rb/ary/slice/bang +1 -1
- data/data/refe/function_source/rb/ary/sort/- +1 -1
- data/data/refe/function_source/rb/ary/sort/bang +1 -1
- data/data/refe/function_source/rb/ary/splice +1 -1
- data/data/refe/function_source/rb/ary/times +1 -1
- data/data/refe/function_source/rb/ary/to/a +1 -1
- data/data/refe/function_source/rb/ary/to/ary/- +1 -1
- data/data/refe/function_source/rb/ary/to/ary/m +1 -1
- data/data/refe/function_source/rb/ary/to/s +1 -1
- data/data/refe/function_source/rb/ary/transpose +1 -1
- data/data/refe/function_source/rb/ary/uniq/- +1 -1
- data/data/refe/function_source/rb/ary/uniq/bang +1 -1
- data/data/refe/function_source/rb/ary/values/at +1 -1
- data/data/refe/function_source/rb/ary/zip +1 -1
- data/data/refe/function_source/rb/attr/get +1 -1
- data/data/refe/function_source/rb/autoload/- +1 -1
- data/data/refe/function_source/rb/autoload/load +4 -4
- data/data/refe/function_source/rb/autoload/p +1 -1
- data/data/refe/function_source/rb/backref/error +1 -1
- data/data/refe/function_source/rb/backref/get +1 -1
- data/data/refe/function_source/rb/backref/set +1 -1
- data/data/refe/function_source/rb/backtrace +1 -1
- data/data/refe/function_source/rb/big/abs +1 -1
- data/data/refe/function_source/rb/big/aref +1 -1
- data/data/refe/function_source/rb/big/coerce +1 -1
- data/data/refe/function_source/rb/big/hash +1 -1
- data/data/refe/function_source/rb/big/rand +1 -1
- data/data/refe/function_source/rb/big/rshift +2 -1
- data/data/refe/function_source/rb/big/size +1 -1
- data/data/refe/function_source/rb/block/given/p +1 -1
- data/data/refe/function_source/rb/block/proc +1 -1
- data/data/refe/function_source/rb/call/- +4 -4
- data/data/refe/function_source/rb/call/super +5 -2
- data/data/refe/function_source/rb/call0 +1 -1
- data/data/refe/function_source/rb/callcc +1 -1
- data/data/refe/function_source/rb/catch +1 -1
- data/data/refe/function_source/rb/check/convert/type +1 -1
- data/data/refe/function_source/rb/check/inheritable +1 -1
- data/data/refe/function_source/rb/class/allocate/instance +1 -1
- data/data/refe/function_source/rb/class/inherited/- +1 -1
- data/data/refe/function_source/rb/class/inherited/p +1 -1
- data/data/refe/function_source/rb/class/init/copy +1 -1
- data/data/refe/function_source/rb/class/initialize +1 -1
- data/data/refe/function_source/rb/class/instance/methods +1 -1
- data/data/refe/function_source/rb/class/new/instance +1 -1
- data/data/refe/function_source/rb/class/private/instance/methods +1 -1
- data/data/refe/function_source/rb/class/protected/instance/methods +1 -1
- data/data/refe/function_source/rb/class/public/instance/methods +1 -1
- data/data/refe/function_source/rb/class/s/alloc +1 -1
- data/data/refe/function_source/rb/class/superclass +1 -1
- data/data/refe/function_source/rb/compile/cstr +1 -1
- data/data/refe/function_source/rb/compile/file +1 -1
- data/data/refe/function_source/rb/compile/string +1 -1
- data/data/refe/function_source/rb/const/defined/- +1 -1
- data/data/refe/function_source/rb/const/defined/0 +1 -1
- data/data/refe/function_source/rb/const/defined/at +1 -1
- data/data/refe/function_source/rb/const/defined/from +1 -1
- data/data/refe/function_source/rb/const/get/- +1 -1
- data/data/refe/function_source/rb/const/get/0 +2 -2
- data/data/refe/function_source/rb/const/get/at +1 -1
- data/data/refe/function_source/rb/const/get/from +1 -1
- data/data/refe/function_source/rb/const/list +1 -1
- data/data/refe/function_source/rb/const/set +1 -1
- data/data/refe/function_source/rb/cont/call +1 -1
- data/data/refe/function_source/rb/convert/type +1 -1
- data/data/refe/function_source/rb/copy/generic/ivar +1 -1
- data/data/refe/function_source/rb/cstr/to/dbl +1 -1
- data/data/refe/function_source/rb/cv/get +1 -1
- data/data/refe/function_source/rb/cv/set +1 -1
- data/data/refe/function_source/rb/cvar/defined +1 -1
- data/data/refe/function_source/rb/cvar/get +1 -1
- data/data/refe/function_source/rb/cvar/set +1 -1
- data/data/refe/function_source/rb/dbl/cmp +1 -1
- data/data/refe/function_source/rb/define/alias +1 -1
- data/data/refe/function_source/rb/define/attr +1 -1
- data/data/refe/function_source/rb/define/class/- +1 -1
- data/data/refe/function_source/rb/define/class/id +1 -1
- data/data/refe/function_source/rb/define/class/under +1 -1
- data/data/refe/function_source/rb/define/class/variable +1 -1
- data/data/refe/function_source/rb/define/const +1 -1
- data/data/refe/function_source/rb/define/global/const +1 -1
- data/data/refe/function_source/rb/define/global/function +1 -1
- data/data/refe/function_source/rb/define/hooked/variable +1 -1
- data/data/refe/function_source/rb/define/method/- +1 -1
- data/data/refe/function_source/rb/define/method/id +1 -1
- data/data/refe/function_source/rb/define/module/- +1 -1
- data/data/refe/function_source/rb/define/module/function +1 -1
- data/data/refe/function_source/rb/define/module/id +1 -1
- data/data/refe/function_source/rb/define/module/under +1 -1
- data/data/refe/function_source/rb/define/private/method +1 -1
- data/data/refe/function_source/rb/define/protected/method +1 -1
- data/data/refe/function_source/rb/define/readonly/variable +1 -1
- data/data/refe/function_source/rb/define/singleton/method +1 -1
- data/data/refe/function_source/rb/define/variable +1 -1
- data/data/refe/function_source/rb/define/virtual/variable +1 -1
- data/data/refe/function_source/rb/ensure +1 -1
- data/data/refe/function_source/rb/eof/error +1 -1
- data/data/refe/function_source/rb/eval/- +1 -1
- data/data/refe/function_source/rb/exc/fatal +1 -1
- data/data/refe/function_source/rb/exc/raise +1 -1
- data/data/refe/function_source/rb/exec/end/proc +1 -1
- data/data/refe/function_source/rb/exit +1 -1
- data/data/refe/function_source/rb/extend/object +1 -1
- data/data/refe/function_source/rb/f/-e-n-d +1 -1
- data/data/refe/function_source/rb/f/abort +1 -1
- data/data/refe/function_source/rb/f/array +1 -1
- data/data/refe/function_source/rb/f/at/exit +1 -1
- data/data/refe/function_source/rb/f/autoload/- +1 -1
- data/data/refe/function_source/rb/f/autoload/p +1 -1
- data/data/refe/function_source/rb/f/backquote +3 -2
- data/data/refe/function_source/rb/f/binding +1 -1
- data/data/refe/function_source/rb/f/block/given/p +1 -1
- data/data/refe/function_source/rb/f/caller +1 -1
- data/data/refe/function_source/rb/f/catch +1 -1
- data/data/refe/function_source/rb/f/eval +1 -1
- data/data/refe/function_source/rb/f/exit/- +1 -1
- data/data/refe/function_source/rb/f/exit/bang +1 -1
- data/data/refe/function_source/rb/f/float +1 -1
- data/data/refe/function_source/rb/f/fork +1 -1
- data/data/refe/function_source/rb/f/getc +1 -1
- data/data/refe/function_source/rb/f/gets +1 -1
- data/data/refe/function_source/rb/f/global/variables +1 -1
- data/data/refe/function_source/rb/f/integer +1 -1
- data/data/refe/function_source/rb/f/lambda +1 -1
- data/data/refe/function_source/rb/f/load +1 -1
- data/data/refe/function_source/rb/f/local/variables +1 -1
- data/data/refe/function_source/rb/f/loop +1 -1
- data/data/refe/function_source/rb/f/open +1 -1
- data/data/refe/function_source/rb/f/p +1 -1
- data/data/refe/function_source/rb/f/print +1 -1
- data/data/refe/function_source/rb/f/printf +1 -1
- data/data/refe/function_source/rb/f/putc +1 -1
- data/data/refe/function_source/rb/f/puts +1 -1
- data/data/refe/function_source/rb/f/raise +1 -1
- data/data/refe/function_source/rb/f/readline +1 -1
- data/data/refe/function_source/rb/f/readlines +1 -1
- data/data/refe/function_source/rb/f/require +1 -1
- data/data/refe/function_source/rb/f/select +1 -1
- data/data/refe/function_source/rb/f/send +1 -1
- data/data/refe/function_source/rb/f/sleep +1 -1
- data/data/refe/function_source/rb/f/sprintf +7 -2
- data/data/refe/function_source/rb/f/string +1 -1
- data/data/refe/function_source/rb/f/syscall +1 -1
- data/data/refe/function_source/rb/f/system +1 -1
- data/data/refe/function_source/rb/f/test +8 -8
- data/data/refe/function_source/rb/f/throw +1 -1
- data/data/refe/function_source/rb/f/trace/var +1 -1
- data/data/refe/function_source/rb/f/untrace/var +1 -1
- data/data/refe/function_source/rb/false +1 -1
- data/data/refe/function_source/rb/fdopen +1 -1
- data/data/refe/function_source/rb/feature/p +1 -1
- data/data/refe/function_source/rb/file/atime +1 -1
- data/data/refe/function_source/rb/file/chmod +1 -1
- data/data/refe/function_source/rb/file/chown +1 -1
- data/data/refe/function_source/rb/file/const +1 -1
- data/data/refe/function_source/rb/file/ctime +1 -1
- data/data/refe/function_source/rb/file/expand/path +1 -1
- data/data/refe/function_source/rb/file/flock +7 -7
- data/data/refe/function_source/rb/file/ftype +1 -1
- data/data/refe/function_source/rb/file/initialize +1 -1
- data/data/refe/function_source/rb/file/join +2 -2
- data/data/refe/function_source/rb/file/lstat +1 -1
- data/data/refe/function_source/rb/file/mtime +1 -1
- data/data/refe/function_source/rb/file/open/- +1 -1
- data/data/refe/function_source/rb/file/open/internal +1 -1
- data/data/refe/function_source/rb/file/path +1 -1
- data/data/refe/function_source/rb/file/s/atime +1 -1
- data/data/refe/function_source/rb/file/s/basename +22 -3
- data/data/refe/function_source/rb/file/s/chmod +1 -1
- data/data/refe/function_source/rb/file/s/chown +1 -1
- data/data/refe/function_source/rb/file/s/ctime +1 -1
- data/data/refe/function_source/rb/file/s/dirname +11 -4
- data/data/refe/function_source/rb/file/s/expand/path +1 -1
- data/data/refe/function_source/rb/file/s/extname +1 -1
- data/data/refe/function_source/rb/file/s/ftype +1 -1
- data/data/refe/function_source/rb/file/s/join +1 -1
- data/data/refe/function_source/rb/file/s/lchmod +1 -1
- data/data/refe/function_source/rb/file/s/lchown +1 -1
- data/data/refe/function_source/rb/file/s/link +6 -1
- data/data/refe/function_source/rb/file/s/lstat +1 -1
- data/data/refe/function_source/rb/file/s/mtime +1 -1
- data/data/refe/function_source/rb/file/s/readlink +6 -2
- data/data/refe/function_source/rb/file/s/rename +1 -1
- data/data/refe/function_source/rb/file/s/size +1 -1
- data/data/refe/function_source/rb/file/s/split +1 -1
- data/data/refe/function_source/rb/file/s/stat +1 -1
- data/data/refe/function_source/rb/file/s/symlink +1 -1
- data/data/refe/function_source/rb/file/s/truncate +1 -1
- data/data/refe/function_source/rb/file/s/umask +1 -1
- data/data/refe/function_source/rb/file/s/unlink +1 -1
- data/data/refe/function_source/rb/file/s/utime +1 -1
- data/data/refe/function_source/rb/file/sysopen/- +1 -1
- data/data/refe/function_source/rb/file/sysopen/internal +1 -1
- data/data/refe/function_source/rb/file/truncate +1 -1
- data/data/refe/function_source/rb/find/file/- +1 -1
- data/data/refe/function_source/rb/find/file/ext +1 -1
- data/data/refe/function_source/rb/fix/induced/from +1 -1
- data/data/refe/function_source/rb/fix2int +1 -1
- data/data/refe/function_source/rb/fix2str +1 -1
- data/data/refe/function_source/rb/fix2uint +1 -1
- data/data/refe/function_source/rb/flo/induced/from +1 -1
- data/data/refe/function_source/rb/float/new +1 -1
- data/data/refe/function_source/rb/fopen +1 -1
- data/data/refe/function_source/rb/frame/last/func +1 -1
- data/data/refe/function_source/rb/free/generic/ivar +1 -1
- data/data/refe/function_source/rb/funcall/- +1 -1
- data/data/refe/function_source/rb/funcall/rescue +1 -1
- data/data/refe/function_source/rb/funcall2 +1 -1
- data/data/refe/function_source/rb/funcall3 +1 -1
- data/data/refe/function_source/rb/gc/- +1 -1
- data/data/refe/function_source/rb/gc/call/finalizer/at/exit +1 -1
- data/data/refe/function_source/rb/gc/copy/finalizer +1 -1
- data/data/refe/function_source/rb/gc/finalize/deferred +1 -1
- data/data/refe/function_source/rb/gc/mark/frame +1 -1
- data/data/refe/function_source/rb/gc/mark/global/tbl +3 -1
- data/data/refe/function_source/rb/gc/mark/parser +7 -1
- data/data/refe/function_source/rb/gc/mark/threads +1 -1
- data/data/refe/function_source/rb/gc/start +1 -1
- data/data/refe/function_source/rb/generic/ivar/table +1 -1
- data/data/refe/function_source/rb/get/kcode +1 -1
- data/data/refe/function_source/rb/getc +1 -1
- data/data/refe/function_source/rb/gets +1 -1
- data/data/refe/function_source/rb/gv/get +1 -1
- data/data/refe/function_source/rb/gv/set +1 -1
- data/data/refe/function_source/rb/gvar/defined +1 -1
- data/data/refe/function_source/rb/gvar/get +1 -1
- data/data/refe/function_source/rb/gvar/set +1 -1
- data/data/refe/function_source/rb/id/attrset +1 -1
- data/data/refe/function_source/rb/id2name +1 -1
- data/data/refe/function_source/rb/include/module +1 -1
- data/data/refe/function_source/rb/inspect +1 -1
- data/data/refe/function_source/rb/inspecting/p +1 -1
- data/data/refe/function_source/rb/int/induced/from +1 -1
- data/data/refe/function_source/rb/intern +8 -6
- data/data/refe/function_source/rb/interrupt +1 -1
- data/data/refe/function_source/rb/io/addstr +1 -1
- data/data/refe/function_source/rb/io/binmode +1 -1
- data/data/refe/function_source/rb/io/check/closed +1 -1
- data/data/refe/function_source/rb/io/check/initialized +1 -1
- data/data/refe/function_source/rb/io/check/io +1 -1
- data/data/refe/function_source/rb/io/check/readable +1 -1
- data/data/refe/function_source/rb/io/check/writable +1 -1
- data/data/refe/function_source/rb/io/close/- +1 -1
- data/data/refe/function_source/rb/io/close/m +1 -1
- data/data/refe/function_source/rb/io/close/read +1 -1
- data/data/refe/function_source/rb/io/close/write +1 -1
- data/data/refe/function_source/rb/io/closed +1 -1
- data/data/refe/function_source/rb/io/ctl +1 -1
- data/data/refe/function_source/rb/io/each/byte +1 -1
- data/data/refe/function_source/rb/io/each/line +1 -1
- data/data/refe/function_source/rb/io/eof +1 -1
- data/data/refe/function_source/rb/io/fcntl +1 -1
- data/data/refe/function_source/rb/io/fileno +1 -1
- data/data/refe/function_source/rb/io/flags/mode +1 -1
- data/data/refe/function_source/rb/io/flush +1 -1
- data/data/refe/function_source/rb/io/fptr/cleanup +1 -1
- data/data/refe/function_source/rb/io/fptr/finalize +1 -1
- data/data/refe/function_source/rb/io/fread +1 -1
- data/data/refe/function_source/rb/io/fsync +1 -1
- data/data/refe/function_source/rb/io/fwrite +1 -1
- data/data/refe/function_source/rb/io/get/io +1 -1
- data/data/refe/function_source/rb/io/getc +1 -1
- data/data/refe/function_source/rb/io/getline/- +1 -1
- data/data/refe/function_source/rb/io/getline/fast +1 -1
- data/data/refe/function_source/rb/io/gets/- +1 -1
- data/data/refe/function_source/rb/io/gets/m +1 -1
- data/data/refe/function_source/rb/io/init/copy +1 -1
- data/data/refe/function_source/rb/io/initialize +1 -1
- data/data/refe/function_source/rb/io/inspect +1 -1
- data/data/refe/function_source/rb/io/ioctl +1 -1
- data/data/refe/function_source/rb/io/isatty +1 -1
- data/data/refe/function_source/rb/io/lineno +1 -1
- data/data/refe/function_source/rb/io/mode/flags +1 -1
- data/data/refe/function_source/rb/io/mode/modenum +1 -1
- data/data/refe/function_source/rb/io/mode/string +1 -1
- data/data/refe/function_source/rb/io/modenum/flags +1 -1
- data/data/refe/function_source/rb/io/modenum/mode +1 -1
- data/data/refe/function_source/rb/io/open +1 -1
- data/data/refe/function_source/rb/io/pid +1 -1
- data/data/refe/function_source/rb/io/print +1 -1
- data/data/refe/function_source/rb/io/printf +1 -1
- data/data/refe/function_source/rb/io/putc +1 -1
- data/data/refe/function_source/rb/io/puts +1 -1
- data/data/refe/function_source/rb/io/readchar +1 -1
- data/data/refe/function_source/rb/io/readline +1 -1
- data/data/refe/function_source/rb/io/readlines +1 -1
- data/data/refe/function_source/rb/io/reopen +1 -1
- data/data/refe/function_source/rb/io/rewind +1 -1
- data/data/refe/function_source/rb/io/s/for/fd +1 -1
- data/data/refe/function_source/rb/io/s/foreach +1 -1
- data/data/refe/function_source/rb/io/s/new +1 -1
- data/data/refe/function_source/rb/io/s/open +1 -1
- data/data/refe/function_source/rb/io/s/pipe +1 -1
- data/data/refe/function_source/rb/io/s/popen +1 -1
- data/data/refe/function_source/rb/io/s/read +1 -1
- data/data/refe/function_source/rb/io/s/readlines +1 -1
- data/data/refe/function_source/rb/io/s/sysopen +1 -1
- data/data/refe/function_source/rb/io/seek/- +1 -1
- data/data/refe/function_source/rb/io/seek/m +1 -1
- data/data/refe/function_source/rb/io/set/lineno +1 -1
- data/data/refe/function_source/rb/io/set/pos +1 -1
- data/data/refe/function_source/rb/io/set/sync +1 -1
- data/data/refe/function_source/rb/io/stat +1 -1
- data/data/refe/function_source/rb/io/sync +1 -1
- data/data/refe/function_source/rb/io/synchronized +1 -1
- data/data/refe/function_source/rb/io/sysread +1 -1
- data/data/refe/function_source/rb/io/sysseek +1 -1
- data/data/refe/function_source/rb/io/syswrite +1 -1
- data/data/refe/function_source/rb/io/taint/check +1 -1
- data/data/refe/function_source/rb/io/tell +1 -1
- data/data/refe/function_source/rb/io/to/io +1 -1
- data/data/refe/function_source/rb/io/unbuffered +1 -1
- data/data/refe/function_source/rb/io/ungetc +1 -1
- data/data/refe/function_source/rb/io/wait/readable +1 -1
- data/data/refe/function_source/rb/io/wait/writable +1 -1
- data/data/refe/function_source/rb/io/write +1 -1
- data/data/refe/function_source/rb/is/class/id +1 -1
- data/data/refe/function_source/rb/is/const/id +1 -1
- data/data/refe/function_source/rb/is/instance/id +1 -1
- data/data/refe/function_source/rb/is/junk/id +1 -1
- data/data/refe/function_source/rb/is/local/id +1 -1
- data/data/refe/function_source/rb/iter/break +1 -1
- data/data/refe/function_source/rb/iterate +1 -1
- data/data/refe/function_source/rb/iterator/p +1 -1
- data/data/refe/function_source/rb/iv/get +1 -1
- data/data/refe/function_source/rb/iv/set +1 -1
- data/data/refe/function_source/rb/ivar/defined +1 -1
- data/data/refe/function_source/rb/ivar/get +1 -1
- data/data/refe/function_source/rb/ivar/set +1 -1
- data/data/refe/function_source/rb/jump/tag +1 -1
- data/data/refe/function_source/rb/kcode +1 -1
- data/data/refe/function_source/rb/lastline/get +1 -1
- data/data/refe/function_source/rb/lastline/set +1 -1
- data/data/refe/function_source/rb/load/- +1 -1
- data/data/refe/function_source/rb/load/protect +1 -1
- data/data/refe/function_source/rb/longjmp +1 -1
- data/data/refe/function_source/rb/make/exception +1 -1
- data/data/refe/function_source/rb/make/metaclass +1 -1
- data/data/refe/function_source/rb/mark/end/proc +1 -1
- data/data/refe/function_source/rb/mark/generic/ivar/- +1 -1
- data/data/refe/function_source/rb/mark/generic/ivar/tbl +1 -1
- data/data/refe/function_source/rb/match/busy +1 -1
- data/data/refe/function_source/rb/memsearch +1 -1
- data/data/refe/function_source/rb/method/missing +1 -1
- data/data/refe/function_source/rb/mod/ancestors +1 -1
- data/data/refe/function_source/rb/mod/append/features +1 -1
- data/data/refe/function_source/rb/mod/attr/- +1 -1
- data/data/refe/function_source/rb/mod/attr/accessor +1 -1
- data/data/refe/function_source/rb/mod/attr/reader +1 -1
- data/data/refe/function_source/rb/mod/attr/writer +1 -1
- data/data/refe/function_source/rb/mod/autoload/- +1 -1
- data/data/refe/function_source/rb/mod/autoload/p +1 -1
- data/data/refe/function_source/rb/mod/class/variables +1 -1
- data/data/refe/function_source/rb/mod/cmp +1 -1
- data/data/refe/function_source/rb/mod/const/at +1 -1
- data/data/refe/function_source/rb/mod/const/defined +1 -1
- data/data/refe/function_source/rb/mod/const/get +1 -1
- data/data/refe/function_source/rb/mod/const/missing +1 -1
- data/data/refe/function_source/rb/mod/const/of +1 -1
- data/data/refe/function_source/rb/mod/const/set +1 -1
- data/data/refe/function_source/rb/mod/constants +1 -1
- data/data/refe/function_source/rb/mod/cvar/get +1 -1
- data/data/refe/function_source/rb/mod/cvar/set +1 -1
- data/data/refe/function_source/rb/mod/define/method +2 -1
- data/data/refe/function_source/rb/mod/eqq +1 -1
- data/data/refe/function_source/rb/mod/extend/object +1 -1
- data/data/refe/function_source/rb/mod/freeze +1 -1
- data/data/refe/function_source/rb/mod/ge +1 -1
- data/data/refe/function_source/rb/mod/gt +1 -1
- data/data/refe/function_source/rb/mod/include/- +1 -1
- data/data/refe/function_source/rb/mod/include/p +1 -1
- data/data/refe/function_source/rb/mod/included/modules +1 -1
- data/data/refe/function_source/rb/mod/init/copy +1 -1
- data/data/refe/function_source/rb/mod/initialize +1 -1
- data/data/refe/function_source/rb/mod/lt +1 -1
- data/data/refe/function_source/rb/mod/method/- +1 -1
- data/data/refe/function_source/rb/mod/method/defined +1 -1
- data/data/refe/function_source/rb/mod/modfunc +1 -1
- data/data/refe/function_source/rb/mod/module/eval +1 -1
- data/data/refe/function_source/rb/mod/private/- +1 -1
- data/data/refe/function_source/rb/mod/private/method/- +1 -1
- data/data/refe/function_source/rb/mod/private/method/defined +1 -1
- data/data/refe/function_source/rb/mod/protected/- +1 -1
- data/data/refe/function_source/rb/mod/protected/method/defined +1 -1
- data/data/refe/function_source/rb/mod/public/- +1 -1
- data/data/refe/function_source/rb/mod/public/method/- +1 -1
- data/data/refe/function_source/rb/mod/public/method/defined +1 -1
- data/data/refe/function_source/rb/mod/remove/const +1 -1
- data/data/refe/function_source/rb/mod/remove/cvar +1 -1
- data/data/refe/function_source/rb/module/new +1 -1
- data/data/refe/function_source/rb/module/s/alloc +1 -1
- data/data/refe/function_source/rb/need/block +1 -1
- data/data/refe/function_source/rb/node/newnode +1 -1
- data/data/refe/function_source/rb/num2dbl +1 -1
- data/data/refe/function_source/rb/num2fix +1 -1
- data/data/refe/function_source/rb/num2int +1 -1
- data/data/refe/function_source/rb/num2ll +1 -1
- data/data/refe/function_source/rb/num2long +1 -1
- data/data/refe/function_source/rb/num2uint +1 -1
- data/data/refe/function_source/rb/num2ull +1 -1
- data/data/refe/function_source/rb/num2ulong +1 -1
- data/data/refe/function_source/rb/obj/alloc +1 -1
- data/data/refe/function_source/rb/obj/call/init +1 -1
- data/data/refe/function_source/rb/obj/display +1 -1
- data/data/refe/function_source/rb/obj/dummy +1 -1
- data/data/refe/function_source/rb/obj/extend +1 -1
- data/data/refe/function_source/rb/obj/freeze +1 -1
- data/data/refe/function_source/rb/obj/frozen/p +1 -1
- data/data/refe/function_source/rb/obj/infect +1 -1
- data/data/refe/function_source/rb/obj/init/copy +1 -1
- data/data/refe/function_source/rb/obj/inspect +1 -1
- data/data/refe/function_source/rb/obj/instance/eval +1 -1
- data/data/refe/function_source/rb/obj/instance/variables +1 -1
- data/data/refe/function_source/rb/obj/is/instance/of +1 -1
- data/data/refe/function_source/rb/obj/is/kind/of +1 -1
- data/data/refe/function_source/rb/obj/is/method +1 -1
- data/data/refe/function_source/rb/obj/ivar/get +1 -1
- data/data/refe/function_source/rb/obj/ivar/set +1 -1
- data/data/refe/function_source/rb/obj/method +1 -1
- data/data/refe/function_source/rb/obj/methods +1 -1
- data/data/refe/function_source/rb/obj/pattern/match +1 -1
- data/data/refe/function_source/rb/obj/private/methods +1 -1
- data/data/refe/function_source/rb/obj/protected/methods +1 -1
- data/data/refe/function_source/rb/obj/public/methods +1 -1
- data/data/refe/function_source/rb/obj/remove/instance/variable +1 -1
- data/data/refe/function_source/rb/obj/respond/to +15 -12
- data/data/refe/function_source/rb/obj/singleton/methods +1 -1
- data/data/refe/function_source/rb/obj/taint +1 -1
- data/data/refe/function_source/rb/obj/tainted +1 -1
- data/data/refe/function_source/rb/obj/untaint +1 -1
- data/data/refe/function_source/rb/open/file +1 -1
- data/data/refe/function_source/rb/p +1 -1
- data/data/refe/function_source/rb/parser/append/print +1 -1
- data/data/refe/function_source/rb/parser/calloc +11 -0
- data/data/refe/function_source/rb/parser/free +17 -0
- data/data/refe/function_source/rb/parser/malloc +11 -0
- data/data/refe/function_source/rb/parser/realloc +22 -0
- data/data/refe/function_source/rb/parser/while/loop +1 -1
- data/data/refe/function_source/rb/path/check +1 -1
- data/data/refe/function_source/rb/path/end +1 -1
- data/data/refe/function_source/rb/path/last/separator +1 -1
- data/data/refe/function_source/rb/path/next +1 -1
- data/data/refe/function_source/rb/path/skip/prefix +4 -2
- data/data/refe/function_source/rb/proc/new +1 -1
- data/data/refe/function_source/rb/proc/times +1 -1
- data/data/refe/function_source/rb/protect/- +1 -1
- data/data/refe/function_source/rb/protect/inspect +1 -1
- data/data/refe/function_source/rb/provide/- +1 -1
- data/data/refe/function_source/rb/provide/feature +1 -1
- data/data/refe/function_source/rb/provided +1 -1
- data/data/refe/function_source/rb/raise/jump +1 -1
- data/data/refe/function_source/rb/read/check +1 -1
- data/data/refe/function_source/rb/read/pending +1 -1
- data/data/refe/function_source/rb/reg/adjust/startpos +1 -1
- data/data/refe/function_source/rb/reg/cur/kcode +1 -1
- data/data/refe/function_source/rb/reg/eqq +1 -1
- data/data/refe/function_source/rb/reg/equal +1 -1
- data/data/refe/function_source/rb/reg/get/kcode +1 -1
- data/data/refe/function_source/rb/reg/hash +1 -1
- data/data/refe/function_source/rb/reg/init/copy +1 -1
- data/data/refe/function_source/rb/reg/initialize/- +1 -1
- data/data/refe/function_source/rb/reg/initialize/m +1 -1
- data/data/refe/function_source/rb/reg/last/match +1 -1
- data/data/refe/function_source/rb/reg/match/- +1 -1
- data/data/refe/function_source/rb/reg/match/last +1 -1
- data/data/refe/function_source/rb/reg/match/m +1 -1
- data/data/refe/function_source/rb/reg/match/post +1 -1
- data/data/refe/function_source/rb/reg/match/pre +1 -1
- data/data/refe/function_source/rb/reg/match2 +1 -1
- data/data/refe/function_source/rb/reg/new +1 -1
- data/data/refe/function_source/rb/reg/nth/defined +1 -1
- data/data/refe/function_source/rb/reg/nth/match +1 -1
- data/data/refe/function_source/rb/reg/options/- +1 -1
- data/data/refe/function_source/rb/reg/prepare/re +1 -1
- data/data/refe/function_source/rb/reg/quote +1 -1
- data/data/refe/function_source/rb/reg/regcomp +2 -1
- data/data/refe/function_source/rb/reg/regsub +1 -1
- data/data/refe/function_source/rb/reg/s/alloc +1 -1
- data/data/refe/function_source/rb/reg/s/last/match +1 -1
- data/data/refe/function_source/rb/reg/s/quote +1 -1
- data/data/refe/function_source/rb/reg/s/union +1 -1
- data/data/refe/function_source/rb/reg/search +1 -1
- data/data/refe/function_source/rb/require/- +1 -1
- data/data/refe/function_source/rb/require/safe +2 -3
- data/data/refe/function_source/rb/rescue +1 -1
- data/data/refe/function_source/rb/rescue2 +1 -1
- data/data/refe/function_source/rb/respond/to +2 -10
- data/data/refe/function_source/rb/scan/args +1 -1
- data/data/refe/function_source/rb/set/end/proc +1 -1
- data/data/refe/function_source/rb/set/kcode +1 -1
- data/data/refe/function_source/rb/set/safe/level +1 -1
- data/data/refe/function_source/rb/setegid/core +1 -1
- data/data/refe/function_source/rb/seteuid/core +1 -1
- data/data/refe/function_source/rb/singleton/class/- +1 -1
- data/data/refe/function_source/rb/singleton/class/attached +1 -1
- data/data/refe/function_source/rb/singleton/class/clone +1 -1
- data/data/refe/function_source/rb/stat/- +1 -1
- data/data/refe/function_source/rb/stat/-r +1 -1
- data/data/refe/function_source/rb/stat/-s +1 -1
- data/data/refe/function_source/rb/stat/-w +1 -1
- data/data/refe/function_source/rb/stat/-x +1 -1
- data/data/refe/function_source/rb/stat/atime +1 -1
- data/data/refe/function_source/rb/stat/b +1 -1
- data/data/refe/function_source/rb/stat/blksize +1 -1
- data/data/refe/function_source/rb/stat/blocks +1 -1
- data/data/refe/function_source/rb/stat/c +1 -1
- data/data/refe/function_source/rb/stat/cmp +1 -1
- data/data/refe/function_source/rb/stat/ctime +1 -1
- data/data/refe/function_source/rb/stat/d +1 -1
- data/data/refe/function_source/rb/stat/dev/- +1 -1
- data/data/refe/function_source/rb/stat/dev/major +1 -1
- data/data/refe/function_source/rb/stat/dev/minor +1 -1
- data/data/refe/function_source/rb/stat/f +1 -1
- data/data/refe/function_source/rb/stat/ftype +1 -1
- data/data/refe/function_source/rb/stat/gid +1 -1
- data/data/refe/function_source/rb/stat/grpowned +1 -1
- data/data/refe/function_source/rb/stat/init/- +1 -1
- data/data/refe/function_source/rb/stat/init/copy +1 -1
- data/data/refe/function_source/rb/stat/ino +1 -1
- data/data/refe/function_source/rb/stat/inspect +17 -17
- data/data/refe/function_source/rb/stat/l +1 -1
- data/data/refe/function_source/rb/stat/mode +1 -1
- data/data/refe/function_source/rb/stat/mtime +1 -1
- data/data/refe/function_source/rb/stat/nlink +1 -1
- data/data/refe/function_source/rb/stat/owned +1 -1
- data/data/refe/function_source/rb/stat/p +1 -1
- data/data/refe/function_source/rb/stat/r +1 -1
- data/data/refe/function_source/rb/stat/rdev/- +1 -1
- data/data/refe/function_source/rb/stat/rdev/major +1 -1
- data/data/refe/function_source/rb/stat/rdev/minor +1 -1
- data/data/refe/function_source/rb/stat/rowned +1 -1
- data/data/refe/function_source/rb/stat/s/- +1 -1
- data/data/refe/function_source/rb/stat/s/alloc +1 -1
- data/data/refe/function_source/rb/stat/sgid +1 -1
- data/data/refe/function_source/rb/stat/size +1 -1
- data/data/refe/function_source/rb/stat/sticky +1 -1
- data/data/refe/function_source/rb/stat/suid +1 -1
- data/data/refe/function_source/rb/stat/uid +1 -1
- data/data/refe/function_source/rb/stat/w +1 -1
- data/data/refe/function_source/rb/stat/x +1 -1
- data/data/refe/function_source/rb/stat/z +1 -1
- data/data/refe/function_source/rb/str/to/dbl +1 -1
- data/data/refe/function_source/rb/str2cstr +1 -1
- data/data/refe/function_source/rb/strftime +5 -6
- data/data/refe/function_source/rb/sym/all/symbols +1 -1
- data/data/refe/function_source/rb/symname/p +74 -0
- data/data/refe/function_source/rb/sysopen +1 -1
- data/data/refe/function_source/rb/syswait +1 -1
- data/data/refe/function_source/rb/thread/abort/exc/- +1 -1
- data/data/refe/function_source/rb/thread/abort/exc/set +1 -1
- data/data/refe/function_source/rb/thread/alive/p +1 -1
- data/data/refe/function_source/rb/thread/alloc +1 -1
- data/data/refe/function_source/rb/thread/alone +1 -1
- data/data/refe/function_source/rb/thread/aref +1 -1
- data/data/refe/function_source/rb/thread/aset +1 -1
- data/data/refe/function_source/rb/thread/atfork +1 -1
- data/data/refe/function_source/rb/thread/check +1 -1
- data/data/refe/function_source/rb/thread/cleanup +1 -1
- data/data/refe/function_source/rb/thread/create +1 -1
- data/data/refe/function_source/rb/thread/critical/get +1 -1
- data/data/refe/function_source/rb/thread/critical/set +1 -1
- data/data/refe/function_source/rb/thread/current +1 -1
- data/data/refe/function_source/rb/thread/dead +1 -1
- data/data/refe/function_source/rb/thread/deadlock +1 -1
- data/data/refe/function_source/rb/thread/die +1 -1
- data/data/refe/function_source/rb/thread/exit +1 -1
- data/data/refe/function_source/rb/thread/fd/close +1 -1
- data/data/refe/function_source/rb/thread/fd/writable +1 -1
- data/data/refe/function_source/rb/thread/flock +7 -7
- data/data/refe/function_source/rb/thread/group +1 -1
- data/data/refe/function_source/rb/thread/initialize +1 -1
- data/data/refe/function_source/rb/thread/inspect +1 -1
- data/data/refe/function_source/rb/thread/interrupt +1 -1
- data/data/refe/function_source/rb/thread/join/- +1 -1
- data/data/refe/function_source/rb/thread/join/m +1 -1
- data/data/refe/function_source/rb/thread/key/p +1 -1
- data/data/refe/function_source/rb/thread/keys +1 -1
- data/data/refe/function_source/rb/thread/kill +1 -1
- data/data/refe/function_source/rb/thread/list +1 -1
- data/data/refe/function_source/rb/thread/local/aref +1 -1
- data/data/refe/function_source/rb/thread/local/aset +1 -1
- data/data/refe/function_source/rb/thread/main/- +1 -1
- data/data/refe/function_source/rb/thread/main/jump +1 -1
- data/data/refe/function_source/rb/thread/pass +1 -1
- data/data/refe/function_source/rb/thread/polling +1 -1
- data/data/refe/function_source/rb/thread/priority/- +1 -1
- data/data/refe/function_source/rb/thread/priority/set +1 -1
- data/data/refe/function_source/rb/thread/raise/- +1 -1
- data/data/refe/function_source/rb/thread/raise/m +1 -1
- data/data/refe/function_source/rb/thread/ready +1 -1
- data/data/refe/function_source/rb/thread/remove +1 -1
- data/data/refe/function_source/rb/thread/restore/context +1 -1
- data/data/refe/function_source/rb/thread/run +1 -1
- data/data/refe/function_source/rb/thread/s/abort/exc/- +1 -1
- data/data/refe/function_source/rb/thread/s/abort/exc/set +1 -1
- data/data/refe/function_source/rb/thread/s/kill +1 -1
- data/data/refe/function_source/rb/thread/s/new +1 -1
- data/data/refe/function_source/rb/thread/safe/level +1 -1
- data/data/refe/function_source/rb/thread/save/context +1 -1
- data/data/refe/function_source/rb/thread/schedule +1 -1
- data/data/refe/function_source/rb/thread/select +1 -1
- data/data/refe/function_source/rb/thread/signal/exit +1 -1
- data/data/refe/function_source/rb/thread/signal/raise +1 -1
- data/data/refe/function_source/rb/thread/sleep/- +1 -1
- data/data/refe/function_source/rb/thread/sleep/forever +1 -1
- data/data/refe/function_source/rb/thread/start/- +1 -1
- data/data/refe/function_source/rb/thread/start/0 +1 -1
- data/data/refe/function_source/rb/thread/start/timer +1 -1
- data/data/refe/function_source/rb/thread/status +1 -1
- data/data/refe/function_source/rb/thread/stop/- +1 -1
- data/data/refe/function_source/rb/thread/stop/p +1 -1
- data/data/refe/function_source/rb/thread/stop/timer +1 -1
- data/data/refe/function_source/rb/thread/switch +1 -1
- data/data/refe/function_source/rb/thread/trap/eval +1 -1
- data/data/refe/function_source/rb/thread/value +1 -1
- data/data/refe/function_source/rb/thread/wait/fd +1 -1
- data/data/refe/function_source/rb/thread/wait/for +1 -1
- data/data/refe/function_source/rb/thread/wait/other/threads +1 -1
- data/data/refe/function_source/rb/thread/wakeup +1 -1
- data/data/refe/function_source/rb/thread/yield +1 -1
- data/data/refe/function_source/rb/throw +1 -1
- data/data/refe/function_source/rb/to/id +1 -1
- data/data/refe/function_source/rb/to/int +1 -1
- data/data/refe/function_source/rb/to/integer +1 -1
- data/data/refe/function_source/rb/trace/eval +1 -1
- data/data/refe/function_source/rb/trap/eval +1 -1
- data/data/refe/function_source/rb/true +1 -1
- data/data/refe/function_source/rb/undef/method +1 -1
- data/data/refe/function_source/rb/values/at +1 -1
- data/data/refe/function_source/rb/with/disable/interrupt +1 -1
- data/data/refe/function_source/rb/write/error +1 -1
- data/data/refe/function_source/rb/write/error2 +1 -1
- data/data/refe/function_source/rb/yield/- +1 -1
- data/data/refe/function_source/rb/yield/0 +1 -1
- data/data/refe/function_source/rb/yield/splat +1 -1
- data/data/refe/function_source/rb/yield/values +1 -1
- data/data/refe/function_source/re/adjust/startpos +1 -1
- data/data/refe/function_source/re/compile/fastmap +1 -1
- data/data/refe/function_source/re/compile/pattern +1 -0
- data/data/refe/function_source/re/copy/registers +1 -1
- data/data/refe/function_source/re/free/pattern +1 -1
- data/data/refe/function_source/re/free/registers +1 -1
- data/data/refe/function_source/re/match/- +1 -1
- data/data/refe/function_source/re/match/exec +1 -1
- data/data/refe/function_source/re/mbcinit +1 -1
- data/data/refe/function_source/re/search +1 -1
- data/data/refe/function_source/read/all +1 -1
- data/data/refe/function_source/read/buffered/data +5 -3
- data/data/refe/function_source/read/escape +1 -1
- data/data/refe/function_source/regx/options +1 -1
- data/data/refe/function_source/rehash +1 -1
- data/data/refe/function_source/remain/size +1 -1
- data/data/refe/function_source/remove/begin +1 -1
- data/data/refe/function_source/remove/trace +1 -1
- data/data/refe/function_source/ret/args +1 -1
- data/data/refe/function_source/return/jump +1 -1
- data/data/refe/function_source/rm/final +1 -1
- data/data/refe/function_source/rmext +1 -1
- data/data/refe/function_source/rscheck +1 -1
- data/data/refe/function_source/ruby/dup +1 -1
- data/data/refe/function_source/ruby/parser/stack/on/heap +2 -2
- data/data/refe/function_source/ruby/prog/init +1 -1
- data/data/refe/function_source/ruby/set/stack/size +1 -1
- data/data/refe/function_source/run/final +1 -1
- data/data/refe/function_source/run/single/final +1 -1
- data/data/refe/function_source/run/trap/eval +1 -1
- data/data/refe/function_source/safe/getter +1 -1
- data/data/refe/function_source/safe/setter +1 -1
- data/data/refe/function_source/scan/once +1 -1
- data/data/refe/function_source/scope/dup +1 -1
- data/data/refe/function_source/search/required +1 -1
- data/data/refe/function_source/secure/visibility +1 -1
- data/data/refe/function_source/set/method/visibility +1 -1
- data/data/refe/function_source/set/trace/func +1 -0
- data/data/refe/function_source/sjis/startpos +1 -1
- data/data/refe/function_source/skiproot +1 -1
- data/data/refe/function_source/slow/match +1 -1
- data/data/refe/function_source/slow/search +1 -1
- data/data/refe/function_source/sort/1 +1 -1
- data/data/refe/function_source/sort/2 +1 -1
- data/data/refe/function_source/sort/internal +1 -1
- data/data/refe/function_source/sort/unlock +1 -1
- data/data/refe/function_source/special/local/set +1 -1
- data/data/refe/function_source/specific/eval +1 -1
- data/data/refe/function_source/splat/value +1 -1
- data/data/refe/function_source/st/add/direct +1 -1
- data/data/refe/function_source/st/cleanup/safe +1 -1
- data/data/refe/function_source/st/copy +1 -1
- data/data/refe/function_source/st/delete/- +1 -1
- data/data/refe/function_source/st/delete/safe +1 -1
- data/data/refe/function_source/st/foreach/- +1 -1
- data/data/refe/function_source/st/free/table +1 -1
- data/data/refe/function_source/st/init/numtable/- +1 -1
- data/data/refe/function_source/st/init/numtable/with/size +1 -1
- data/data/refe/function_source/st/init/strtable/- +1 -1
- data/data/refe/function_source/st/init/strtable/with/size +1 -1
- data/data/refe/function_source/st/init/table/- +1 -1
- data/data/refe/function_source/st/init/table/with/size +1 -1
- data/data/refe/function_source/st/insert +1 -1
- data/data/refe/function_source/st/lookup +1 -1
- data/data/refe/function_source/stack/check +1 -1
- data/data/refe/function_source/stack/extend +1 -1
- data/data/refe/function_source/stat/col +1 -1
- data/data/refe/function_source/stat/new/- +1 -1
- data/data/refe/function_source/stat/new/0 +1 -1
- data/data/refe/function_source/stdout/setter +1 -1
- data/data/refe/function_source/store/jump/- +1 -1
- data/data/refe/function_source/store/jump/n +1 -1
- data/data/refe/function_source/str/to/id +1 -1
- data/data/refe/function_source/strhash +1 -1
- data/data/refe/function_source/sv/i +1 -1
- data/data/refe/function_source/svalue/to/avalue +1 -1
- data/data/refe/function_source/svalue/to/mrhs +1 -1
- data/data/refe/function_source/swallow +1 -1
- data/data/refe/function_source/sym/inspect +2 -2
- data/data/refe/function_source/sym/to/i +1 -1
- data/data/refe/function_source/sym/to/int +1 -1
- data/data/refe/function_source/sym/to/s +1 -1
- data/data/refe/function_source/sym/to/sym +1 -1
- data/data/refe/function_source/symbols/i +1 -1
- data/data/refe/function_source/sys/fail2 +1 -1
- data/data/refe/function_source/terminate/process +1 -1
- data/data/refe/function_source/test/-r +1 -1
- data/data/refe/function_source/test/-s +1 -1
- data/data/refe/function_source/test/-w +1 -1
- data/data/refe/function_source/test/-x +1 -1
- data/data/refe/function_source/test/b +1 -1
- data/data/refe/function_source/test/c +1 -1
- data/data/refe/function_source/test/check +1 -1
- data/data/refe/function_source/test/d +1 -1
- data/data/refe/function_source/test/e +1 -1
- data/data/refe/function_source/test/f +1 -1
- data/data/refe/function_source/test/grpowned +1 -1
- data/data/refe/function_source/test/identical +48 -0
- data/data/refe/function_source/test/l +1 -1
- data/data/refe/function_source/test/owned +1 -1
- data/data/refe/function_source/test/p +1 -1
- data/data/refe/function_source/test/r +1 -1
- data/data/refe/function_source/test/rowned +1 -1
- data/data/refe/function_source/test/s +1 -1
- data/data/refe/function_source/test/sgid +1 -1
- data/data/refe/function_source/test/sticky +1 -1
- data/data/refe/function_source/test/suid +1 -1
- data/data/refe/function_source/test/w +1 -1
- data/data/refe/function_source/test/x +1 -1
- data/data/refe/function_source/test/z +1 -1
- data/data/refe/function_source/thgroup/add +1 -1
- data/data/refe/function_source/thgroup/enclose +2 -2
- data/data/refe/function_source/thgroup/enclosed/p +1 -1
- data/data/refe/function_source/thgroup/list +1 -1
- data/data/refe/function_source/thgroup/s/alloc +1 -1
- data/data/refe/function_source/thread/free +1 -1
- data/data/refe/function_source/thread/keys/i +1 -1
- data/data/refe/function_source/thread/mark +1 -1
- data/data/refe/function_source/thread/reset/raised +1 -1
- data/data/refe/function_source/thread/set/raised +1 -1
- data/data/refe/function_source/thread/status/name +1 -1
- data/data/refe/function_source/thread/timer +1 -1
- data/data/refe/function_source/time/add +1 -1
- data/data/refe/function_source/time/asctime +1 -1
- data/data/refe/function_source/time/dup +1 -1
- data/data/refe/function_source/time/get/tm +1 -1
- data/data/refe/function_source/time/getgmtime +1 -1
- data/data/refe/function_source/time/getlocaltime +1 -1
- data/data/refe/function_source/time/gmtime +1 -1
- data/data/refe/function_source/time/hour +1 -1
- data/data/refe/function_source/time/init/copy +1 -1
- data/data/refe/function_source/time/isdst +1 -1
- data/data/refe/function_source/time/localtime +1 -1
- data/data/refe/function_source/time/mday +1 -1
- data/data/refe/function_source/time/min +1 -1
- data/data/refe/function_source/time/minus +1 -1
- data/data/refe/function_source/time/mon +1 -1
- data/data/refe/function_source/time/overflow/p +1 -1
- data/data/refe/function_source/time/plus +1 -1
- data/data/refe/function_source/time/sec +1 -1
- data/data/refe/function_source/time/strftime +5 -5
- data/data/refe/function_source/time/succ +1 -1
- data/data/refe/function_source/time/to/a +1 -1
- data/data/refe/function_source/time/to/s +1 -1
- data/data/refe/function_source/time/utc/offset +1 -1
- data/data/refe/function_source/time/wday +1 -1
- data/data/refe/function_source/time/yday +1 -1
- data/data/refe/function_source/time/year +1 -1
- data/data/refe/function_source/time/zone +1 -1
- data/data/refe/function_source/timeofday +1 -1
- data/data/refe/function_source/tokadd/- +1 -1
- data/data/refe/function_source/tokadd/escape +1 -1
- data/data/refe/function_source/tokadd/string +1 -1
- data/data/refe/function_source/top/include +1 -1
- data/data/refe/function_source/top/local/init +1 -1
- data/data/refe/function_source/top/local/setup +2 -2
- data/data/refe/function_source/top/private +1 -1
- data/data/refe/function_source/top/public +1 -1
- data/data/refe/function_source/trace/en +1 -1
- data/data/refe/function_source/trace/ev +1 -1
- data/data/refe/function_source/true/and +1 -1
- data/data/refe/function_source/true/or +1 -1
- data/data/refe/function_source/true/to/s +1 -1
- data/data/refe/function_source/true/xor +1 -1
- data/data/refe/function_source/umethod/bind +14 -4
- data/data/refe/function_source/undefine/final +1 -1
- data/data/refe/function_source/uninitialized/constant +1 -1
- data/data/refe/function_source/unknown/node +10 -2
- data/data/refe/function_source/unlink/internal +4 -2
- data/data/refe/function_source/utf8/startpos +1 -1
- data/data/refe/function_source/utime/internal +4 -3
- data/data/refe/function_source/vafuncall +1 -1
- data/data/refe/function_source/value/expr0 +1 -1
- data/data/refe/function_source/vms/fileact +1 -1
- data/data/refe/function_source/vms/fisexh +1 -1
- data/data/refe/function_source/void/expr0 +1 -1
- data/data/refe/function_source/void/stmts +1 -1
- data/data/refe/function_source/w32/io/info +32 -0
- data/data/refe/function_source/warn/unless/e/option +1 -1
- data/data/refe/function_source/warning/unless/e/option +1 -1
- data/data/refe/function_source/whole/match/p +1 -1
- data/data/refe/function_source/win32/get/exception/list +1 -1
- data/data/refe/function_source/win32/set/exception/list +1 -1
- data/data/refe/function_source/wsplit/p +1 -1
- data/data/refe/function_source/yield/under/- +1 -1
- data/data/refe/function_source/yield/under/i +1 -1
- data/data/refe/function_source/yycompile +1 -1
- data/data/refe/function_source/yyerror +1 -1
- data/data/refe/function_source/yylex +17 -3
- data/data/refe/function_source/yyparse +2905 -0
- data/data/refe/function_source/yystpcpy +1 -1
- data/data/refe/function_source/yystrlen +1 -1
- data/data/refe/function_source_comp +12 -4
- data/data/refe/method_document/-cipher%2e/new +4 -2
- data/data/refe/method_document/-kernel%2e/-a-r-g-f +8 -0
- data/data/refe/method_document/-kernel%2e/-a-r-g-v +5 -0
- data/data/refe/method_document/-kernel%2e/-d-a-t-a +17 -0
- data/data/refe/method_document/-kernel%2e/-e-n-v +5 -0
- data/data/refe/method_document/-kernel%2e/-f-a-l-s-e +5 -0
- data/data/refe/method_document/-kernel%2e/-n-i-l +5 -0
- data/data/refe/method_document/-kernel%2e/-p-l-a-t-f-o-r-m +9 -0
- data/data/refe/method_document/-kernel%2e/-r-e-l-e-a-s-e_-d-a-t-e +9 -0
- data/data/refe/method_document/-kernel%2e/-r-u-b-y_-p-l-a-t-f-o-r-m +4 -0
- data/data/refe/method_document/-kernel%2e/-r-u-b-y_-r-e-l-e-a-s-e_-d-a-t-e +4 -0
- data/data/refe/method_document/-kernel%2e/-r-u-b-y_-v-e-r-s-i-o-n +18 -0
- data/data/refe/method_document/-kernel%2e/-s-c-r-i-p-t_-l-i-n-e-s__ +29 -0
- data/data/refe/method_document/-kernel%2e/-s-t-d-e-r-r +4 -0
- data/data/refe/method_document/-kernel%2e/-s-t-d-i-n +4 -0
- data/data/refe/method_document/-kernel%2e/-s-t-d-o-u-t +4 -0
- data/data/refe/method_document/-kernel%2e/-t-o-p-l-e-v-e-l_-b-i-n-d-i-n-g +4 -0
- data/data/refe/method_document/-kernel%2e/-t-r-u-e +6 -0
- data/data/refe/method_document/-kernel%2e/-v-e-r-s-i-o-n +9 -0
- data/data/refe/method_document/-module%23/constants +1 -1
- data/data/refe/method_document/-numeric%23/ceil +97 -3
- data/data/refe/method_document/-numeric%23/div +47 -3
- data/data/refe/method_document/-numeric%23/divmod +37 -10
- data/data/refe/method_document/-numeric%23/floor +97 -3
- data/data/refe/method_document/-numeric%23/modulo +62 -6
- data/data/refe/method_document/-numeric%23/quo +44 -3
- data/data/refe/method_document/-numeric%23/remainder +51 -4
- data/data/refe/method_document/-numeric%23/round +97 -3
- data/data/refe/method_document/-numeric%23/step +16 -2
- data/data/refe/method_document/-numeric%23/truncate +97 -3
- data/data/refe/method_document/-open-s-s-l%3a%3a-cipher%3a%3a-cipher%23/decrypt +2 -0
- data/data/refe/method_document/-open-s-s-l%3a%3a-cipher%3a%3a-cipher%23/encrypt +2 -0
- data/data/refe/method_document/-string%23/sub +1 -1
- data/data/refe/method_document/-string%23/sub%21 +1 -1
- data/data/refe/method_document/{-struct%23 → -struct%3a%3a-x-x-x%23}/%5b%5d +0 -0
- data/data/refe/method_document/{-struct%23 → -struct%3a%3a-x-x-x%23}/%5b%5d%3d +0 -0
- data/data/refe/method_document/{-struct%23 → -struct%3a%3a-x-x-x%23}/each +0 -0
- data/data/refe/method_document/{-struct%23 → -struct%3a%3a-x-x-x%23}/each_pair +0 -0
- data/data/refe/method_document/{-struct%23 → -struct%3a%3a-x-x-x%23}/length +0 -0
- data/data/refe/method_document/{-struct%23 → -struct%3a%3a-x-x-x%23}/members +0 -0
- data/data/refe/method_document/{-struct%23 → -struct%3a%3a-x-x-x%23}/size +0 -0
- data/data/refe/method_document/{-struct%23 → -struct%3a%3a-x-x-x%23}/to_a +0 -0
- data/data/refe/method_document/{-struct%23 → -struct%3a%3a-x-x-x%23}/values +0 -0
- data/data/refe/method_document/{-struct%23 → -struct%3a%3a-x-x-x%23}/values_at +0 -0
- data/data/refe/method_document/man%2e/constants +132 -0
- data/data/refe/method_document/man%2e/functions +1210 -0
- data/data/refe/method_document/man%2e/hostname +14 -0
- data/data/refe/method_document/man%2e/servname +6 -0
- data/data/refe/method_document/man%2e/sockaddr +22 -0
- data/data/refe/method_document/man%2e/variables +533 -0
- data/data/refe/method_document_comp +35 -10
- data/data/refe/mf_relation/-file%2e/identical%3f +1 -0
- data/data/refe/mf_relation/-file-test%2e/identical%3f +1 -0
- data/data/refe/mf_relation/-object%23/respond_to%3f +1 -1
- data/data/refe/mf_relation_comp +2 -0
- data/lib/refe/info.rb +1 -1
- data/lib/refe/rubyrefmparser.rb +39 -7
- metadata +10453 -10410
- data/data/refe/function_source/yy/reduce/print +0 -18
- data/data/refe/function_source/yy/stack/print +0 -15
- data/data/refe/function_source/yydestruct +0 -25
- data/data/refe/function_source/yysymprint +0 -31
@@ -1,8 +1,16 @@
|
|
1
|
-
eval.c:
|
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
|
-
|
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
|
}
|
@@ -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,10 +1,11 @@
|
|
1
|
-
parse.c:
|
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
|
-
|
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
|
+
}
|