次のような単純なC
プログラムの場合:
#include<stdio.h>
int main(){
int first,second,sum;
first = 10;
second = 20;
sum = first + second;
printf("%d\n",sum);
}
Lexcial Analysisであるコンパイラの最初のフェーズの後の出力はどうなりますか?
次のような単純なC
プログラムの場合:
#include<stdio.h>
int main(){
int first,second,sum;
first = 10;
second = 20;
sum = first + second;
printf("%d\n",sum);
}
Lexcial Analysisであるコンパイラの最初のフェーズの後の出力はどうなりますか?
字句解析により、トークンのストリームが生成されます。今のところプリプロセッサを無視すると、出力は次のようになります
KEYWORD int
IDENTIFIER main
LPAREN
RPAREN
LBRACE
KEYWORD int
IDENTIFIER first
COMMA
...
明らかに、実際の出力はコンパイラに依存します。
出力はありません。最初のフェーズは字句解析かもしれませんが、それは、次のステージへの入力を形成する出力を伴う完全に別個のパスであるという意味ではありません。パーサーは、関数呼び出しを介して語彙アナライザーを呼び出します。