南京大学静态软件分析(static program analyzes)中,如何深入理解Intermediate Representation?

2026-04-18 06:280阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计2235个文字,预计阅读时间需要9分钟。

南京大学静态软件分析(static program analyzes)中,如何深入理解Intermediate Representation?

南大+静态软件分析(static program analyzes)—中间表示学习笔记—一、编译器与静态分析器—编译器将源代码(Source code)转换为机器代码(Machine Code)。其中流程框架为编译器+静态分析器+源代码+中间表示+机器代码。

南京大学 静态软件分析(static program analyzes)-- Intermediate Representation 学习笔记 一、Compilers and Static Analyzers

编译器将源代码(Source code) 转换为机器代码(Machine Code)。其中的流程框架是:

  • 词法分析器(Scanner):通过词法分析(Lexical Analysis)将 source code 翻译为 token
    • 分词(结合正则表达式)
    • 判断词是否合法(是否符合编码规范)
  • 语法分析器(Parser):通过语法分析(Syntax Analysis),将 token 解析为抽象语法树(Abstract Syntax Tree, AST)
    • 结合上下文无关文法(Context-Free Grammar)进行分析,无关分析已经足够,不需要NLP处理上下文。例子:主谓宾都包含,但顺序不一定对。
阅读全文

本文共计2235个文字,预计阅读时间需要9分钟。

南京大学静态软件分析(static program analyzes)中,如何深入理解Intermediate Representation?

南大+静态软件分析(static program analyzes)—中间表示学习笔记—一、编译器与静态分析器—编译器将源代码(Source code)转换为机器代码(Machine Code)。其中流程框架为编译器+静态分析器+源代码+中间表示+机器代码。

南京大学 静态软件分析(static program analyzes)-- Intermediate Representation 学习笔记 一、Compilers and Static Analyzers

编译器将源代码(Source code) 转换为机器代码(Machine Code)。其中的流程框架是:

  • 词法分析器(Scanner):通过词法分析(Lexical Analysis)将 source code 翻译为 token
    • 分词(结合正则表达式)
    • 判断词是否合法(是否符合编码规范)
  • 语法分析器(Parser):通过语法分析(Syntax Analysis),将 token 解析为抽象语法树(Abstract Syntax Tree, AST)
    • 结合上下文无关文法(Context-Free Grammar)进行分析,无关分析已经足够,不需要NLP处理上下文。例子:主谓宾都包含,但顺序不一定对。
阅读全文