crafting interpreters 介绍




compiler-compiler

a tool that takes in a grammar file and produces a source file for a compiler
yacc
bison
lex/flex
Lex是lexical compiler的缩写,是Unix环境下非常著名的工具, 
Lex (最早是埃里克·施密特和 Mike Lesk 制作)是许多 UNIX 系统的标准词法分析器(lexical analyzer)产生程式,而且这个工具所作的行为被详列为 POSIX 标准的一部分。

Lex的基本工作原理为:由正则表达式生成NFA,将NFA变换成DFA,DFA经化简后,模拟生成词法分析器。

Lex 主要功能是生成一个词法分析器(scanner)的 C 源码,描述规则采用正则表达式(regular expression)。
描述词法分析器的文件 *.l 经过lex编译后,生成一个lex.yy.c 的文件,然后由 C 编译器编译生成一个词法分析器。

compiler

llvm
gcc
clang

猜你喜欢

转载自blog.csdn.net/u011011827/article/details/132194042