【编译原理】第二章,词法分析

简介: 【编译原理】第二章,词法分析

词法分析

这一章,简而言之就是如何实现词法分析器,完成以下的流程


如何实现?词法单元如下,我们要将字符流提取出词素

以下面这个举例:我们要从下面的字符流中提取出 常量,变量,预保留字,如何扫描一次就能区分?

return ( initial <= 10 ) ? 100 : ( position + initial ** 2 ) ;

为了能够更容易的区分,变量的定义要以下划线或字符开始,只能由字符,数字,下划线组成。这就是为什么我们在写程序的时候,变量要这么定义,目的是为了编译!


下面是解析的举例过程




当forward指向( 时,什么都不符合了。从Ps 至 (forword - 1)的串, 为一个保留字。保留字优先变量。


我们可以得到一个结论,常量和变量很容易提取出来,保留字的提取就要根据特定的正则表达式了。return符合特定的保留字正则表达式,所以被认为保留字提取了出来。我想之后的也能被提取。


之后会更新


相关文章
|
2月前
|
存储 自然语言处理 前端开发
编译原理 - 语义分析
编译原理 - 语义分析
64 1
|
2月前
|
自然语言处理 算法 前端开发
编译原理 - 词法分析
编译原理 - 词法分析
39 0
|
10月前
|
自然语言处理 C语言
编译原理实验-词法分析
编译原理实验C语言实现
75 0
|
2月前
|
算法 编译器 C语言
编译原理 - 语法分析
编译原理 - 语法分析
63 0
|
2月前
|
存储 自然语言处理 编译器
【编译原理】词法分析:C/C++实现
【编译原理】词法分析:C/C++实现
88 1
|
2月前
|
自然语言处理
【编译原理】词法分析
【编译原理】词法分析
34 0
|
10月前
|
自然语言处理 IDE 开发工具
【编译原理】第三章语法分析
【编译原理】第三章语法分析
|
10月前
|
自然语言处理 网络安全 C语言
|
10月前
|
自然语言处理 Java 编译器
【编译原理】第一章,什么是编译原理?
【编译原理】第一章,什么是编译原理?