[#20083] non-block IO with TCPSocket — dn <daisuke@...>

初投稿の中村と申します。よろしくお願いします。

19 messages 2000/01/06
[#20084] Re: non-block IO with TCPSocket — Tomoyuki Kosimizu <greentea@...2.so-net.ne.jp> 2000/01/06

越水です。

[#20091] Re: non-block IO with TCPSocket — とみたまさひろ <tommy@...> 2000/01/06

とみたです。

[#20133] おききしたーいでーす — akimaru <akimaru@...>

17 messages 2000/01/09
[#20138] Re: おききしたーいでーす — akimaru <akimaru@...> 2000/01/09

[#20237] Ruby/Tk multi interpreter — nagai@...

永井@知能.九工大です.

21 messages 2000/01/17
[#20242] Re: Ruby/Tk multi interpreter — nagai@... 2000/01/17

永井@知能.九工大です.

[#20248] Re: Ruby/Tk multi interpreter — Hideto ISHIBASHI <s34204@...> 2000/01/17

石橋秀仁です。

[#20254] Re: Ruby/Tk multi interpreter — nagai@... 2000/01/18

永井@知能.九工大です.

[#20271] Re: Ruby/Tk multi interpreter — Hideto ISHIBASHI <s34204@...> 2000/01/18

石橋秀仁です。

[#20249] FTP.open err for Windows95 — "Y Kataoka" <kataoka@...>

初めまして、片岡@KLUGと申します。

18 messages 2000/01/17
[#20252] Re: FTP.open err for Windows95 — "NAKAMURA, Hiroshi" <nakahiro@...> 2000/01/18

なひです.

[#20342] How to build ruby(current) with cygwin — KORIYAMA Naohiro <kory@...2.so-net.ne.jp>

はじめまして、こおりやまです。

19 messages 2000/01/23
[#20362] Re: How to build ruby(current) with cygwin — WATANABE Hirofumi <Hirofumi.Watanabe@...> 2000/01/24

わたなべです.

[#20422] Re: How to build ruby(current) with cygwin — Masaki Suketa<CQN02273@...> 2000/01/29

Win32OLE の作者の助田です.

[#20394] ruby-1.4.3 port to HPUX 11.00 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

15 messages 2000/01/26

[ruby-list:20330] Re: RD with method index (again)

From: Minero Aoki <aamine@...>
Date: 2000-01-21 15:42:37 UTC
List: ruby-list #20330
あおきです。

  In mail "[ruby-list:20326] Re: RD with method index (again)"
    Toshiro Kuwabara <toshirok@yb3.so-net.ne.jp> wrote:

> Toshです。

> >という場合は 6 - 1 = 5 (2 が正解)になりません?
> 
> 今のところ"=end ... =begin"をまたいでブロックを繋げることができません。
> こういうブロックが繋がってしまうのはわかりづらいだろうと思ったので、
> "=end ... =begin"はWHITELINEとみなされる、ことにしてます。

> だから、この例の問題は起こらないはずです。

そうだったんですか。知らなかった。

と、これだけではゴミなので、ぼくが修正した部分のパッチをつけます。
役には立たないと思いますけど。
-------------------------------------------------------------------
あおきみねろう

diff -urN rdtool-0.5.7/rd/rdblockparser.ry diff.rdtool/rd/rdblockparser.ry
--- rdtool-0.5.7/rd/rdblockparser.ry	Wed Dec 29 19:13:09 1999
+++ diff.rdtool/rd/rdblockparser.ry	Thu Jan 20 15:20:08 2000
@@ -128,7 +128,7 @@
 
 ---- inner
 def initialize
-  @inline_parser = RDInlineParser.new()
+  @inline_parser = RDInlineParser.new( self )
 end
 
 def parse(src)
@@ -137,13 +137,14 @@
   @src.unshift("\n")
   @src.push("\n")
   @src.push(false)
+  @i = 0
 #  @yydebug = true
   do_parse
 end
 
 def next_token
   currentIndent = @indent_stack.join("")
-  case line = @src[0]
+  case line = @src[ @i ]
   when false
     if @indent_stack.pop
       return [:DEDENT, ':DEDENT']
@@ -154,18 +155,17 @@
 #    if @indent_stack.pop
 #      return [:DEDENT, ':DEDENT']
 #    else
-#      @src.shift
+#      @i += 1
 #      return [:BLANKLINE, ':BLANKLINE']
 #    end
   when /^\s*$/
-    @src.shift
+    @i += 1
     return [:WHITELINE, ':WHITELINE']
   when /^(=+|\++)\s*/
     if @indent_stack.pop
       return [:DEDENT, ':DEDENT']
     else
-      @src.shift
-      @src.unshift($')
+      @src[ @i ] = $'
       mark = $1
       return [:HEADLINEMARK, Headline.mark_to_level(mark)]
     end
@@ -173,8 +173,7 @@
     if @indent_stack.pop
       return [:DEDENT, ':DEDENT']
     else
-      @src.shift
-      @src.unshift($')
+      @src[ @i ] = $'
       return [:INCLUDEMARK, ':INCLUDEMARK']
     end
   when /^#{currentIndent}(\s+)/
@@ -182,33 +181,30 @@
     return [:INDENT, ':INDENT']
   when /^#{currentIndent}\*/
     if @in_verbatim
-      @src.shift
+      @i += 1
       return [:STRINGLINE, line]
     else
-      @src.shift
-      @src.unshift(currentIndent + "\s" + $')
+      @src[ @i ] = currentIndent + "\s" + $'
       return [:ITEMLISTMARK, "*"]
     end
   when /^#{currentIndent}(\(\d+\))/
     if @in_verbatim
-      @src.shift
+      @i += 1
       return [:STRINGLINE, line]
     else
-      @src.shift
-      @src.unshift(currentIndent + "\s" * $1.size + $')
+      @src[ @i ] = currentIndent + "\s" * $1.size + $'
       return [:ENUMLISTMARK, $1]
     end
   when /^#{currentIndent}:/
     if @in_verbatim
-      @src.shift
+      @i += 1
       return [:STRINGLINE, line]
     else
-      @src.shift
-      @src.unshift(currentIndent + "\s" + $')
+      @src[ @i ] = currentIndent + "\s" + $'
       return [:DESCLISTMARK, ':']
     end
   when /^#{currentIndent}/
-    @src.shift
+    @i += 1
     return [:STRINGLINE, line]
   else
     @indent_stack.pop
@@ -216,7 +212,12 @@
   end
 end
 
+def line_index
+  @i
+end
+
 private
+
 def cut_off(src)
   ret = []
   line = src.shift
@@ -234,6 +235,16 @@
   end
   ret
 end
+
+def on_error( et, ev, _values )
+  raise ParseError, <<S
+
+RD syntax error: line #{@i}:
+#{@src[@i].chomp}
+
+S
+end
+
 
 ---- prepare
 require "rd/rdinlineparser.tab.rb"
diff -urN rdtool-0.5.7/rd/rdinlineparser.ry diff.rdtool/rd/rdinlineparser.ry
--- rdtool-0.5.7/rd/rdinlineparser.ry	Wed Dec 29 19:13:10 1999
+++ diff.rdtool/rd/rdinlineparser.ry	Thu Jan 20 15:23:31 2000
@@ -180,6 +180,20 @@
   [@token_queue.shift, @value_queue.shift]
 end
 
+def on_error( et, ev, _values )
+  raise ParseError, <<S
+
+RD syntax error: line #{@blockp.line_index - @token_queue.size}:
+... #{(ev||'') + @value_queue.join('')}
+   ^
+
+S
+end
+
+def initialize( bp )
+  @blockp = bp
+end
+
 ---- prepare
 =begin
 = rdinlineparser.ry

In This Thread