摘要: 一、前言 通过前面三篇文章已经初步实现了将Lua源代码文件读取解析成语法树,现在就可以通过得到的语法树进行指定规则的代码扫描检查。下图简单列举了一下单个Lua文件内部的语法关系情况(注意并非真正的类图,也没有列举完全部的节点类型)。 二、变量作用域 1 function main() 2 local 阅读全文
posted @ 2021-08-14 09:00 爆走de萝卜 阅读(549) 评论(0) 推荐(0) 编辑
摘要: 一、语法分析 通过将词法分析获取的Token流按照目标语言的语法进行解析的过程,例如解析函数声明、函数调用、变量声明、各种语句等。 二、Lua语法分析 在写语法分析程序前,先需要了解Lua的语句和语法,然后进行逐个解析。 下面简单列举一下Lua的语句: 1. 函数定义 1 -- 普通的函数声明 2 阅读全文
posted @ 2021-08-14 08:59 爆走de萝卜 阅读(411) 评论(0) 推荐(0) 编辑
摘要: 一、词法分析 词法分析(英语:lexical analysis)是计算机科学中将字符序列转换为单词(Token)序列的过程。进行词法分析的程序或者函数叫作词法分析器(Lexical analyzer,简称Lexer),也叫扫描器(Scanner)。词法分析器一般以函数的形式存在,供语法分析器调用。 阅读全文
posted @ 2021-08-14 08:58 爆走de萝卜 阅读(515) 评论(0) 推荐(0) 编辑
摘要: 一、静态代码分析 静态代码分析是一种通过检查代码而不是执行程序来发现源代码中错误的手段。通常可以帮助我们发现常见的编码错误,例如: 语法错误 违反制定的标准编码 未定义的变量 安全性问题 静态代码分析可以通过评估编写的代码来提高代码质量;可以稳定的运行且可以轻松自动化;增加了在源代码中发现漏洞的可能 阅读全文
posted @ 2021-08-14 08:56 爆走de萝卜 阅读(1294) 评论(0) 推荐(0) 编辑