From haskell-jp=return@quickml.com Thu Feb 17 13:28:02 2005 Received: from kankan.nagaokaut.ac.jp (kankan.nagaokaut.ac.jp [133.44.2.24]) by blade.nagaokaut.ac.jp (8.12.3/8.12.3/Debian-6.6) with ESMTP id j1H4S1gZ009513; Thu, 17 Feb 2005 13:28:01 +0900 Received: from funfun.nagaokaut.ac.jp (funfun.nagaokaut.ac.jp [133.44.2.201]) by kankan.nagaokaut.ac.jp (Postfix) with ESMTP id 17D8B59BE; Thu, 17 Feb 2005 13:28:03 +0900 (JST) Received: from localhost (localhost.nagaokaut.ac.jp [127.0.0.1]) by funfun.nagaokaut.ac.jp (Postfix) with ESMTP id 6BB87F04842; Thu, 17 Feb 2005 13:28:03 +0900 (JST) Received: from voscc.nagaokaut.ac.jp (voscc.nagaokaut.ac.jp [133.44.1.100]) by funfun.nagaokaut.ac.jp (Postfix) with ESMTP id 64C35F04878; Thu, 17 Feb 2005 13:28:02 +0900 (JST) Received: from master.quickml.com (219-106-226-205.cust.bit-drive.ne.jp [219.106.226.205]) by voscc.nagaokaut.ac.jp (Postfix) with ESMTP id 57BFB630032; Thu, 17 Feb 2005 13:28:03 +0900 (JST) Received: from master.quickml.com (localhost [127.0.0.1]) by master.quickml.com (Postfix) with ESMTP id 001EE1F311B; Thu, 17 Feb 2005 13:28:00 +0900 (JST) Received: from master.quickml.com (localhost [127.0.0.1]) by localhost (QuickML) with ESMTP; Thu, 17 Feb 2005 13:28:00 +0900 Received: from fm4.freemail.ne.jp (unknown [219.100.31.227]) by master.quickml.com (Postfix) with ESMTP id BD8861F311B for ; Thu, 17 Feb 2005 13:28:00 +0900 (JST) Received: from shelarcy-f9b8a0 (ntchba058197.chba.nt.ftth.ppp.infoweb.ne.jp [220.145.84.197]) by fm4.freemail.ne.jp (Postfix) with ESMTP id 1C5873ECB72 for ; Thu, 17 Feb 2005 13:27:57 +0900 (JST) Date: Thu, 17 Feb 2005 13:28:21 +0900 To: haskell-jp@quickml.com References: <20050215130249.kamail.aW1haS50YWtlbw==@interdesigntech.co.jp> From: shelarcy Content-Type: text/plain; format=flowed; delsp=yes; charset=iso-2022-jp MIME-Version: 1.0 Message-ID: In-Reply-To: <20050215130249.kamail.aW1haS50YWtlbw==@interdesigntech.co.jp> User-Agent: Opera M2/7.53 (Win32, build 3862) Subject: [haskell-jp:561] Re: yacc/lex for Haskell Reply-To: haskell-jp@quickml.com X-Mail-Count: 561 Precedence: bulk X-ML-Address: haskell-jp@quickml.com X-ML-Name: haskell-jp X-ML-Info: http://QuickML.com/ X-QuickML: true X-Virus-Scanned: by AMaViS snapshot-20020531 Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by blade.nagaokaut.ac.jp id j1H4S1gZ009513 こんにちは、shelarcy@スランプ です。 On Tue, 15 Feb 2005 13:02:47 +0900, IMAI Takeo wrote: > とある言語処理系のプロトタイプをHaskellで書いてみようかと思ったのです > が、yacc/lex に相当するHaskell用ツールというのは、どんなものがあるので > しょう? > OCamlだと ocamlyaccだのocamllexだのが一緒にくっついてきたりするのですが > Haskellにはないのでしょうか? > > さっとウェブを見たところ、Happy というツール > (http://www.haskell.org/happy/) > が引っかかりましたが、他にあったりするのでしょうか。 Alex (http://www.haskell.org/alex/) とか、最近 Haskell-Cafe の方にでてきた BNF Converter (http://www.cs.chalmers.se/~markus/BNFC/) とか。 GHC に標準でついている Parsec や自分でパーサー書いて使ってもいいだろうけ ど、 普通プロトタイピングではそういうことしませんよね。 (ただし実験的な言語を作るのではなく仕様が既に定まっている言語を作る場合は (さらに言えば形式記述で表現しにくい言語を作る場合は) yacc/lex などを使わな い方がいいと Stroustrup が言ってますが。) -- shelarcy http://page.freett.com/shelarcy/