[#11156] How to delete methods from superclass? — Clemens Hintze <c.hintze@...>

Hello,

25 messages 1998/12/01
[#11157] Re: How to delete methods from superclass? — matz@... (Yukihiro Matsumoto) 1998/12/01

Hi, Clemens.

[#11176] English List [Re: How to delete methods from superclass?] — gotoken@... (GOTO Kentaro) 1998/12/01

In message "[ruby-list:11157] Re: How to delete methods from superclass?"

[#11250] Ruby 用語集 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

25 messages 1998/12/08

[#11269] 京都 (Re: [ruby-dev:3789] Re: List()) — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

21 messages 1998/12/11
[#11299] Re: 京都 — MAEDA Shugo <shugo@...> 1998/12/12

前田です。

[#11393] mod_ruby — shugo@... (Shugo Maeda)

前田です。

28 messages 1998/12/21
[#11394] Re: mod_ruby — matz@... (Yukihiro Matsumoto) 1998/12/21

まつもと ゆきひろです

[#11398] Re: mod_ruby — shugo@... (Shugo Maeda) 1998/12/21

前田です。

[#11399] RE: mod_ruby — OZAWA Sakuro <crouton@...> 1998/12/21

さくです。

[#11408] Re: Be port — shugo@... (Shugo Maeda) 1998/12/22

前田です。

[#11464] ruby and IDE — Noritsugu Nakamura <nnakamur@...>

18 messages 1998/12/27
[#11465] goto (Re: ruby and IDE) — ttate@... 1998/12/27

立石です。

[ruby-list:11175] Re: parser

From: gotoken@... (GOTO Kentaro)
Date: 1998-12-01 16:08:15 UTC
List: ruby-list #11175
ごとけんです

In message "[ruby-list:11160] Re: parser"
    on 98/12/01, YANAGAWA Kazuhisa <kjana@os.xaxon.ne.jp> writes:

>In message <199811290940.SAA27448@hanare00.math.sci.hokudai.ac.jp>
>gotoken@math.sci.hokudai.ac.jp (GOTO Kentaro) writes:
>
>  ちなみにどんなの書いたんでしょう? めちゃくちゃ手抜きな奴なら自分でも
>  何度か書いているんですが.これがまた,拡張性も何もないんですよね....
>  lex 並の記述から自動生成できるかも,というぐらいのことを意図して試し
>  に書いた,という側面もあるんですが.
>
>  # おおむねこんな感じ.

ぼくも lex みたく字句解析器を生成するものを最初考えたのですが
めんどくさくなってやめてしまいました :-<

>  # 見ての通り一行ずつしか処理していないんで,"untermed-string" とか怪
>  # しげな token をつくって使う時に何とかするという (^^;  

いやぁ、その辺どうするのがいいか分かんないですよね。
ちなみに、ぼくは lex の機能のうちスタート状態は
あると便利だろうと思って、実装してみました。

こんなふうに使います:

   # C のコメントだけ抜き出す(文字列内の /* 非対応版)

   require "lax"
   include Racco

   l = Lax.new

   l.x("CMNT")                # 排他的スタート状態 CMNT
   include_state_of l         # 状態のスコープを取り込む

   l.rule(/\/\*/){            # コメントのはじまり
     l.echo
     l.BEGIN CMNT
   }
   l.rule(/.|\n/, CMNT){      # CMNT のとき、そのときに限り
     l.echo
   }
   l.rule(/\*\/\s*\n/, CMNT){ # CMNT のとき、そのときに限り
     l.echo
     l.BEGIN INITIAL
   }
   l.rule(/.|\n/){}           # コメント以外はスキップ

   while gets
     l.match($_)
   end

>  実は欲しいのは構文解析器よりも構文解析器の自動生成器.... yacc のよう
>  に.しかも動くだけではなく reasonable な cost-performance であること.

そうそう、さいごの条件、ぢうようですね (^^;
でも、

>  yacc や bison を ruby で書くことはできるかもしれないけど,なんか意図
>  したものに対して生成も実行も重すぎるような気がしてしまう.気がするだ
>  けだけど.

この辺はやっぱり作って見ないことには分からないと思います。
以外とカシコイひと(!=俺)が作ると速いかも知れません。

>  # 自分でやるもんじゃないと決めてかかっている節あり (^^;

ちょっと期待してますですよん (^^;;

-- gotoken

恥ずかしいけど見てみたいと言う奇特なひとのために
こっそり置いときます。ドキュメントとかないですけど。
http://www.math.sci.hokudai.ac.jp/~gotoken/ruby/junk/lax/

In This Thread

Prev Next