新井です。

>>> From: Toshiro Kuwabara <toshirok / yb3.so-net.ne.jp>
>>> Date: 03 Jan 2000 12:43:14 +0900
>>> Subject: [ruby-list:20022] Re: RD with method index (again)

> Toshです。

> ># ちゃんとソースを見てないんですが、そもそも((<ほげ(({HOGE}))>))
> ># が許されない今の制限はどういう理由なんでしょう?
> 
> 理由は、「僕がどういう仕様にしていいか判断がつかなかったので、ほったら
> かしになっている」です。(^^;;

なるほど了解です^^。

> identityの一致と言うものをどのように考えるのかが決まらなかったので
> とりあえず保留にしておいて、一番単純なモノだけを実装してあります。

うーん、どうしましょうね。一致判定ではインラインをとっぱらて
もいいかなぁ。

そういえば、ちょっと別の話ですが ruby-man.rd のとき、メソッ
ドへの参照((<method>)) を((<(({method}))>))として扱いたいな
と思いました。


> >お試しで MethodList を実装してみたのでRDへのパッチをこのメー
> >ルの最後につけます。
> 
> こっちはまだちゃんと見ていないのでまた後で。

パーサとしてはDESCLISTを使いまわしただけです。rd2html-lib.rb 
では[]や[]=メソッドを特別扱いしてみました。

> >のような変換を行いました。見出しのレベルの意味が違ったり存在
> >しないレベルがあります。
> 
> 見出しレベルは6つだと足りないでしょうか?

足りないと言うことはないんですが、改ページの概念がある
texinfoには対応できないんですよね。で、"+"の意味を変えたらど
うだろうと思ったんですが、texinfo使わない人には関係ない話で
すからね(この辺の私の悩みはとりあえず無視してもらって良いで
す)。

> ># 「スーパークラス」とかの項を@nodeにしてもしょうがない。
> ># これはどうしようかなぁ(rd2texi)。
> 
> HTMLで複数ページ出力するようになると、
>   {HTMLのページ} <--> {Texinfoの@node}
> の対応ですよね?

これも手なんですが、syntax.rdは各見出しは@nodeなんですよね。
(「バックスラッシュ記法」とかは@nodeじゃない)

> HTMLの複数ページ出力では、今のところ考えているのは
>   * ユーザーの指定したレベルのHeadlineより上でページ分割。
>     
>     たとえば、"2"とかだと、"=", "=="の部分でページ分割。
>     (ちょっと説明しづらい。Texinfoだと"="を"@chapter"とかに翻訳する
>     ときに、その前に"@node"を置く事に、って感じでしょうか。)
> 
>   * "=begin"..."=end"で囲まれてるところをページ(ノード)の単位に。
>     個人的には"=begin" ... "=end"にあまり意味を与えたくないものの、
>     これだと結構柔軟に対応できそうなので、便利です。

1つの.rd は1つの.htmlじゃだめなんですか?

> >・オプションや用語集で、DESCLISTが使えなかったというのがありま
> >  した。
> >
> >  :: label STRINGLINE
> >
> >  なんてのがあるといいのかなと漠然と考えてます。
> 
> これは、普通のDescListはなぜ使えなかったのでしょうか?

用語集では
  : インスタンス, Instance

    ((<インスタンス>))は、...

なんてのがあります。(前にToshさんが言ってた参照の判定をあま
くするっていう話はこの辺のことを言ってたんですね。今気がつい
た)

> >・((<substitute|label>))
> >
> >  これ必要ですね。
> 
> 必要なのですが、リファレンスは今後変更が大きそうなので、ちょっと落ち着
> くまで実装はサボってます。

はい。

> とかすると、Texinfoの@inputと同じようにそこにRDファイルの内容が
> そのまま書かれているのと同じように振舞います。
> 「個別に変換」とはちょっと違いますが、それなりに役に立つはずです。

今はcatで連結しまくってて、特に困ることになってないので
@input使ってないです。

>   * ITEM
>     DESCRIPTION...
> と書くと、"ITEM"と"DESCRIPTION..."は同じTextBlockとみなされるはずです。
> 違うTextBlockにしたい時は間にWHITELINEが必要です。
> あらいさんの問題ってこういうことでしょうか?

そうです。この辺の扱いの意図がよくわからないのですが、

*ITEM
 DESCRIPTION..
*ITEM
 DESCRIPTION..

で、

 ITEM    DESCRIPTION..
 ITEM    DESCRIPTION..

という出力を得るため?

> 後半部分ですが、DescListの場合も
>   :ITEM
>    
>    DESCLIST
> 
> は許されるようになってると思います。手元の簡単なテストではこれを通しま
> した。ただ、リストにはルールの衝突が残っているので、大規模なドキュメント
> になるとRaccが先読みしきれずにエラーがでるかもしれません。
> もしそうでしたら、それはバグです。

=begin
:hoge

 hoge
=end
/usr/local/lib/ruby/1.4/site_ruby/racc/parser.rb:237:in `on_error': unexpected token " hoge\n" (ParseError)

とか言われます。

>>> From: Toshiro Kuwabara <toshirok / yb3.so-net.ne.jp>
>>> Date: 03 Jan 2000 13:02:14 +0900
>>> Subject: [ruby-list:20023] Re: RD with method index (again)

> Toshです。

> Raccがエラー処理できるようにもなったので、なんとかしたいと思ってます。
> 
> ちゃんとネストしていない場合には、
>   * 適当に解釈してフォーマットしてしまう。(warningも出力するでしょうが。)
>   * エラーとして受け付けない。
> のどっちが望ましいでしょうか?

私はerrorが好きです。

--
新井康司 (Koji Arai)