**プログラムの実行中に翻訳がコンパイル段階に続くかどうか**プログラムを実行するとどうなるか?これらが異なる場合、解釈前に構文チェックを実行するもの。 Pythonを読んで、解釈された言語であり、次に何によって行われたステートメントをチェックしていますか?コンパイラとインタプリタの関係
答えて
あなたは2つのオプションがあります。コンパイル言語で
- コンパイル言語
- インタプリタ言語
を、あなたは、入力として、ソースコードを取得し、バイナリを生成するコンパイラが必要特定のターゲットプラットフォーム上で実行できる出力として。たとえば、C、C++、またはJavaはコンパイルされた言語です。コンパイラがバイナリを生成した後は、バイナリをターゲットプラットフォーム上で実行します。 バイナリを生成するコンパイルプロセスに含まれる主なステップは、字句解析、構文解析、意味解析、コード生成です。
コンパイラは、ネイティブプラットフォーム上で実行され、特定のターゲットプラットフォーム用のコードを生成するプログラム(バイナリ)です。
* target_platform == native_platform (native-compiler)
* target_platform != native_platform (cross-compiler).
あなたはx86_64版のデスクトップPCを持っている場合は、あなたのコンパイラはx86_64版上で動作するとx86_64上で動作するコードを生成し、あなたのネイティブコンパイラを持っている:あなたは2つのオプションがあります。この場合、コンパイラはネイティブマシンコードを生成します。
x86_64デスクトップPCをお持ちの場合、コンパイラはx86_64で動作し、異なるプラットフォーム(JVMなど)で動作するコードを生成しますが、クロスコンパイラがあります。 Java言語は入力としてJava言語を取得するクロスコンパイラを使用し、JVM(x86_64マシンではない)上で実行されるバイトコードを出力として生成することを理解する必要があります。
arm-linux-gcc、mips-linux-gcc、ppc-linux-gccなどの他のクロスコンパイラは、Cソースコードを入力として取得し、適切なターゲットプラットフォーム(ARM、 MIPS、PPC)。
翻訳言語では、コードを生成するためにコンパイラを必要としないため、処理の最後にバイナリは生成されません。 bashとpythonは翻訳された言語です。言語のインタープリター(/ bin/bashや/ usr/bin/pythonなどのPCにインストールされているバイナリ)は入力ソースコードを受け取り、解釈して実行して出力を生成します。インタプリタがコードを生成せず、解析した後に実行する以外は、ソースコードを解釈するための手順はまったく同じです。
私はPythonを使ってカスタム定義言語のインタプリタを書く方法を説明した記事を書いています。この記事はスペイン語で書かれていますが、プロセス全体が段階的に説明されていますので、興味があれば多くのことを学ぶことができます。記事の最後には、ダウンロードしてテストするためのソースコードがあります。ソースコードはgithubで入手できます。この記事は現在利用可能ですlink
希望すると助かります! :)
- 1. アセンブラ、インタプリタ、コンパイラの画像?
- 2. GCCとPythonインタプリタとは何が関係していますか?
- 3. googles GOLANGはインタプリタかコンパイラですか?
- 4. 現在のOSとアーキテクチャ用のBCPLコンパイラ/インタプリタ?
- 5. コンパイラ/インタプリタからメタルに出す命令言語のインプリメンテーションとの距離
- 6. codecademyのようなウェブサイトにコンパイラとインタプリタを埋め込む方法は?
- 7. カスタム関係名とのHABTM関係
- 8. Laravelピボットテーブルとの関係、関係
- 9. 一般に、コンパイラ/インタプリタは解釈中に関数を作成することをお勧めしますか?
- 10. どちらが良いですか、コンパイラかインタプリタですか?
- 11. Mavenで依存関係、プラグインの依存関係、コンパイラなどをすべてダウンロードしますか?
- 12. スコープに関するモノラルC#コンパイラとMS C#コンパイラの違い
- 13. xtextライティングとインタプリタ
- 14. Linuxシリアルポートリスナーとインタプリタ?
- 15. Coredataとの関係
- 16. TWIGとの関係
- 17. ピボットテーブルとの関係
- 18. データリストとの関係
- 19. Hibernateとの関係
- 20. 関係とキー?
- 21. 関係とMVC3
- 22. 関係プロローグ内の関係
- 23. addGlobalScope withCount関係の関係
- 24. 参照関係の関係
- 25. EXTJSとJSONとの関係
- 26. log4jとapache.commons.loggingとの関係
- 27. Prestoとリレーショナルデータベースとの関係
- 28. custinvoiceTransとGeneralJournalAccountEntryとの関係
- 29. ejs.coとembeddedjs.comとの関係
- 30. FHIRとopenEHRとの関係
このバイナリはどういう意味ですか?それはバイトコードなのですか?通訳者は誰が構文をチェックしますか?間違った構文を書いた場合、正しいエラーが表示されますか? – user104853
リンクが動作していません – user104853
リンクをもう一度確認してください。私は私の答えを編集してより多くの情報を追加しました。それがあなたを助けることを願って! – aicastell