I. Overview


Input:

Output:

Untitled

<aside> 💡 三种设计方法

  1. 词法分析器生成器 (e.g. ANTLR)

    $\tt spec. ⇒ ANTLR ⇒ lexer$

  2. 手写词法分析器

  3. 自动化词法分析器

    Write an ANTLR-like generator on your own

GCC 仍旧使用手写词法分析器,效率更高,且复杂度可控

</aside>

II. ANTLR


antlr4/index.md at master · antlr/antlr4

I/O

Grammar

antlr4/lexicon.md at master · antlr/antlr4

antlr4/grammars.md at master · antlr/antlr4

<aside> 💡 ANTLR v4 中两大冲突解决规则

III. 词法单元的归约 Regular Expression