语法分析阶段可以分成以下三个阶段:
- 词法分析:将源代码分割成不可分割的单词。
- 语法分析:将提取出来的单词连接成单词序列,并根据编程语言规则验证其顺序是否合理。
- 语义分析:目的是发现符合语法规则的语句是否有实际意义。
归纳起来,语言分析阶段编译器最主要完成检查处理过程中遇到的拼写错误或者其他错误。
代码实例:
//This is demo1.cpp
#include <iostream>
using namespace std;
int main(int argc,char ** argv)
{
int a = 1,b = "p";
cout << a << b << endl;
}
//在C ++中,int main()可以不带返回值,此时默认返回0
执行以下命令:
D:\software\项目\Code>g++ -c demo1.cpp
编译后的结果:
没有输出.o文件表明 编译失败,即中断。这里也有失败的提示
结果解释:
代码的结构没有问题,但是定义b的类型是int类型的,亦即数字型的,必须给b一个整数,但是给了一个字符串,语法分析检查出这个错误,编译过程停止。