1 解决什么问题
使用Yacc可以构造出一个编译器的前端。
2 简述
- Yacc表示“yet another compiler-compiler”,即“又一个编译器的编译
- 20世纪70年代早期,Yacc最初由AT&T的Steven C. Johnson为Unix操作系统开发。
- Yacc生成的编译器主要是用C语言写成的语法解析器(Parser),需要与词法解析器Lex一起使用,再把两部分产生出来的C程序一并编译。
- yacc的输入是巴科斯范式(BNF)表达的语法规则以及语法规约的处理代码,输出的是基于表驱动的编译器,包含输入的语法规约的处理代码部分。