2

LLVM IR コード (できればアセンブリ形式) を、後で処理するために使用できる内部 Haskell データ型に解析する方法を探しています。これを行うためのHaskellパッケージがいくつかあると思いますが、見つけられないようです。

助言がありますか?

4

3 に答える 3

2

Haskell の最新の LLVM パッケージはllvm-general ライブラリです。LLVM バイトコード モジュールを文字列から AST 用の Haskell ADT に変換するバインディングがあります。

参照: withModuleFromString

import LLVM.General
import LLVM.General.Analysis
import LLVM.General.Context
import Control.Monad.Error

main :: String -> IO ()
main src = do
  _ <- withContext $ \context -> do
    runErrorT $ withModuleFromString context src $ \mod -> do
      ast <- moduleAST mod
      -- Your logic here.
  return ()
于 2013-11-01T03:37:59.907 に答える