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

180 Коммитов

Автор SHA1 Сообщение Дата
nobu b907ee320d * parse.y (parser_here_document): dispatch delayed heredoc
contents.  based on a patch from Andy Keep in [ruby-core:24855].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25402 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-20 05:50:53 +00:00
nobu 72ad8595f2 * parse.y (bv_decls, bvar): fix for block variables.
[ruby-dev:39423]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25209 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-03 13:14:19 +00:00
nobu 7b26a97142 * test/ripper/test_scanner_events.rb: workaround for ruby-mode.el confusion.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25208 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-03 12:57:54 +00:00
nobu 2957020491 * test/ripper/dummyparser.rb: suppress redefinition warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25207 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-03 12:25:32 +00:00
nobu 1457dca5d8 * test/ripper/dummyparser.rb (DummyParser): improvement by Magnus
Holm in [ruby-core:25884].
  * remove scanner events which simply returned the first argument.
  * all parser events are now automatically generated.
  * simplify blocks.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25193 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-02 15:47:54 +00:00
nobu aec8a4b0a4 * parse.y (ripper_yylval_id, ripper_get_{id,value}): wrap ID by
NODE to track local variable assignment.

* parse.y (lvar_defined_gen, assignable_gen): enable local
  variable check.  [ruby-core:24923]

* parse.y (validate): use value only.

* test/ripper/test_parser_events.rb (test_local_variables): tests
  based on a patch from Magnus Holm in [ruby-core:25885].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25187 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-02 11:37:44 +00:00
nobu 114f01bd9d * parse.y (yylex): should dispatch scan-event even when follows
just after delayed-token.  [ruby-dev:37855] [Bug #1071]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24557 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-16 14:58:27 +00:00
akr 2f262b2351 reduce tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23859 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-26 12:41:25 +00:00
kazu 06ac718546 * test/ripper/test_filter.rb: add tests. see [ruby-dev:37856]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23618 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-02 04:29:31 +00:00
nobu 287a34ae0d * {ext,lib,test}/**/*.rb: removed trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-06 03:56:38 +00:00
matz 7a978073c9 * parse.y (parser_yylex): should clear parser->tokp as well.
[ruby-dev:32250]

* parse.y: remove NEED_ASSOC that break test_parser_events.

* parse.y (parser_yylex): should not decrement line numbers at the
  end of file.

* file.c (rb_find_file_ext): search .rb files first through in the
  loadpath.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13966 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-19 07:10:09 +00:00
ko1 0fe72040e4 * parse.y, node.h, compile.c: change node tree structure. a purpose
of this change is to unify argument structure of method and block.
  this change prohibits duplicate block parameter name.
  new argument infromation:
  NODE_ARGS     [m: int, o: NODE_OPT_ARG, ->]
  NODE_ARGS_AUX [r: ID, b: ID, ->]
  NODE_ARGS_AUX [Pst: id, Plen: int, init: NODE*]
  optarg information:
  NODE_OPT_ARGS [idx, expr, ->]
* vm_macro.def: ditto.
* gc.c: ditto.
* iseq.c: ditto.
* compile.h: fix debug function name.
* test/ripper/test_scanner_events.rb: |_,_,foo| -> |_1,_2,foo|
* test/ruby/test_lambda.rb: disalbe test temporarily.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11840 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-24 02:07:05 +00:00
ko1 a3e1b1ce7e * Merge YARV
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-12-31 15:02:22 +00:00
akr 32f499f9d5 add message for an assertion.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10380 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-06-24 15:38:21 +00:00
aamine a6149d7f31 sync scanner event name.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9278 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-22 21:22:23 +00:00
aamine 9c1469ee80 remove unexpected debug print
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9277 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-22 21:13:40 +00:00
aamine a697b1f602 * ext/ripper: refactoring code generation tools. [ruby-dev:27247] [ruby-dev:27273]
* ext/ripper/depend: use generate.rb.
* ext/ripper/lib/ripper/core.rb: removed.
* ext/ripper/tools/generate-eventids1.rb: removed (code moved to generate.rb).
* ext/ripper/tools/generate-ripper_rb.rb: removed (code moved to generate.rb).
* ext/ripper/tools/list-parse-event-ids.rb: removed (code moved to generate.rb).
* ext/ripper/tools/list-scan-event-ids.rb: removed (code moved to generate.rb).
* ext/ripper/lib/ripper/core.rb: removed.
* ext/ripper: refactoring tests. [ruby-dev:27273]
* ext/ripper/test/check-event-arity.rb: removed (code moved to tools/generate.rb).
* ext/ripper/test/check-event-coverage.rb: removed (code moved to test/ripper/test_parser_events.rb).
* ext/ripper/test/check-scanner-event-coverage.rb: removed (code moved to test/ripper/test_scanner_events.rb).
* ext/ripper/test/list-called-events.rb: removed.
* ext/ripper/test/src_rb: removed.
* ext/ripper/test/validate.rb: removed.
* test/ripper/test_scanner_events.rb: check event coverage.
* ext/ripper/lib/ripper/core.rb.in: update copyright year.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9273 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-22 20:58:10 +00:00
akr d5a2954d5e fix.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9087 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-06 06:18:41 +00:00
akr 535b2911cf add a test to parse files by ripper.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9086 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-06 06:17:56 +00:00
matz 8d5e6a0fc6 * array.c (rb_ary_nitems): add the block feature to Array#nitems.
suggested by Bertram Scharpf <lists@bertram-scharpf.de> in
  [ruby-talk:134083].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8593 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-06-08 03:30:56 +00:00
aamine 828c5ec400 * test/ripper/test_scanner_events.rb: fix test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-02-04 17:25:09 +00:00
matz 3e9e2bd4ed * eval.c (rb_eval): NODE_XSTR should pass copy of literal string.
* array.c (rb_ary_update): a[n,m]=nil no longer works as element
  deletion.

* enum.c (enum_sort_by): protect continuation jump in.
  [ruby-dev:24642]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7145 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-30 06:56:18 +00:00
aamine 1344cfba26 * test/ripper/test_scanner_events.rb: test location information.
* test/ripper/test_scanner_events.rb: test \n between comments.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7026 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-09 18:20:46 +00:00
aamine 0c9d76889a * ext/ripper/Makefile.dev: removed.
* ext/ripper/ripper.rb.in: moved to lib/ripper/core.rb.in.
* ext/ripper/lib/ripper/core.rb: new file.
* ext/ripper/lib/ripper/core.rb.in: new file.
* ext/ripper/tools/generate-ripper_rb.rb: change comment.
* test/ripper/*.rb: on_scan removed.
* test/ripper/*.rb: event name changed: on__ -> on_.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6956 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-23 10:49:11 +00:00
aamine 2c750e368d * test/ripper/test_scanner_events.rb: tokens must be reordered.
* ext/ripper/lib/ripper/tokenizer.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6937 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-20 08:42:00 +00:00
aamine b1e943f465 * test/ripper/test_scanner_events.rb: test #lineno and #column.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-20 06:14:09 +00:00
aamine 144339d4bc * parse.y [ripper]: adjust lineno and columns for multi-line strings.
* parse.y [ripper]: delay heredocument events until seeing end-of-line.
* parse.y [ripper]: event on__heredoc_contentn -> on__tstring_content.
* ext/ripper/eventids2.c: ditto.
* ext/ripper/lib/ripper.rb: sync with eventids2.c.
* test/ripper/test_scanner_events.rb: test it.
* ext/ripper/tools/generate-ripper_rb.rb: show basename of input.
* ext/ripper/Makefile.dev: support objdir build.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6931 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-20 05:40:23 +00:00
aamine f2d01d1478 * parse.y [ripper]: unify old_lex_p and token_head.
* test/ripper/test_scanner_events.rb: now \r\n is saved correctly.
* parse.y: new macro lex_goto_eol() for next change.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6929 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-20 03:03:12 +00:00
aamine f43e22190c * test/ripper/test_scanner_events.rb: test spaces before heredoc mark.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-19 19:13:19 +00:00
aamine c971589817 * ext/ripper: ripper extention added.
* ext/ripper/MANIFEST: new file.
* ext/ripper/README: new file.
* ext/ripper/depend: new file.
* ext/ripper/extconf.rb: new file.
* ext/ripper/eventids2.c: new file.
* ext/ripper/ripper.rb.in: new file.
* ext/ripper/lib/ripper.rb: new file.
* ext/ripper/test/check-event-arity.rb: new file.
* ext/ripper/test/check-event-coverage.sh: new file.
* ext/ripper/test/check-scanner-event-coverage.rb: new file.
* ext/ripper/test/list-called-events.rb: new file.
* ext/ripper/test/src_rb: new file.
* ext/ripper/test/validate.rb: new file.
* ext/ripper/tools/generate-eventids1.rb: new file.
* ext/ripper/tools/generate-param-macros.rb: new file.
* ext/ripper/tools/generate-ripper_rb.rb: new file.
* ext/ripper/tools/list-parse-event-ids.rb: new file.
* ext/ripper/tools/list-scan-event-ids.rb: new file.
* ext/ripper/tools/preproc.rb: new file.
* ext/ripper/tools/strip.rb: new file.
* test/ripper: ripper tests added.
* test/ripper/dummyparser.rb: new file.
* test/ripper/test_parser_events.rb: new file.
* test/ripper/test_scanner_events.rb: new file.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6891 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-12 17:34:30 +00:00