[#26266] pragma on ripper — nobuyoshi nakada <nobuyoshi.nakada@...>
なかだです。
こんにちは、なかむら(う)です。
なかだです。
[#26284] ext/tk/sample/tkextlib/tile/demo.rb で TypeError — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
[#26298] ext/tk/sample/tkextlib/tile/themes — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
[#26305] ext/tk/sample/tkextlib/ICONS/viewIcons.rb — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
永井@知能.九工大です.
[#26312] rb_gc_mark_threads spin — Tanaka Akira <akr@...17n.org>
最近、とあるプログラム(五月雨)が、無限ループに陥ることが何回かありました。
なかだです。
In article <TYOMLEM04FRaqbC8wSA00000024@tyomlvem02.e2k.ad.ge.com>,
なかだです。
In article <TYOMLEM04FRaqbC8wSA00000025@tyomlvem02.e2k.ad.ge.com>,
なかだです。
In article <TYOMLEM04Rqf69aZbLA0000002d@tyomlvem02.e2k.ad.ge.com>,
なかだです。
In article <200506101543.j5AFhToG009328@sharui.nakada.niregi.kanuma.tochigi.jp>,
In article <8764wlil9l.fsf@m17n.org>,
なかだです。
In article <200506111335.j5BDZkoG019423@sharui.nakada.niregi.kanuma.tochigi.jp>,
まつもと ゆきひろです
In article <1118583170.298416.26464.nullmailer@x31.priv.netlab.jp>,
まつもと ゆきひろです
In article <1118586617.180748.27381.nullmailer@x31.priv.netlab.jp>,
[#26324] XMLRPC charset — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
[#26358] test failures and errors — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
[#26387] warningを減らす — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
[#26405] WEBrick DoS vulnerability — Tanaka Akira <akr@...17n.org>
NetBSD 2.0 で WEBrick を使って HTTP サーバを動かした場合、クライアント
ごとうゆうぞうです。
In article <20050708.175802.957830318.gotoyuzo@sawara.does.notwork.org>,
In message <87fyupzgcq.fsf@m17n.org>,
In article <20050708.211519.179953950.gotoyuzo@sawara.does.notwork.org>,
In message <87d5ptzdpc.fsf@m17n.org>,
前田です。
In article <42CF1AF2.5000407@ruby-lang.org>,
In message <878y0erpv7.fsf@m17n.org>,
[#26410] irbのlexerが数値認識に失敗 — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
[#26417] test.rb failed 167W: ruby 1.9.0 (2005-06-30) [i686-linux] (boron) — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
[#26421] Subversion — Shugo Maeda <shugo@...>
前田です。
まつもと ゆきひろです
こんにちは、なかむら(う)です。
山本です。
須藤です.
In article <20050703.152549.41008576.kou@cozmixng.org>,
[ruby-dev:26266] pragma on ripper
なかだです。
ripperでもpragmaを使えるようにしてみました。
Index: parse.y
===================================================================
RCS file: /cvs/ruby/src/ruby/parse.y,v
retrieving revision 1.382
diff -U2 -p -r1.382 parse.y
--- parse.y 2 Jun 2005 07:26:10 -0000 1.382
+++ parse.y 2 Jun 2005 10:58:21 -0000
@@ -4560,5 +4560,5 @@ rb_compile_string(f, s, line)
VALUE volatile vparser = rb_parser_s_new();
struct parser_params *parser;
-
+
Data_Get_Struct(vparser, struct parser_params, parser);
lex_gets = lex_get_str;
@@ -5360,4 +5360,5 @@ lvar_defined_gen(parser, id)
/* emacsen -*- hack */
+#ifndef RIPPER
typedef void (*rb_pragma_setter_t) _((struct parser_params *parser, const char *name, const char *val));
@@ -5381,4 +5382,5 @@ static const struct pragma pragmas[] = {
{"coding", pragma_encoding},
};
+#endif
static const char *
@@ -5438,5 +5440,7 @@ parser_pragma(parser, str, len)
/* %r"([^\\s\'\":;]+)\\s*:\\s*(\"(?:\\\\.|[^\"])*\"|[^\"\\s;]+)[\\s;]*" */
while (len > 0) {
+#ifndef RIPPER
const struct pragma *p = pragmas;
+#endif
int n = 0;
@@ -5486,4 +5490,5 @@ parser_pragma(parser, str, len)
str_copy(name, beg, n);
rb_funcall(name, rb_intern("downcase!"), 0);
+#ifndef RIPPER
do {
if (strncmp(p->name, RSTRING(name)->ptr, n) == 0) {
@@ -5493,4 +5498,7 @@ parser_pragma(parser, str, len)
}
} while (++p < pragmas + sizeof(pragmas) / sizeof(*p));
+#else
+ dispatch2(pragma, name, val);
+#endif
}
Index: ext/ripper/.cvsignore
===================================================================
RCS file: /cvs/ruby/src/ruby/ext/ripper/.cvsignore,v
retrieving revision 1.2
diff -U2 -p -r1.2 .cvsignore
--- ext/ripper/.cvsignore 20 Nov 2004 13:23:57 -0000 1.2
+++ ext/ripper/.cvsignore 24 Mar 2005 01:27:26 -0000
@@ -1,6 +1,5 @@
Makefile
eventids1.c
-ripper.c
-ripper.y
+ripper.*
ids1
ids2
Index: ext/ripper/depend
===================================================================
RCS file: /cvs/ruby/src/ruby/ext/ripper/depend,v
retrieving revision 1.7
diff -U2 -p -r1.7 depend
--- ext/ripper/depend 20 Nov 2004 11:44:02 -0000 1.7
+++ ext/ripper/depend 18 Mar 2005 09:27:37 -0000
@@ -1,6 +1,10 @@
+common: src rb
+src: ripper.c eventids1.c
+rb: $(srcdir)/lib/ripper/core.rb
+
ripper.o: ripper.c $(hdrdir)/lex.c eventids1.c $(srcdir)/eventids2.c
-ripper.c: ripper.y
- bison -t -v -o$@ ripper.y
+.y.c:
+ bison -t -v -o$@ $<
ripper.y: $(hdrdir)/parse.y $(srcdir)/tools/preproc.rb
@@ -16,6 +20,6 @@ ids2: $(srcdir)/tools/list-scan-event-id
$(RUBY) $(srcdir)/tools/list-scan-event-ids.rb -a $(srcdir)/eventids2.c > $@
-rb: $(srcdir)/lib/ripper/core.rb.in ids1 ids2 $(srcdir)/tools/generate-ripper_rb.rb
- $(RUBY) $(srcdir)/tools/generate-ripper_rb.rb $(srcdir)/lib/ripper/core.rb.in ids1 ids2 > $(srcdir)/lib/ripper/core.rb
+$(srcdir)/lib/ripper/core.rb: $(srcdir)/lib/ripper/core.rb.in ids1 ids2 $(srcdir)/tools/generate-ripper_rb.rb
+ $(RUBY) $(srcdir)/tools/generate-ripper_rb.rb $@.in ids1 ids2 > $@
#
Index: ext/ripper/lib/ripper/core.rb
===================================================================
RCS file: /cvs/ruby/src/ruby/ext/ripper/lib/ripper/core.rb,v
retrieving revision 1.4
diff -U2 -p -r1.4 core.rb
--- ext/ripper/lib/ripper/core.rb 14 Apr 2005 10:05:29 -0000 1.4
+++ ext/ripper/lib/ripper/core.rb 2 Jun 2005 10:58:50 -0000
@@ -94,4 +94,5 @@ class Ripper
:paren => 1,
:parse_error => 1,
+ :pragma => 2,
:program => 1,
:qwords_add => 2,
@@ -510,4 +511,8 @@ class Ripper
end
+ def on_pragma(a, b)
+ a
+ end
+
def on_program(a)
a
--
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
中田 伸悦