作者: 閑舎
日時: 2003/11/06(18:41)
shinya-sawai@... (Y さ) さん wrote.

> あぁ、なるほど。ならいっそ、
>   <タグ>{
>    アクション
>   }
> を「閉じタグが現れた時にアクションが動く」という解釈にして、
>   <行> {
>     $sum = $sum + $price * $num;
>   }
> で良いですね。

なるほどね。AWK のように 1 行読んではスクリプトが動く、ではないので、そ
のパターン、アクションをどう実装するのがいいか、よく考えたいと思います。

 私の当初の案だと

<tagname> {
  アクション
}

でアクション部分は $_ にタグの内容を入れた状態で渡され、処理が終ると、
そのタグ内から出て文書の後続部分に向かうと考えていましたが、1 つずつ
タグを後続部分にずらしていくほうがいいのか、と思い出しました。

<a>
 <b>...</b>
</a>
<c>
...
</c>

の文書の場合、当初案では

 <a>...</a> 処理後 <c>...</c> 処理で終了。

だったのですが、Y ささんのご意見で、

 <a>...</a>, <b>...</b>, <c>...</c> の順に処理、各アクションは </b> など
 の終了タグ出現時に行われる。

のほうがいいかも、と思い出しました。どちらにせよ、<a></a> 内の <b></b> 
も処理するか、<a></a> 内の他タグは処理しないか、程度のことはオプションで
選べるようにしたいですが……あまりやりすぎると XSLT などのようにややこし
くなるので、シンプルということは心がけたいです。

--
本田博通(閑舎)
テキストとスクリプトの http://rakunet.org/TSNET/