私が出席していたreactJsセッション中に、プレゼンターはコード変換/移植の発生に用語トランスパイラーを使用しました。言語コードをコンピューターシステム/マシン上で実行可能な形式に変換する場合、コンパイラーとインタープリターという用語を常に使用し、聞いてきました。 Transpilerは私にとってまったく新しいものです。トランスパイラーがコンパイラーやインタープリターとどのように違うのか、なぜそれが本当に必要なのかを誰かが理解するのを手伝ってくれますか?
この Wiki記事 で述べられているように、これは、あるプログラミング言語から別のプログラミングにソースコードを変換するコンパイラーの一種です言語。ソースコードは、使用されなくなった言語であるか、最新のハードウェア/ソフトウェアの進歩をサポートしていないか、プログラマーの利便性/好意によります。
VB6からVB.NETへのコンバーターは、トランスパイラーと考えることができます。 COBOL to C#/ C++/Javaツールをトランスパイラーと考えるかもしれません。
コンパイラ-コードをより低いレベルのコードにコンパイルします。
例:
"Developer code"
-> "Machine code"
PHP
-> C
Java
-> bytecode
Transpiler-コードを同じレベルのコード/抽象化にコンパイルします。
例:
"Developer code"
-> "Another developer code or version"
JavaScript ES2015+
-> JavaScript ES5
インタープリター-上記の2つと同じクラス/リーグ/コンテキストではないコードを解釈します。
例:php.exe
index.php
"->" html
への結果、または純粋なindex.html
"CoffeeScriptやTypeScriptなどのJSプリプロセッサを使用してコードをプレーンJavaScriptに変換する場合、「トランスパイリング」と呼ばれます。しかし、それは本当にJS専用のものではありません。あらゆる種類のプログラミング言語に適用されます。ほとんどの場合、単にコンパイルと呼ばれます。
Transpilingは、ある言語で記述されたソースコードを取得し、類似レベルを持つ別の言語に変換するための特定の用語です抽象化の。
https://www.stevefenton.co.uk/2012/11/compiling-vs-transpiling/
あなたの場合:
もう一つの例:
それらを「ソースからソースへ プログラム変換システム 」と呼びました。
その用語は、約45年間、AFAICTで問題なく機能しました。アイデアはそのはるか以前に遡ります。このアイデアの1963バージョンについては、Val Schorreの Meta II Compiler-compiler work を参照してください。
これで新しい用語ができました。数年前に見始めました。何も追加しませんが、神秘的でクールに聞こえます。これが司祭の価値を確立する方法です。古いアイデアの新しい語彙を生み出します。
ソースからソースへのコンパイラーは、ほぼ同じレベルの抽象化で動作するプログラミング言語間で変換しますが、従来のコンパイラーは、高レベルのプログラミング言語から低レベルのプログラミング言語に変換します。
ソース: Wikipedia
定義によりtranspilerはtranslatorの特別な形式です。
コンパイラは、高レベルのソースコードを低レベルの抽象化のコードに変換します。通常、必ずというわけではありませんが、コンパイルの目標はマシンコードです。つまり、CPUによって直接実行できるコード。コンパイラは、マシンコードのシミュレーションであるbytecodeを生成することもできますが、仮想マシン(Java bytecode and Java VM)。compilerという用語は、コードを、マシン実行可能コードではない別のプログラミング言語に変換するaに適用できます。
翻訳者ソースコードをあるプログラミング言語から別のプログラミング言語に変換します同じまたは異なる抽象化レベル。ソースコードもマシンコードである場合、結果はマシンコードになる可能性があることに注意してください。
Traspilerは翻訳者に非常に似ていますが、具体的には同じ抽象化レベルのプログラミング言語間でソースコードを変換します。プログラミング言語は異なっており、抽象化されているものが多いことに注意してください。抽象化としてサポートするさまざまな概念に適用されるため、特に抽象化のレベルが異なります。そのため、変換(翻訳)は、多くの場合、同じレベルの抽象化ではなく、類似の間にあります。
コンパイラ-人間の理解言語を機械理解言語に変換するための、人間とコンピューターの間のインターフェースとして機能します。
コンパイラの種類