Граф коммитов

553 Коммитов

Автор SHA1 Сообщение Дата
nobu 3f025d2078 * parse.y (reg_compile_gen): obtain error info from errinfo.
* re.c (rb_reg_error_desc): make RegexpError for initialization error.

* re.c (rb_reg_compile): return nil and set errinfo if error.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13092 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-18 05:05:36 +00:00
ko1 fc5885aa7a * parse.y: remove "//" type comment.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-15 05:22:44 +00:00
ko1 fe898043cc * parse.y: fix rules around f_margs. "make test" passes all tests.
* bootstraptest/test_block.rb: add some tests for above.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12937 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-15 04:52:56 +00:00
nobu d3a1980b96 * parse.y (internal_id_gen): internal ID must be bigger than
tLAST_TOKEN.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-09 19:47:11 +00:00
nobu ae709e831f * parse.y (stmt): check if rhs has value before assignment instead
inside node_assign_gen().  [ruby-dev:31293]

* parse.y (call_bin_op_gen, call_uni_op_gen): split call_op_gen.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12911 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-09 07:04:56 +00:00
nobu fda5eeae72 * parse.y (f_marg_list): renamed from f_marg_head.
* parse.y (f_margs): allow multiple mandatory arguments after a splat.
  [ruby-dev:31153]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12909 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-09 05:01:37 +00:00
ko1 1951ef76ce * parse.y (value_expr_gen): fix to cause "void value expression"
when jump expression such as "next" are shown on value_expr().
  [ruby-dev:31119]
* bootstraptest/test_syntax.rb: fix to above change.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12880 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-06 07:46:57 +00:00
ko1 1a30041536 * parse.y: fix a f_marg rule. [ruby-dev:31160]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12879 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-06 07:38:18 +00:00
nobu d9274e7d6b * parse.y (reg_compile_gen): set error if failed to compile regexp
literal.  [ruby-dev:31336]

* re.c (rb_reg_compile): should not use regexp which could not get
  initialized.  [ruby-dev:31333]
  return error message to let the parser know it.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12862 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-02 14:36:25 +00:00
matz 46eb6e9428 * parse.y (value_expr_gen): warn for empty expression ().
[ruby-dev:31252]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12840 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-23 09:13:44 +00:00
nobu bf27f224f0 * parse.y (stmt, mlhs_node, lhs, arg, var_ref): return dummy
NODE_BEGIN after errors.  [ruby-dev:31100], [ruby-dev:31118]

* parse.y (remove_begin): make empty NODE_BEGIN to NODE_NIL, instead
  of null.  [ruby-dev:31252], [ruby-dev:31263]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12819 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-20 01:39:30 +00:00
nobu 233221db60 * parse.y (rb_parser_append_print, rb_parser_while_loop): moved check
for node to the head.

* ruby.c (proc_options): do nothing for -p/-n options if tree is null.
  submitted by Yusuke ENDOH <mame AT tsg.ne.jp> at [ruby-dev:31243].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12812 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-18 00:19:10 +00:00
matz 608545ced0 * parse.y (bvar): semicolon was lost for ripper description.
[ruby-dev:31140]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12753 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-13 02:31:56 +00:00
nobu e6dc7d3d6f * parse.y (ripper_warningS): unused in ripper right now.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12752 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-13 02:25:29 +00:00
nobu 4a0ea31319 * parse.y (debug_lines): use rb_hash_lookup() to get rid of
call of Hash#default.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12751 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-13 02:17:58 +00:00
nobu b1d5c752fb * parse.y (dsym): convert also literals containing NUL to
symbol.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-13 02:16:27 +00:00
nobu 6dcf9f16cc * parse.y (program, stmt, primary): reduced duplicated code.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12749 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-13 02:09:40 +00:00
ko1 0ec2b20d2f * parse.y: fix node construction (around f_margs).
[ruby-dev:31143]
* bootstraptest/test_block.rb: add a test for above.
* insnhelper.ci: fix indent.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-07 07:16:05 +00:00
nobu e8fc29990f * parse.y (keyword_to_name): constified.
* ext/ripper/eventids2.c (token_to_eventid): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12712 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-06 05:57:14 +00:00
nobu c512a69a2d * parse.y (f_marg): wrap f_norm_arg assignment node with NODE_LIST.
[ruby-dev:31141]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-06 05:35:28 +00:00
akr a74dbca686 * parse.y (mlhs_basic): use mlhs_post after tSTAR.
[ruby-dev:31109]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12702 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-05 09:45:27 +00:00
nobu 46603a78af * include/ruby/{intern,ruby}.h, compile.[ch], error.c, eval.c,
eval_load.c, gc.c, iseq.c, main.c, parse.y, re.c, ruby.c,
  yarvcore.[ch] (ruby_eval_tree, ruby_sourcefile, ruby_sourceline,
  ruby_nerrs): purge global variables.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12700 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-05 08:12:18 +00:00
nobu a670571ad3 * parse.y (parser_parse_string): fix indent.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12696 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-05 02:02:30 +00:00
nobu 6bbcf6f43d * parse.y (global_symbols.last_id): reduce unused ID numbers.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12694 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-05 01:13:10 +00:00
nobu ba563e4a41 * include/ruby/st.h, st.c (st_init_table, st_init_table_with_size):
constified.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12693 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-05 01:06:49 +00:00
akr c1596a80af * parse.y (mlhs_inner): new rule. [ruby-dev:31132]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12691 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-04 09:32:45 +00:00
nobu fd3f9eee0e * parse.y (parser_yylex): return non-valid token for an invalid
instance/class variable name.  a patch from from Yusuke ENDOH
  <mame AT tsg.ne.jp>.  [ruby-dev:31095]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12670 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-29 15:17:02 +00:00
nobu 9c69eff7b3 * parse.y (stmts): fix for ripper.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12669 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-29 14:38:10 +00:00
ko1 0d7e74a6be * parse.y: fix to show line number of blank block.
[ruby-dev:31093]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12668 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-29 13:00:27 +00:00
matz 71f8ca8bc4 * parse.y (assoc_list): remove expanded hash literal (no splat).
* lib/webrick/httpstatus.rb (WEBrick::HTTPStatus::EOFError): adapt
  to new syntax.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12658 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-29 06:27:49 +00:00
nobu cf46a2fce6 * parse.y (dsym): return non-null NODE even if yyerror(). based on a
patch from from Yusuke ENDOH <mame AT tsg.ne.jp>.  [ruby-dev:31085]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12653 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-29 02:23:13 +00:00
matz baaa30ec03 * parse.y (assoc_list): odd number check only for NODE_ARRAY.
[ruby-dev:31082]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12652 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-28 14:33:45 +00:00
usa 8e11ff411a * parse.y (rb_intern2): unconstify cast.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12641 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-27 17:05:03 +00:00
akr d9987aa704 * parse.y (rb_intern2): don't allocate a string object at first.
[ruby-dev:31064]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12640 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-27 16:45:56 +00:00
ko1 fd78c2193e * include/ruby/node.h, parse.y, gc.c, iseq.c: remove NODE_CREF.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12638 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-27 16:23:49 +00:00
ko1 ed4e57690c * insnhelper.ci, vm.c: complete block parameter support.
post arguments, optional arguments, block argument.
* compile.c, parse.y: fix {|a|} parameter.
* insnshelper.ci, insns.def: revert caller_setup_args() option
  (need_block_check) parameter.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12615 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-25 16:05:17 +00:00
ko1 f58eb1e276 * eval.c: remove ruby_current_node and change eval() prototype.
fix to use rb_sourcefile/line() instead of ruby_sourcefile/line.
* error.c, eval_error.ci, eval_load.c, eval_safe.ci, gc.c,
  include/ruby/intern.h, parse.y, process.c, ruby.c: ditto.
* vm.c: fix spaces.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12608 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-24 20:33:04 +00:00
ko1 97ba019c94 * vm.c: some refactoring.
* rename th_* to vm_*.
  * remove unused variables functions.
  * add prototypes.
* blockinlining.c, compile.c, cont.c, eval.c, eval_intern.h,
  eval_jump.h, eval_load.c, inits.c, insns.def, iseq.c, parse.y,
  proc.c, process.c, signal.c, thread.c, vm.c, vm_dump.c,
  vm_evalbody.ci, yarvcore.c, yarvcore.h: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12603 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-24 15:42:41 +00:00
matz 967cca2f8d * parse.y (rb_intern2): ID_JUNK test based on len, not by NUL.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12581 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-21 14:16:00 +00:00
nobu 3fc180ebeb * parse.y (rb_intern2): name may not be NUL-terminated.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12579 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-21 08:12:14 +00:00
nobu 9a7a11564c * parse.y (rb_intern2): use rb_intern2 to intern without trailing
equal sign.

* parse.y (rb_intern2, ripper_id2sym): fixed indent.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12575 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-19 19:43:59 +00:00
nobu 942a54302d * parse.y (yycompile): disable trace while creating ruby_debug_lines.
[ruby-talk:253586]

* thread.c (ruby_suppress_tracing): new function to call a function
  with suppressing trace.

* lib/debug.rb, lib/tracer.rb: for YARV.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12569 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-18 07:55:45 +00:00
ko1 7567fbf080 * vm.c (th_yield_setup_args): |v| should work as |v,|.
ex) def m;yield 1, 2; end; m{|v| p v} #=> 1
* parse.y: apply above change for "for" statement.
* test/ruby/test_assignment.rb: ditto
* test/ruby/test_basicinstructions.rb: ditto.
* test/ruby/test_iterator.rb: ditto.
* test/ruby/test_yield.rb: ditto.
* compile.c (iseq_compile_each): fix debug.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12544 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-15 03:27:33 +00:00
matz 89c2418467 * parse.y (call_args): no allow splat after assocs. takes
consistency over compatibility.

* parse.y (call_args2): ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12532 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-13 13:25:39 +00:00
nobu 30dbd2a6ba * parse.y (do_block, brace_block): fix line numbers. [ruby-dev:30831]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12512 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-10 07:58:09 +00:00
nobu 2b592580bf * include/ruby: moved public headers.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12501 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-10 03:06:15 +00:00
matz 4d43632852 * parse.y (call_args): allow splat argument after unpacked
assocs like 1.8 does.

* parse.y (call_args): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-08 05:58:06 +00:00
ko1 78029f00d5 * parse.y (new_yield), compile.c (iseq_compile_each): fix
passing parameter.
* eval.c, eval_jump.h: simplify rb_yield*.
* proc.c (proc_mark): fix to mark proc->block.proc.
* proc.c (Init_Proc): add Proc#lambda?
* test/ruby/test_lambda.rb: add some tests.
* vm.c (invoke_block): fix to check lambda block or not.
* vm.c (th_yield_setup_args): fix to check arguments size
  when lambda block.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-05 17:26:00 +00:00
nobu 194a01a484 * compile.c: fixed indentation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12434 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-05 04:49:54 +00:00
nobu 99d65b14b4 * compile.c, dir.c, eval.c, eval_jump.h, eval_method.h, numeric.c,
pack.c, parse.y, re.c, thread.c, vm.c, vm_dump.c, call_cfunc.ci,
  thread_pthread.ci, thread_win32.ci: fixed indentation.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12431 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-05 04:25:10 +00:00