Solidity
如何將solidity AST編譯為二進制程式碼?
我想做一些solidity原始碼的自動轉換。出於這個原因,我想使用
solc --ast
or來獲取它的 AST 表示solc --ast-json
並對其進行修改。我的問題是:
- 修改 AST 的最佳方法是什麼?我應該使用文本還是 json 表示?
- 如何將修改後的 AST 編譯為二進制程式碼?我是否必須將 AST 轉換回原始碼,如果是,該怎麼做?
- 是否有任何現有工具可以提供此類所需功能?
您可以使用此工具修改 AST 並從 AST 生成新的原始碼:
修改 AST 應該是最難的部分。有一個預先存在的工具(XevXml),看起來它可能會為您將 AST 轉換為 XML,然後您可以對其進行修改。
要將修改後的 AST 轉換回二進製文件,理論上可以使用Rose Compiler。但是 Rose Compiler 對使用者不友好。我正試圖讓它現在工作,有很多路障。祝你好運。