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

256 Коммитов

Автор SHA1 Сообщение Дата
nobu 1b132cb254 eventids2.c: reduce size
* ext/ripper/eventids2.c (token_to_eventid): reduce relocations
  and element size.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48156 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-27 06:50:49 +00:00
nobu 92c61ca747 ripper/tools/generate.rb: shorten generated source
* ext/ripper/tools/generate.rb (generate_eventids1): shorten
  generated source.

* ext/ripper/tools/generate.rb (generate_eventids2): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48155 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-27 06:38:09 +00:00
nobu d1ec43ae7a parse.y: Ripper.sexp returns error
* ext/ripper/lib/ripper/sexp.rb (Ripper.sexp, Ripper.sexp_raw):
  return nil on error.  [ruby-dev:48678] [Bug #10405]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48144 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-26 03:24:18 +00:00
nobu b0c03f63e5 parse.y: quoted ID key
* parse.y (assoc): allow quoted ID as a key of a hash literal.
  [ruby-core:34453] [Feature #4276]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47649 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-20 01:48:43 +00:00
zzak 9699d0ddf4 * ext/ripper/lib/ripper/lexer.rb: [DOC] use lower case version of core
classes when referring to return value, since we aren't directly
  talking about the class. Patch by Jonathan Jackson [Bug #9483]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44878 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-07 12:57:44 +00:00
nobu 90b9996523 parse.y: remove "f" suffix [ruby-core:57966] [Feature #9042]
revert r42847 "test_string.rb: add test string encoding"

revert r42846 "parse.y: freeze in advance to reduce objects"

revert r42843 "parse.y: deduplicate frozen string literals"

revert r42780 "test_string.rb: yet another test"

revert r42779 "parse.y: valid suffix word only"

revert r42778 "test_string.rb: remove duplicated code"

revert r42775 "parse.y: force_encoding"

This reverts commit 93ea04ecec.

revert r42773 "Add frozen string literals"

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43634 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-10 06:13:02 +00:00
charliesome a056098cb7 * NEWS: Add note about frozen string literals
* compile.c (case_when_optimizable_literal): optimize NODE_LIT strings
  in when clauses of case statements

* ext/ripper/eventids2.c: add tSTRING_SUFFIX

* parse.y: add 'f' suffix on string literals for frozen strings

* test/ripper/test_scanner_events.rb: add scanner tests

* test/ruby/test_string.rb: add frozen string tests

[Feature #8579] [ruby-core:55699]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42773 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-02 07:11:41 +00:00
nobu 856a9afb98 eventids2.c: new literals
* ext/ripper/eventids2.c (ripper_init_eventids2): ripper support for
  new literals, tRATIONAL and tIMAGINARY.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42330 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-02 14:13:20 +00:00
naruse 34f5700a09 * lib/mkmf.rb (MakeMakefile#create_makefile): remove {$(VPATH)} other
than nmke.

* ext/ripper/depend: use VPATH expecting removed by above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40283 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-13 18:00:25 +00:00
usa b77d1a4f34 * lib/mkmf.rb (MakeMakefile#create_makefile): output new macro
disthdrdir to specify the path of id.h, parse.h and etc.

* ext/ripper/depend: use above macro.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40278 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-13 12:14:37 +00:00
naruse f9ba0dcaa4 fix building ripper: parse.h and id.h doesn't need directory
r40275 breaks Unix build.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40277 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-13 11:44:05 +00:00
usa 0869d460ba * ext/ripper/depend: parse.h and id.h may be created on topdir.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40275 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-13 09:57:02 +00:00
nobu 4123b0d9db ripper/depend: fix out-of-place build
* ext/ripper/depend (ripper.o): fix out-of-place build.  probes.h
  depends on the platform, so it cannot be in $(top_srcdir).

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40272 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-13 02:33:58 +00:00
akr b47138580c * lib/mkmf.rb: Add ruby/ruby.h, ruby/missing.h, ruby/intern.h,
ruby/st.h and ruby/subst.h for ruby_headers in generated Makefile.

* ext/-test-/old_thread_select/depend: Update dependencies.

* ext/-test-/wait_for_single_fd/depend: Ditto.

* ext/bigdecimal/depend: Ditto.

* ext/curses/depend: Ditto.

* ext/digest/bubblebabble/depend: Ditto.

* ext/digest/depend: Ditto.

* ext/digest/md5/depend: Ditto.

* ext/digest/rmd160/depend: Ditto.

* ext/digest/sha1/depend: Ditto.

* ext/digest/sha2/depend: Ditto.

* ext/dl/callback/depend: Ditto.

* ext/dl/depend: Ditto.

* ext/etc/depend: Ditto.

* ext/nkf/depend: Ditto.

* ext/objspace/depend: Ditto.

* ext/pty/depend: Ditto.

* ext/readline/depend: Ditto.

* ext/ripper/depend: Ditto.

* ext/sdbm/depend: Ditto.

* ext/socket/depend: Ditto.

* ext/stringio/depend: Ditto.

* ext/strscan/depend: Ditto.

* ext/syslog/depend: Ditto.

* ext/-test-/num2int/depend: Removed.

* ext/dbm/depend: Ditto.

* ext/fcntl/depend: Ditto.

* ext/gdbm/depend: Ditto.

* ext/racc/cparse/depend: Ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40268 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-13 00:46:29 +00:00
nobu c669931941 vpath.rb: hack for msys make
* tool/vpath.rb (VPath#def_options): hack for msys make, which
  converts a command line argument to non-msys command seems like a
  path list automagically.  [Bug #7710] [ruby-core:51489]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-20 13:24:31 +00:00
marcandre 537030e19b Improve rdoc for Ripper, based on a patch by Oscar Del Ben [github:219]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38273 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-08 07:06:24 +00:00
zzak e4ac8fa282 * ext/ripper/lib/ripper.rb:
Match sample output to Ripper.sexp from current trunk version.
  [Bug #6929]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37008 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-21 22:15:21 +00:00
zzak cca61dafe8 * ext/ripper/lib/ripper.rb: Documentation for Ripper.
+:void_stmt+ is meaningless
  [Bug #6929] [ruby-core:47507]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36992 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-19 22:17:16 +00:00
zzak 8f0d172f58 * ext/ripper/lib/ripper.rb: Documentation for Ripper.
* ext/ripper/lib/ripper/lexer.rb: ditto.
* ext/ripper/lib/ripper/sexp.rb: ditto.
* ext/ripper/lib/ripper/filter.rb: ditto.
* ext/ripper/lib/ripper/core.rb: ditto.
  [Bug #6929] [ruby-core:47309]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36954 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-12 23:04:41 +00:00
nobu 470c941ce5 id.h: independent from parse.h
* template/id.h.tmpl, tool/id2token.rb: make id.h independent from
  parse.h, and make parse.c dependent on it instead.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36864 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-31 05:31:20 +00:00
yugui e782fb8eea * common.mk (vm_backtrace.o): Added missing dependencies.
* ext/nkf/depend (nkf.o): ditto.

* ext/ripper/depend (ripper.o) ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36767 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-22 01:11:30 +00:00
tenderlove 91bd6e711d * parse.y: added symbols and qsymbols productions for %i and %I
support. %i{ .. } returns a list of symbols without interpolation,
  %I{ .. } returns a list of symbols with interpolation.  Thanks to
  Josh Susser for inspiration of this feature. [Feature #4985]

* ext/ripper/eventids2.c: added ripper events for %i and %I.

* test/ripper/test_parser_events.rb: ripper tests

* test/ripper/test_scanner_events.rb: ditto

* test/ruby/test_array.rb: test for %i and %I behavior

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36524 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-24 18:10:35 +00:00
kosaki 933b5ced23 * ext/ripper/extconf.rb: Use an exception instead of bare
Logging.message.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35687 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-18 07:01:54 +00:00
nobu 3380974143 * parse.y (assoc, parser_yylex): add syntax to splat keyword hash.
[ruby-core:44591][Feature #6353]
* compile.c (compile_array_): generate keyword splat insns.
* vm.c (m_core_hash_merge_kwd): merge keyword hash into intermediate
  hash.  leftward argument is prior currently.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35489 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-28 21:12:05 +00:00
drbrain da39d32f60 * encoding.c (rb_enc_codepoint_len): Use UNREACHABLE to avoid "control
reaches end of non-void function" warnings.  [ruby-trunk - Bug #6066]
* re.c (name_to_backref_number):  ditto.
* object.c (rb_Float):  ditto.
* io.c (io_readpartial):  ditto.
* io.c (io_read_nonblock):  ditto.
* pack.c (rb_uv_to_utf8):  ditto.
* proc.c (rb_method_entry_arity):  ditto.
* vm_method.c (rb_f_notimplement):  ditto.
* struct.c (rb_struct_aset_id):  ditto.
* class.c (rb_scan_args):  ditto.
* process.c (rlimit_resource_type):  ditto.
* process.c (rlimit_resource_value):  ditto.
* process.c (p_uid_switch):  ditto.
* process.c (p_gid_switch):  ditto.
* ext/digest/digest.c (rb_digest_instance_update):  ditto.
* ext/digest/digest.c (rb_digest_instance_finish):  ditto.
* ext/digest/digest.c (rb_digest_instance_reset):  ditto.
* ext/digest/digest.c (rb_digest_instance_block_length):  ditto.
* ext/bigdecimal/bigdecimal.c (BigDecimalCmp):  ditto.
* ext/dl/handle.c (rb_dlhandle_close):  ditto.
* ext/tk/tcltklib.c (pending_exception_check0):  ditto.
* ext/tk/tcltklib.c (pending_exception_check1):  ditto.
* ext/tk/tcltklib.c (ip_cancel_eval_core):  ditto.
* ext/tk/tcltklib.c (lib_get_reltype_name):  ditto.
* ext/tk/tcltklib.c (create_dummy_encoding_for_tk_core):  ditto.
* ext/tk/tkutil/tkutil.c (tk_hash_kv):  ditto.
* ext/openssl/ossl_ssl.c (ossl_ssl_session_reused):  ditto.
* ext/openssl/ossl_pkey_ec.c (ossl_ec_key_dsa_verify_asn1):  ditto.
* ext/openssl/ossl_pkey_ec.c (ossl_ec_point_is_at_infinit):  ditto.
* ext/openssl/ossl_pkey_ec.c (ossl_ec_point_is_on_curve):  ditto.
* ext/fiddle/conversions.c (generic_to_value):  ditto.
* ext/socket/raddrinfo.c (rsock_io_socket_addrinfo):  ditto.
* ext/socket/socket.c (sock_s_getnameinfo):  ditto.
* ext/ripper/eventids2.c (ripper_token2eventid):  ditto.
* cont.c (return_fiber):  ditto.
* dmydln.c (dln_load):  ditto.
* vm_insnhelper.c (vm_search_normal_superclass):  ditto.
* bignum.c (big_fdiv):  ditto.
* marshal.c (r_symlink):  ditto.
* marshal.c (r_symbol):  ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35321 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-13 23:45:37 +00:00
ayumin cee4c0bfb1 * ext/ripper/lib/ripper/sexp.rb: fix spelling.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35287 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-10 18:06:26 +00:00
nobu 41c199130a * parse.y (string_content, parser_yylex): count brace nesting to
dispatch embexpr_end.  [ruby-core:43775][Bug #6211]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35269 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-09 06:16:07 +00:00
naruse 57657a0b9b suppress warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34802 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-25 07:08:47 +00:00
nobu 560a6c6ffa * ext/ripper/eventids2.c (ripper_init_eventids2): separate
initializations of IDs and objects.
* ext/ripper/tools/generate.rb (generate_eventids1): ditto.
* parse.y (Init_ripper, InitVM_ripper): fix inversed roles.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33474 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-10-18 14:05:51 +00:00
nobu 0d6d23b25d * ext: remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31689 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-22 09:26:02 +00:00
naruse 7c885222ca * ext/ripper/lib/ripper/sexp.rb: fix rdoc arround sexp.
patched by Sho Hashimoto. fixes #4599

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31342 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-04-25 02:28:49 +00:00
nobu cf7dae0e17 * ext/ripper/depend (ripper.y): fix messages with nmake.
[ruby-dev:42896]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30389 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-26 13:25:10 +00:00
nobu fd7c0279f8 * Makefile.in, common.mk, cygwin/GNUmakefile.in, enc/depend,
ext/ripper/depend, lib/mkmf.rb, win32/Makefile.sub: caddle up.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29769 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-12 11:51:42 +00:00
nobu f2f7a7740a * common.mk: hide long command lines by default. verbose-mode is
turned on by V=1 as before.
  http://jarp.does.notwork.org/diary/200605b.html#200605121

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29748 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-11 12:46:23 +00:00
nobu c53664c84d .cvsignore: have not been used already. [Bug #3468]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28898 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-07 05:43:21 +00:00
nobu 28f00681ca * ext/ripper/eventids2.c (token_to_eventid): added
keyword_do_LAMBDA.  [ruby-dev:39049]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24479 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-08 22:25:11 +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
nobu ff9bfed83d * common.mk (ripper.c): exec can't work on Windows.
* ext/ripper/depend (.SUFFIXES): nmake doesn't have .y by default.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22591 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-24 08:58:10 +00:00
naruse 7cefea6ff4 * ext/ripper/depend: use VPATH.
If a platform doesn't support VPATH, Ruby doesn't support it:
  for exapmle MSYS. [ruby-core:21570]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21793 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-27 04:02:53 +00:00
naruse 6f39590aff * ext/ripper/depend: lex.c's correct path is ../../lex.c.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21792 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-27 03:24:17 +00:00
matz 0fff7aa624 * ext/ripper/depend: fixed dependency path to lex.c.
[ruby-core:21570]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21787 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-26 19:06:39 +00:00
yugui 69b2c8cc44 * Makefile.in (ext-clean): ext-clean always fails.
* ext/dl/ripper/extconf.rb: adds y.output into the clean list.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21149 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-29 05:51:31 +00:00
ko1 2e311f6bd5 * include/ruby/node.h, node.h: move node.h from include path.
This change stop to install node.h beacuase of saving ABI
  (node.h will be changed. Extensions should not depends on
  this file).
* blockinlining.c, class.c, compile.c, debug.h, enum.c,
  gc.c, iseq.c, parse.y, ruby.c, signal.c, variable.c,
  vm.c, vm_core.h, vm_dump.c: ditto.
* ext/ripper/depend: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19500 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-23 19:52:31 +00:00
matz 0867b94cb9 * ext/ripper/eventids2.c (token_to_eventid): supper __ENCODING__
keyword.  [ruby-dev:36478]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19471 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-23 07:19:17 +00:00
akr 956966ff8b * ext/ripper/depend (ripper.o): it depends on ruby headers.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19328 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-13 15:43:56 +00:00
nobu 1a41f6dbf4 * ext/ripper/eventids2.c (ripper_init_eventids2): use rb_intern_const.
* ext/ripper/tools/generate.rb (generate_eventids1): ditto.

* ext/ripper/tools/generate.rb (generate_eventids2_table): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-31 04:42:42 +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
nobu d5a3389886 * common.mk (parse.c), ext/ripper/depend (ripper.c): process after
bison with sed.  [ruby-dev:32204]

* ruby.c (proc_options): use yydebug in cmdline_options.

* ruby.c (process_options): set yydebug flag of parser.

* parse.y (yydebug): moved into struct parser_params.

* parse.y (rb_parser_get_yydebug, rb_parser_set_yydebug): parser
  generic methods.

* */Makefile.sub (parse.c): moved to common.mk.

* tool/ytab.sed: comment out yydebug definition, and substitute
  yyerror with parser_yyerror.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13908 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-13 12:41:41 +00:00
aamine 3f483f7082 * parse.y (ripper): rename event: arglist_* -> args_*.
* parse.y (ripper): rename event: restparam -> rest_param.
* parse.y (ripper): rename event: constpath_* -> const_path_*.
* parse.y (ripper): rename event: topconst_* -> top_const_*.
* parse.y (ripper): rename event: iter_block -> method_add_block.
* parse.y (ripper): support block local parameter declaration.
* parse.y (ripper): introduce new macro params_new.
* ext/ripper/lib/ripper/sexp.rb: should not dispose event arguments whose name ends with "_new" but arity != 0.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13465 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-17 12:02:35 +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 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
akr 1a8d5ed8cb follow previous lex.c change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-08 03:47:16 +00:00
aamine 67c94cae96 * parse.y (lambda): add ripper event. This fixes bus error on "make test-all".
* ext/ripper/extconf.rb: do not stop build.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11815 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-23 03:25:26 +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
nobu dcb5d04374 * ext/ripper/eventids2.c (token_assoc): added tCHAR, which is not
under 256 now.  fixed: [ruby-dev:28832]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10400 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-06-26 15:52:50 +00:00
matz e5f2b421c0 * ext/socket/socket.c (sock_accept): revert to avoid ambiguity of
argument evaluation order.  [ruby-dev:28861]

* ext/socket/socket.c (sock_accept_nonblock): ditto.

* io.c (pipe_open): avoid closing uninitialized file descriptors.
  a patch from <tommy at tmtm.org> [ruby-dev:28600]

* parse.y: replace terminal token names with more descriptive
  name, i.e. kEND to keyword_end.  [ruby-list:42477]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10397 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-06-26 14:15:49 +00:00
akr 934847fbeb add extconf.h to .cvsignore.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10375 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-06-24 01:15:08 +00:00
nobu 3e5f70a815 * math.c (log2): may be a macro.
* parse.y (args, block_param, f_args): pass f_post_arg to #params.

* util.c (powersOf10): constified.

* ext/readline/readline.c: include extconf.h first.

* ext/ripper/eventids2.c: removed tLAMBDA_ARG.

* ext/tk/tcltklib.c (lib_fromUTF8_core): removed conflict.

* ext/tk/tkutil/tkutil.c (cbsubst_get_subst_arg): rb_id2name() is
  defined as const now.

* ext/win32ole/win32ole.c (fole_missing): ditto.

* lib/mkmf.rb (create_makefile): force to create extconf header.

* lib/optparse.rb (order!): use Proc#yield.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10238 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-06-09 23:18:04 +00:00
matz 9b383bd6cf * sprintf.c (rb_str_format): allow %c to print one character
string (e.g. ?x).

* lib/tempfile.rb (Tempfile::make_tmpname): put dot between
  basename and pid.  [ruby-talk:196272]
* parse.y (do_block): remove -> style block.

* parse.y (parser_yylex): remove tLAMBDA_ARG.

* eval.c (rb_call0): binding for the return event hook should have
  consistent scope.  [ruby-core:07928]

* eval.c (proc_invoke): return behavior should depend whether it
  is surrounded by a lambda or a mere block.

* eval.c (formal_assign): handles post splat arguments.

* eval.c (rb_call0): ditto.

* st.c (strhash): use FNV-1a hash.

* parse.y (parser_yylex): removed experimental ';;' terminator.

* eval.c (rb_node_arity): should be aware of post splat arguments.

* eval.c (rb_proc_arity): ditto.

* parse.y (f_args): syntax rule enhanced to support arguments
  after the splat.

* parse.y (block_param): ditto for block parameters.

* parse.y (f_post_arg): mandatory formal arguments after the splat
  argument.

* parse.y (new_args_gen): generate nodes for mandatory formal
  arguments after the splat argument.

* eval.c (rb_eval): dispatch mandatory formal arguments after the
  splat argument.

* parse.y (args): allow more than one splat in the argument list.

* parse.y (method_call): allow aref [] to accept all kind of
  method argument, including assocs, splat, and block argument.

* eval.c (SETUP_ARGS0): prepare block argument as well.

* lib/mathn.rb (Integer): remove Integer#gcd2. [ruby-core:07931]

* eval.c (error_line): print receivers true/false/nil specially.

* eval.c (rb_proc_yield): handles parameters in yield semantics.

* eval.c (nil_yield): gives LocalJumpError to denote no block
  error.

* io.c (rb_io_getc): now takes one-character string.

* string.c (rb_str_hash): use FNV-1a hash from Fowler/Noll/Vo
  hashing algorithm.

* string.c (rb_str_aref): str[0] now returns 1 character string,
  instead of a fixnum.	[Ruby2]

* parse.y (parser_yylex): ?c now returns 1 character string,
  instead of a fixnum.	[Ruby2]

* string.c (rb_str_aset): no longer support fixnum insertion.

* eval.c (umethod_bind): should not update original class.
  [ruby-dev:28636]

* eval.c (ev_const_get): should support constant access from
  within instance_eval().  [ruby-dev:28327]

* time.c (time_timeval): should round for usec floating
  number.  [ruby-core:07896]

* time.c (time_add): ditto.

* dir.c (sys_warning): should not call a vararg function
  rb_sys_warning() indirectly.	[ruby-core:07886]

* numeric.c (flo_divmod): the first element of Float#divmod should
  be an integer. [ruby-dev:28589]

* test/ruby/test_float.rb: add tests for divmod, div, modulo and remainder.

* re.c (rb_reg_initialize): should not allow modifying literal
  regexps.  frozen check moved from rb_reg_initialize_m as well.

* re.c (rb_reg_initialize): should not modify untainted objects in
  safe levels higher than 3.

* re.c (rb_memcmp): type change from char* to const void*.

* dir.c (dir_close): should not close untainted dir stream.

* dir.c (GetDIR): add tainted/frozen check for each dir operation.

* lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_symbol_arg):
  typo fixed.  a patch from Florian Gross <florg at florg.net>.

* eval.c (EXEC_EVENT_HOOK): trace_func may remove itself from
  event_hooks.	no guarantee for arbitrary hook deletion.
  [ruby-dev:28632]

* util.c (ruby_strtod): differ addition to minimize error.
  [ruby-dev:28619]

* util.c (ruby_strtod): should not raise ERANGE when the input
  string does not have any digits.  [ruby-dev:28629]

* eval.c (proc_invoke): should restore old ruby_frame->block.
  thanks to ts <decoux at moulon.inra.fr>.  [ruby-core:07833]
  also fix [ruby-dev:28614] as well.

* signal.c (trap): sig should be less then NSIG.  Coverity found
  this bug.  a patch from Kevin Tew <tewk at tewk.com>.
  [ruby-core:07823]

* math.c (math_log2): add new method inspired by
  [ruby-talk:191237].

* math.c (math_log): add optional base argument to Math::log().
  [ruby-talk:191308]

* ext/syck/emitter.c (syck_scan_scalar): avoid accessing
  uninitialized array element.	a patch from Pat Eyler
  <rubypate at gmail.com>.  [ruby-core:07809]

* array.c (rb_ary_fill): initialize local variables first.  a
  patch from Pat Eyler <rubypate at gmail.com>.	 [ruby-core:07810]

* ext/syck/yaml2byte.c (syck_yaml2byte_handler): need to free
  type_tag.  a patch from Pat Eyler <rubypate at gmail.com>.
  [ruby-core:07808]

* ext/socket/socket.c (make_hostent_internal): accept ai_family
  check from Sam Roberts <sroberts at uniserve.com>.
  [ruby-core:07691]

* util.c (ruby_strtod): should not cut off 18 digits for no
  reason.  [ruby-core:07796]

* array.c (rb_ary_fill): internalize local variable "beg" to
  pacify Coverity.  [ruby-core:07770]

* pack.c (pack_unpack): now supports CRLF newlines.  a patch from
  <tommy at tmtm.org>.	[ruby-dev:28601]

* applied code clean-up patch from Stefan Huehner
  <stefan at huehner.org>.  [ruby-core:07764]

* lib/jcode.rb (String::tr_s): should have translated non
  squeezing character sequence (i.e. a character) as well.  thanks
  to Hiroshi Ichikawa <gimite at gimite.ddo.jp> [ruby-list:42090]

* ext/socket/socket.c: document update patch from Sam Roberts
  <sroberts at uniserve.com>.  [ruby-core:07701]

* lib/mathn.rb (Integer): need not to remove gcd2.  a patch from
  NARUSE, Yui <naruse at airemix.com>.	[ruby-dev:28570]

* parse.y (arg): too much NEW_LIST()

* eval.c (SETUP_ARGS0): remove unnecessary access to nd_alen.

* eval.c (rb_eval): use ARGSCAT for NODE_OP_ASGN1.
  [ruby-dev:28585]

* parse.y (arg): use NODE_ARGSCAT for placeholder.

* lib/getoptlong.rb (GetoptLong::get): RDoc update patch from
  mathew <meta at pobox.com>.  [ruby-core:07738]

* variable.c (rb_const_set): raise error when no target klass is
  supplied.  [ruby-dev:28582]

* prec.c (prec_prec_f): documentation patch from
  <gerardo.santana at gmail.com>.  [ruby-core:07689]

* bignum.c (rb_big_pow): second operand may be too big even if
  it's a Fixnum.  [ruby-talk:187984]

* README.EXT: update symbol description.  [ruby-talk:188104]

* COPYING: explicitly note GPLv2.  [ruby-talk:187922]

* parse.y: remove some obsolete syntax rules (unparenthesized
  method calls in argument list).

* eval.c (rb_call0): insecure calling should be checked for non
  NODE_SCOPE method invocations too.

* eval.c (rb_alias): should preserve the current safe level as
  well as method definition.

* process.c (rb_f_sleep): remove RDoc description about SIGALRM
  which is not valid on the current implementation. [ruby-dev:28464]

 Thu Mar 23 21:40:47 2006  K.Kosako  <sndgk393 AT ybb.ne.jp>

* eval.c (method_missing): should support argument splat in
  super.  a bug in combination of super, splat and
  method_missing.  [ruby-talk:185438]

* configure.in: Solaris SunPro compiler -rapth patch from
  <kuwa at labs.fujitsu.com>.  [ruby-dev:28443]

* configure.in: remove enable_rpath=no for Solaris.
  [ruby-dev:28440]

* ext/win32ole/win32ole.c (ole_val2olevariantdata): change behavior
  of converting  OLE Variant object with VT_ARRAY|VT_UI1 and Ruby
  String object.

* ruby.1: a clarification patch from David Lutterkort
  <dlutter at redhat.com>.  [ruby-core:7508]

* lib/rdoc/ri/ri_paths.rb (RI::Paths): adding paths from rubygems
  directories.	a patch from Eric Hodel <drbrain at segment7.net>.
  [ruby-core:07423]

* eval.c (rb_clear_cache_by_class): clearing wrong cache.

* ext/extmk.rb: use :remove_destination to install extension libraries
  to avoid SEGV.  [ruby-dev:28417]

* eval.c (rb_thread_fd_writable): should not re-schedule output
  from KILLED thread (must be error printing).

* array.c (rb_ary_flatten_bang): allow specifying recursion
  level.  [ruby-talk:182170]

* array.c (rb_ary_flatten): ditto.

* gc.c (add_heap): a heap_slots may overflow.  a patch from Stefan
  Weil <weil at mail.berlios.de>.

* eval.c (rb_call): use separate cache for fcall/vcall
  invocation.

* eval.c (rb_eval): NODE_FCALL, NODE_VCALL can call local
  functions.

* eval.c (rb_mod_local): a new method to specify newly added
  visibility "local".

* eval.c (search_method): search for local methods which are
  visible only from the current class.

* class.c (rb_class_local_methods): a method to list local methods.

* object.c (Init_Object): add BasicObject class as a top level
  BlankSlate class.

* ruby.h (SYM2ID): should not cast to signed long.
  [ruby-core:07414]

* class.c (rb_include_module): allow module duplication.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10235 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-06-09 21:20:17 +00:00
aamine 469f1f7b49 * ext/dl/.cvsignore: ignore callback.h.
* ext/ripper/.cvsignore: ignore eventids2table.c.
* ext/socket/.cvsignore: ignore constants.h.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10018 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-03-03 05:41:53 +00:00
nobu d284e44687 * ext/ripper/tools/preproc.rb (prelude): do not append surplus
newlines to fix line numbers.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9430 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-20 13:23:26 +00:00
nobu 834bd9db0b * lib/mkmf.rb (create_makefile): get rid of a restriction
of Borland make.  fixed: [ruby-dev:27460]

* ext/ripper/depend: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9423 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-19 22:55:51 +00:00
nobu 04bdcf8432 * parse.y (rb_parser_malloc, rb_parser_free): manage parser stack on
heap.  [ruby-list:41199]

* parse.y (ripper_initialize): use rb_respond_to().

* ext/ripper/depend (check): get rid of re-generating ripper.y always.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9356 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-08 09:58:25 +00:00
aamine 1d62cc0ecc * ext/ripper: no longer generates .rb files.
* parse.y (Init_ripper): ripper_init_eventids*() takes 1 argument, self (class Ripper).
* ext/ripper/depend: target removed: `lib/ripper/core.rb'.
* ext/ripper/depend: new target `eventids2table.c'.
* ext/ripper/depend: new target `check'.
* ext/ripper/eventids2.c: include eventids2table.c.
* ext/ripper/eventids2.c: initialize SCANNER_EVENT_TABLE.
* ext/ripper/extconf.rb: update $cleanfiles list.
* ext/ripper/tools/generate.rb: no longer generate ripper/core.rb.
* ext/ripper/tools/generate.rb: new mode `check'.
* ext/ripper/tools/generate.rb: new mode `eventids2table'.
* ext/ripper/lib/ripper/core.rb.in: removed.
* ext/ripper/lib/ripper/core.rb: added.
* ext/ripper/lib/ripper/filter.rb: update copyright year.
* ext/ripper/lib/ripper/lexer.rb: ditto.
* ext/ripper/lib/ripper/sexp.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9284 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-23 21:37:38 +00:00
nobu 2d683b3190 * ext/ripper/tools/generate.rb, ext/ripper/tools/preproc.rb: StringIO
is not available for miniruby.  fixed: [ruby-dev:27307]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9283 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-23 11:10:59 +00:00
aamine bafc88f1f1 * test/ripper/depend: use --output option instead of redirect; nmake does not remove a target when the target file is created by redirect. [ruby-dev:26466]
* test/ripper/tools/preproc.rb: new option --output.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9280 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-22 22:08:47 +00:00
aamine 42d9ecc125 * test/ripper/tools/generate.rb: check parser event arity.
* test/ripper/tools/generate.rb: detect crash of parser-event-IDs and scanner-event-IDs.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9279 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-22 22:01:32 +00:00
aamine 373a19b736 build fix (tmp)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9276 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-22 21:12:11 +00:00
aamine ec4689b164 forgot to add
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9274 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-22 20:58:31 +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
nobu 6fb86f740b * ext/ripper/extconf.rb (have_command): replaced with find_executable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9272 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-22 14:40:37 +00:00
usa 5cbb885ce1 * ext/ripper/depend (SUFFIXES): no longer needed.
* ext/ripper/depend (c): avoid nmake problem. fixed [ruby-dev:27191]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9265 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-21 05:17:54 +00:00
aamine 70373e2e54 * ext/ripper/depend: do not make ripper/core.rb. [ruby-dev:26462]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9228 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-19 06:12:35 +00:00
aamine ae860f9a56 * ext/ripper/eventids2.c: add prefix `t' to lambda related lexer events.
* ext/ripper/lib/ripper/core.rb: updated.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9227 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-19 05:50:17 +00:00
aamine 04165c20fe * parse.y (do_block): do_block event dispatches 2 args. [ruby-dev:26964]
* ext/ripper/lib/ripper/core.rb: updated.
* ext/ripper/tools/list-parser-event-ids.rb: check arity mismatch.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9225 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-19 05:40:47 +00:00
nobu 768e6c1328 * parse.y (stmt, mlhs_node, lhs, arg, method_call): aref_args might be
nothing.  fixed: [ruby-dev:26952]

* ext/ripper/eventids2.c: added new tokens.  fixed: [ruby-dev:26952]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9083 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-05 13:29:01 +00:00
matz 759a63b6a3 * parse.y (lambda): Perl6 style -> lambda expression. [NEW]
[VERY EXPERIMENTAL]

* gc.c (id2ref): must not assign pointers to long int.  use
  LONG_LONG instead if SIZEOF_LONG < SIZEOF_VOIDP.
  [ruby-talk:149645]

* ruby.h: use LONG_LONG to simplify the change.
  [ruby-talk:149645]

* dir.c (dir_each): rewinddir(3) before iteration.
  [ruby-talk:149628]

* eval.c (rb_f_throw): replace all '0x%lx' by '%p'.
  [ruby-talk:149553]

* missing/vsnprintf.c (BSD_vfprintf): '%p' need to handle 64bit
  size pointer.  [ruby-talk:149553]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8847 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-27 07:27:19 +00:00
aamine 57c8f59761 * ext/ripper/lib/ripper/sexp.rb: new method Ripper.sexp_raw.
* ext/ripper/lib/ripper/sexp.rb (Ripper.sexp): returns more readable tree.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8841 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-26 13:42:49 +00:00
usa 0e7ab28c36 * ext/ripper/depend: add .y to .SUFFIXES for nmake.
fixed: [ruby-dev:26294]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-06-06 07:37:07 +00:00
nobu d2a81a3aa3 * parse.y: pragma support on ripper. [ruby-dev:26266]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8549 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-06-02 14:43:10 +00:00
aamine dd82fb6393 * parse.y [ripper] (regexp): dispatch regexp option. [ruby-Bugs:1688]
* ext/ripper/lib/core.rb: regenerated (interface changed).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8331 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-14 10:05:29 +00:00
aamine 889ca023e3 * ext/ripper/lib/ripper/lexer.rb: last Lexer fix was incomplete; test all green.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7881 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-02-04 09:46:18 +00:00
aamine 6a24d7ed9b * ext/ripper/lib/ripper/filter.rb: ripper/tokenizer -> ripper/lexer. [ruby-dev:25632]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7880 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-02-04 05:33:53 +00:00
aamine dee3740597 * ext/ripper/lib/ripper/tokenizer.rb -> lexer.rb.
* ext/ripper/lib/ripper/lexer.rb: new method Ripper.slice. [experimental]
* ext/ripper/lib/ripper/sexp.rb: new file. [experimental]
* ext/ripper/lib/ripper.rb: require ripper/lexer and ripper/sexp.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7861 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-02-01 18:32:40 +00:00
aamine 0ce6372dc1 * ext/ripper/extconf.rb: bison is not needed if ripper.c exists. [ruby-dev:25191]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7572 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-15 19:02:42 +00:00
aamine 919992f5b8 * ext/ripper/.cvsignore: add entries.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7338 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-20 13:23:57 +00:00
aamine 9ad74dd377 * ext/ripper/depend: fix ripper.o dependency.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7336 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-20 11:44:02 +00:00
aamine 5e2fdf0163 * ext/ripper/depend: Never regenerate lib/ripper/core.rb automatically. [ruby-dev:24911]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7313 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-18 14:42:54 +00:00
eban 49fb289ea1 * MANIFEST, ext/**/MANIFEST: removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7170 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-01 10:13:52 +00:00
eban ac0fc7798d * ext/ripper/MANIFEST: typofix(src.rb -> src_rb).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7157 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-31 14:24:29 +00:00
aamine 493bcc9b64 * ext/ripper/lib/ripper/filter.rb: require ripper/tokenizer.
* ext/ripper/lib/ripper/filter.rb (parse): argument is optional.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7025 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-09 17:49:41 +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 2c17921671 * parse.y [ripper]: on__scan event removed.
* parse.y [ripper]: event name is changed: on__XXX -> on_XXX.
* ext/ripper/eventids2.c: ditto.
* ext/ripper/ripper.rb.in: ditto.
* ext/ripper/lib/ripper.rb: sync with ripper.rb.in.
* ext/ripper/lib/ripper/tokenizer: ditto.
* ext/ripper/lib/ripper/filter: new file.
* sample/ripper/colorize.rb: new file.
* sample/ripper/strip-comment.rb: new file.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-22 05:22:50 +00:00
aamine 90ae99b0f0 * ext/ripper/lib/ripper/tokenizer.rb: fix typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-20 08:47:32 +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 b2a700f13e * parse.y [ripper]: do not delay dispatching.
* ext/ripper/lib/ripper/tokenizer.rb: sort tokens by right order.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6936 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-20 07:59:30 +00:00
eban 273d0344a8 * ext/ripper/MANIFEST: add lib/ripper/tokenizer.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6935 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-20 07:16:33 +00:00
aamine d781183f42 * ext/ripper/lib/ripper/tokenizer.rb: new file.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6934 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-20 06:18:28 +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 c2c7f4c186 * ext/ripper/ripper.rb.in: new const Ripper::PARSER_EVENT_TABLE.
* ext/ripper/ripper.rb.in: new const Ripper::SCANNER_EVENT_TABLE.
* ext/ripper/lib/ripper.rb: sync with ripper.rb.in.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6926 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-19 19:49:56 +00:00
aamine 0ad4ae91ea * parse.y [ripper]: spaces before heredoc marker was lost.
* keywords: rb_reserved_word() should be defined only in ruby core.
* lex.c: sync with keywords.
* ext/ripper/ripper.rb.in (parse): fix typo.
* ext/ripper/lib/ripper.rb: sync with ripper.rb.in.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6924 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-19 18:48:29 +00:00
usa 0a4e53a5c5 * parse.y: add prototypes for Microsoft compiler.
* ext/ripper/depend (parse.obj): lex.c exists at hdrdir.

* {bcc32,win32,wince}/Makefile.sub (YACC, YFLAGS, parse.c):
  use bison.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6921 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-17 11:38:49 +00:00
aamine d3bce8cb5a * parse.y [ripper]: space event is on__sp, not on__lwsp. [ruby-dev:24257]
* ext/ripper/eventids2.c: ditto.
* ext/ripper/lib/ripper.rb: ditto.
* ext/ripper/depend (ripper.o): No action is needed. [ruby-dev:24260]
* ext/ripper/depend: Borland make does not accept pipes in Makefile rules. [ruby-dev:24589]
* ext/ripper/depend: separate rules for developpers.
* ext/ripper/Makefile.dev: new file.
* ext/ripper/MANIFEST: add Makefile.dev.
* ext/ripper/tools/generate-eventids1.rb: read from file, not stdin.
* ext/ripper/extconf.rb: clean ripper.E.
* ext/ripper/tools/generate-ripper_rb.rb: #include ids1/ids2 function was lost.
* ext/ripper/tools/generate-ripper_rb.rb: SCANNER_EVENTS wrongly contained parser events.
* ext/ripper/lib/ripper.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-14 11:27:36 +00:00
aamine 3f5c917860 * ext/ripper/depend: (nmake hack) prepend "./" to ripper.c to avoid {$(srcdir)}.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6894 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-13 00:30:47 +00:00
aamine 98258515dd * ext/ripper/tools/list-parse-event-ids.rb: does not use getopts.
* ext/ripper/tools/list-scan-event-ids.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6893 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-12 21:44:13 +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