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]