言語処理系
言語処理系とは、プログラミング言語で記述されたプログラムを計算機上で実 行するためのソフトウエアである。
インタープリタ
コンパイラ
AOTコンパイラ
JITコンパイラ
言語処理系の基本的な処理
字句解析(lexical analysis)
構文解析(syntax analysis)
意味解析(semantics analysis)
↓
中間表現(IR)
↓
最適化(code optimization)
コード生成(code generation)
LLVMのようなコンパイラ基盤だとフロントエンド、バックエンドと分かれる
フロントエンド
フロントエンドはソース言語から中間表現(IR)を生成する
バックエンド
中間表現を介して、対象のアーキテクチャに最適化された機械語を生成する
フロントエンド
字句解析器(Lexer)
構文解析器(Parser)
Desugar
Type
バックエンド
最適化(Optimization)
コード生成(Code gen)
ターゲットコード生成
確認用
Q. 言語処理系
関連
lex
yacc
参考
プログラミング言語処理
スタックマシン - プログラミング言語処理
コンパイルターゲット言語としてのWebAssembly、そしてLINEでの実践
The Architecture of Open Source Applications: LLVM
#コンパイラ