lua语法分析原理介绍

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语句可以有

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值