Skip to content

📖 编译原理

书籍信息

Ch3. Lexical Analysis

!!! "生词表"

| 单词 | 释义 |
| ---- | ---- |
| lexeme | 词素,组成 token |

Abstract

  • 正则表达式
  • 如何将正则表达式转换为有限自动机
  • 词法分析器将运行有限自动机

可以自己写词法分析器,也可以将词法规则输入词法分析器生成器(lexical analyzer generator),生成词法分析器。本书使用 Flex 作为词法分析器生成器。

3.5 Flex

Flex 编译器将 Flex 语言描述的词法规则转换为 C 语言代码,模拟转换图。

graph TD
A[lex.l] -->|Flex 编译器| B[lex.yy.c]
B -->|C 编译器| C[a.out]
D[输入流] --> C
C --> E[Token 序列]

Flex 语法:

声明
%%
翻译规则 PATTERN { ACTION }
%%
辅助函数