编写代码检查规则的神器,解读CodeNavi语法结构

💡 原文中文,约5200字,阅读约需13分钟。
📝

内容提要

本文介绍了代码和检查规则的语法结构,包括代码的基本元素和检查规则的缺陷模式。还介绍了适合编写静态分析规则的语言和CodeNavi工具的语法结构。最后介绍了CodeNavi插件。

🎯

关键要点

  • 程序由空格分隔的字符串组成,称为'token',是源代码的最小语法单位。
  • Token类型包括关键字、标识符、字面量、运算符和分隔符。
  • 词法分析器将源代码分解为token,语法分析器构建抽象语法树(AST)。
  • 检查规则用于查找符合缺陷模式的代码节点。
  • 静态分析工具的规则编写需要理解静态分析理论和工具框架,增加了开发难度。
  • 希望找到更适合编写静态分析规则的语言,以便开发人员专注于检查问题本身。
  • CodeNavi工具的语法结构用于编写代码检查规则。
  • 规则语句以分号结尾,节点为待检测代码节点,查询条件用于筛选节点。
  • 逻辑连接词包括and、or和not,用于组合查询条件。
  • 运算符分为通用运算符、算术运算符、字符串运算符、布尔运算符和节点运算符。
  • CodeNavi插件可在Vscode中安装,便于使用该工具进行静态分析。
➡️

继续阅读