ソースコードからバイトコードへの変換
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/07/01 20:16 UTC 版)
「バイトコード」の記事における「ソースコードからバイトコードへの変換」の解説
ALGOL以来、多くのプログラミング言語は文脈自由文法で記述でき、スタックマシンと類似したプッシュダウン・オートマトンで構文解析できる。このため、スタックマシン向けのコード生成器ならば、構文解析器と一体化させて省メモリ・高速なものにできる。 レジスタマシン向けの場合、有限のレジスタを使い回すレジスタ割り付けを行う必要がある。ただし、インタプリタの仮想レジスタはメモリ配列で実装されている場合が多い。このため、メモリ配列の大きさが許す限り、実機では非現実的な膨大な数の仮想レジスタを実装でき、その場合、レジスタの使い回しを省いてレジスタ割り付けを単純化することができる。レジスタ・ウィンドウも僅かなコストでレジスタ1本単位でスライドさせる柔軟なものが実装でき、スタックマシン向けと同様に構文解析器とコード生成器の一体化に役立つ。
※この「ソースコードからバイトコードへの変換」の解説は、「バイトコード」の解説の一部です。
「ソースコードからバイトコードへの変換」を含む「バイトコード」の記事については、「バイトコード」の概要を参照ください。
- ソースコードからバイトコードへの変換のページへのリンク