词法分析
这一章,简而言之就是如何实现词法分析器,完成以下的流程
如何实现?词法单元如下,我们要将字符流提取出词素
以下面这个举例:我们要从下面的字符流中提取出 常量,变量,预保留字,如何扫描一次就能区分?
return ( initial <= 10 ) ? 100 : ( position + initial ** 2 ) ;
为了能够更容易的区分,变量的定义要以下划线或字符开始,只能由字符,数字,下划线组成。这就是为什么我们在写程序的时候,变量要这么定义,目的是为了编译!
下面是解析的举例过程
当forward指向( 时,什么都不符合了。从Ps 至 (forword - 1)的串, 为一个保留字。保留字优先变量。
我们可以得到一个结论,常量和变量很容易提取出来,保留字的提取就要根据特定的正则表达式了。return符合特定的保留字正则表达式,所以被认为保留字提取了出来。我想之后的也能被提取。
之后会更新