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

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]