词法分析、语法分析、语义分析

这里就是拿翻译句子来举例子,从英语翻译到汉语,我们需要分析句子的语义,要划分句子的成分

词法分析、语法分析、语义分析_第1张图片

要想进行语义分析就要划分句子成分,比如说划分为人、铁锤、窗户等等

我们要想划分句子当中的各类成分,就要用语法分析来识别出句子中的各类短语,这个过程称之为语法分析

根据词性来识别出句子中的各类短语,这一过程称之为词法分析

其实关于词法分析、语法分析、语义分析我们可以这样理解,就好比我们要翻译一句英文,先要分析单词的词性比如说介词、名词、动词啊,然后再用语法分析进行分析出句子中的各类短语比如说动词短语、介词短语等,最后才能分析句子的语义是什么

词法分析、语法分析、语义分析_第2张图片


词法分析、语法分析、语义分析_第3张图片

在编译器的实现过程中,多个阶段可能会被组合在一起,比如说语义分析的结果通常表现为中间代码的形式,所以语法分析和中间代码生成一般是放在一起实现的


以及可以在语法分析分析句子结构的同时结合语义规则直接进行语义分析,这一技术称为语法制导翻译,在这种情况下语法分析、语义分析、中间代码生成这三个阶段可以放在一起实现

语法制导翻译。基本思想是,根据翻译的需要设置文法符号的属性,以描述语法结构的语义。例如,一个变量的属性有类型,层次,存储地址等。表达式的属性有类型,值等。属性值的计算和产生式相联系。随着语法分析的进行,执行属性值的计算,完成语义分析和翻译的任务。

你可能感兴趣的:(编译)