[前][次][番号順一覧][スレッド一覧][生データ]

langsmith:179

From: Yukihiro Matsumoto <matz ruby-lang.org>
Date: Tue, 12 Apr 2005 14:03:55 +0900
Subject: [langsmith:179] Re: 自作言語とパーサー

まつもと ゆきひろです

In message "Re: [langsmith:176] 自作言語とパーサー"
    on Tue, 12 Apr 2005 10:28:55 +0900, "machida,tatsuhiko" <t.machida.unicom jcom.home.ne.jp> writes:
| 自作の言語をつくる場合、再帰下降構文解析でハンドメイドパーサーと、
| Yaccなのでパーサジェネレーターのどちらをお使いになりますか?

普通の文法であればジェネレータを使うほうがよいと思います。ハ
ンドメイドのパーサーはメンテナンスが大変です。ただ、文法がS
式やXMLのようなシンプルなものだったり、ジェネレータでカバー
できない変則的な文法であれば手書きもありえるとおもいます。

って、川合さんと同じ結論ですね。

| また、文法の定義と、VMの定義と、どちらを優先されますか?

私は文法優先です。言語ユーザにとって文法はすべてです。VMの定
義は実装者の都合であり、あまり優先してはいけないものだと思い
ます。それに自分の言語を作ろうってのは、ただ単に「実装してみ
たいから」という根源的な欲求を除けば、「この文法でいかに使い
やすくなるか」ということを実現したいからこそではないかと思い
ますから。

| パーサー&VMだと、こねくり回すには巨大すぎると感じるので、
| どこから手をつけてよいのやら悩みます。

yaccなどで簡単なパーサーを作ることからはじめるのが良いのでは
ないでしょうか。最初は文法チェッカー、次に構文木の生成と進め
ばよいと思います。ただし、自分の興味の方向(どうしてもVMを作
りたい、とか)に寄って優先順位は変わるしょうが。

                                まつもと ゆきひろ /:|)

--
ML: langsmith quickml.atdot.net
使い方: http://www.atdot.net/~ko1/quickml

[前][次][番号順一覧][スレッド一覧][生データ]

       174 2005-04-11 15:58 [t.machida.unicom jco] langsmithへの参加願います。             
       175 2005-04-11 22:50 ┗[matz ruby-lang.org  ]                                       
       176 2005-04-12 10:28  ┗[t.machida.unicom jco] 自作言語とパーサー                  
       177 2005-04-12 11:08   ┣[shiro lava.net      ]                                   
       178 2005-04-12 11:54   ┃┗[t.machida.unicom jco]                                 
       180 2005-04-12 16:20   ┃ ┗[shiro lava.net      ]                               
       182 2005-04-12 18:07   ┃  ┗[t.machida.unicom jco]                             
       186 2005-04-12 20:08   ┃   ┗[shiro lava.net      ]                           
->     179 2005-04-12 14:03   ┗[matz ruby-lang.org  ]                                   
       181 2005-04-12 17:45    ┗[t.machida.unicom jco]                                 
       183 2005-04-12 18:12     ┣[matz ruby-lang.org  ]                               
       188 2005-04-12 23:55     ┃┗[maeda-langsmith atus]                             
       185 2005-04-12 18:34     ┗[kmori lsi-j.co.jp   ]                               
       187 2005-04-12 20:12      ┣[shiro lava.net      ]                             
       189 2005-04-13 10:02      ┗[t.machida.unicom jco]                             
       191 2005-04-13 13:45       ┗[kmori lsi-j.co.jp   ]                           
       192 2005-04-13 14:19        ┗[t.machida.unicom jco]