langsmith:177
From: Shiro Kawai <shiro lava.net>
Date: Mon, 11 Apr 2005 16:08:37 -1000 (HST)
Subject: [langsmith:177] Re: 自作言語とパーサー
From: "machida,tatsuhiko" <t.machida.unicom jcom.home.ne.jp> Subject: [langsmith:176] 自作言語とパーサー Date: Tue, 12 Apr 2005 10:28:55 +0900 > 自作の言語をつくる場合、再帰下降構文解析でハンドメイドパーサーと、 > Yaccなのでパーサジェネレーターのどちらをお使いになりますか? 私の場合、Lisp系に近い簡単な文法ならハンドメイド、そうでなければ パーザジェネレータです。 > また、文法の定義と、VMの定義と、どちらを優先されますか? > > パーサー&VMだと、こねくり回すには巨大すぎると感じるので、 > どこから手をつけてよいのやら悩みます。 まず最初にパーズ後の中間表現を外部に出力したり、それを手で編集して 読み込めるようにする部分を作ります。 あとは問題によって、開発になるべく楽ができそうな部分から手をつけますが、 テスト用ソースが外部に既にある場合 (例えば既存の言語とコンパチな処理系を 作るとか) はパーザを先に作るとテストを食わせやすいのでパーザから、 一方、自分で文法から決められる場合は、解くべき問題の全体像をより深く理解 してから文法を悩んだ方が良いので、先にバックエンドから手をつけると思います。 (後者のようなケースの場合、S式を喰わせることにしてしまえばパーザは 不要なんですが、要件によってはS式を見せない方がよい場合もあるので) --shiro -- 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]