私は最近、今年初めに Haskell 言語の学習を開始し、Java クラス ファイル (つまり、FileName1.class) を入力し、そのファイルを分析して以下を出力するプロジェクトに取り組んでいます。
- クラスファイルで定義されたクラスの名前
- クラスのメソッドの数、それらの名前と型
私はいくつかの調査を行い、これはJVMを使用することで可能であることがわかりましたが、プロセスで少し迷っています.これに取り組む方法について何か提案はありますか?
パーセクを試してみてください。
http://www.haskell.org/haskellwiki/Parsec
これは、開始方法に関する非常に優れたチュートリアルです: http://www.haskell.org/haskellwiki/Parsing_expressions_and_statements
また、実世界の Haskell から: http://book.realworldhaskell.org/read/using-parsec.html
Parsec には、デフォルトの Java 言語定義も含まれています。 http://hackage.haskell.org/packages/archive/parsec/3.0.0/doc/html/src/Text-Parsec-Language.html#javaStyle
また、AST を検査するときに、Reader モナドを使用して、型シグネチャが汚染されすぎないようにしたい場合があります。