問題タブ [intermediate-code]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Java用の中間コードジェネレータ
Javaファイルの中間コードを生成するためのツールはありますか?それとも、Javaファイルの生成に役立つリソースはありますか?ありがとうございます。
compiler-construction - スタックベースのバイトコードまたは無限レジスタマシンの利点
コンパイラは、スタックベースまたは無限レジスタのいずれかである中間表現(IR)を選択することがよくあります。これらの式ツリーに対する利点は何ですか?
llvm - LLVM中間表現とは何ですか?
リンクhttp://llvm.org/demo/からLLVMデモを試しました 。これはどのようなIRですか?HIR、MIRまたはLIR?SSA表現は通常MIRで使用されていると思います。それで、それはMIRですか?ただし、依存関係分析のために情報を保存できます。したがって、それはHIRになることができますか?
LLVM IR、.ll、または.bcを実際に表すファイル拡張子はどれですか?
LLVMで使用されるシンボルテーブルを取得するにはどうすればよいですか?
java - ヒープを設定する大きさをどのようにして知ることができますか?
私はJavaを中間言語に変換しようとしており、中間言語がどのように機能するかを理解している最中です。
私は元のJavaコードを持っています:http://cs.ucla.edu/classes/spring11/cs132/cs132/mj/Factorial.java
そして、私は中間コード表現(VAPOR)を持っています:http://cs.ucla.edu/classes/spring11/cs132/kannan/vapor-examples/Factorial.vapor
別のセットは次のとおりです。Javaの場合:http://cs.ucla.edu/classes/spring11/cs132/cs132/mj/BubbleSort.java
VAPORの場合:http://cs.ucla.edu/classes/spring11/cs132/kannan/vapor-examples/BubbleSort.vapor
私の質問は、すべてのVAPORコードにt.0 = HeapAllocZ(x)
(がx
ありますint
)があります。コンバーターがヒープサイズをsizeにする必要があるとどのように判断するのか疑問に思いますx
。ではFactorial.vapor
、に設定されてい4
ます。ではBubbleSort.vapor
、に設定されてい12
ます。
ありがとう!
language-agnostic - バックパッチとはどういう意味ですか?
とはbackpatching
どういう意味ですか? 簡単な例で説明してください。
c - foo() を foo(void) として扱う GCC オプションはありますか?
GNU C を中間コードとして出力する言語のコンパイラを作成しています。(はい、IR を行うためのより良い方法があることは知っていますが、私は怠け者であり、自己ホスト型になるように書き直すつもりです)。
現在、引数なしで関数を作成すると、コンパイラは
これは、望ましい動作と同じではありません:
ただし、GCC で前者を後者として処理するようにしたいと思います (そうでない場合は、コードで特別なケースを作成する必要があります)。
これを行うための GCC のフラグはありますか?
parsing - 自動疑似コードから C 言語へのコンバーター
疑似コードから C 言語へのトランスレーターを作成しようとしています。コンパイラーのどのフェーズが必要ですか? レキシカル、シンタックス、セマンティック、中間コードで十分か、マシンコードが必要かを試しました。上記のフェーズで flex,bison を試しました。それが正しいか?