lua语法分原理介绍
******目录
一、内部实现
(a)语法分析介绍
(b)简单产生式举例
(c)lua中实现
(d)statement举例
(e)编译成字节码
二、可优化方向
(a)continue实现
(b)预编译宏实现
(c)加密方法
一、内部实现
(a)语法分析介绍
**注---关于语法分析我们仅针对关键词进行概述,这里不做深度解释,如果有兴趣的话可以去研究编译原理
产生式 ---可以解释为语法分析对应表,扫描过得语句如果与产生式相同,就做分析
lookahead ---向前看字符,表示分析器当前被扫描的终结符号,用来与产生式中的符号做匹配
基本规则 -----lookahead和产生式依次做对比,然后按照对比成功的产生式进行编码操作(这里编码成lua的编码指令)
FIRST(a) -----表示可以产生a的所有字符串的第一个字符的集合
(b)简单产生式距离
stmt -> expr;
| if (expr) stmt
| for (optexpr;optexpr;optexpr) stmt
| other
optexpr -> nil
| expr
其中stmt表示语句,expr表示表达式
从上述描述来看stmt语句可以有