0

新しいアーキテクチャ用のコンパイラを作りたいです。それがどれほど大きな仕事かはわかりません。私の知る限り、Flex / Bisonの種類のツールは、コンパイルのいくつかのステップを自由に実行できます。

私の目標は、コンパイラのコード生成パスでインターセプトすることです。それで、私の仕事に使用できる無料のツールはありますか?ほとんどのコンパイラには、さまざまなコンパイルパスがすべて組み込まれています。

LLVMについてはよくわかりませんが、すべての異なるステップが分離されている、基本的な小さな単純なコンパイラが必要です。おそらくAST部分からコード生成部分まで操作します。

私が使用できるツールについて何かアイデアがあれば、提案してください。

4

2 に答える 2

1

関心のある言語を指定する必要はありませんが、単純なCコンパイラーを使用する場合は、 tccまたはlccを確認することをお勧めします。

于 2012-12-18T02:53:23.753 に答える
0

flex /bisonから始めて新しいマシン用のC++コンパイラを作成することは確かに可能ですが、それは多くの作業になります。コンパイラには、flexやbisonでカバーされていないセマンティクス分析コードがたくさんあります。

もう1つの選択肢は、gccを新しいマシンに再ターゲットすることです。しかし、gccはちょっと大きいので、それを変更する方法を学ぶには多くの研究が必要になります。gccの利点は、リターゲティングが完了した後にc / c ++/javaサポートを取得できることです。

lccコンパイラを新しいマシンにリターゲットする方法を説明している本があるので、lccの@ChrisTodd提案は良いと思います。lccを再ターゲットした後は、Cプログラムのみをコンパイルできます。

于 2012-12-20T02:25:40.777 に答える