YACC(Yet Another Compiler-Compiler) 20世纪70年代Johnson等人在美国Bell实验室研发的一个基于LALR(1)的语法分析程序的构造工具,在UNIX系统下使用。很多高级语言用来开发前端。 最初的 YACC 称为 ATT YACC ,后来出现了Berkeley大学的BYACC和 GNU 的 Bison ,以及Java CUP 等。YACC 现在是一个标准化工具,在 IEEE Posix standard P1003.2中定义。 可以处理某些二义性文法的规则 YACC YACC 一个yacc源程序一般包括三部分:说明部分%%语法规则部分%%程序段部分: 说明部分 %% 语法规则部分 %% 辅助函数段部分 说明部分 定义语法规则中要用的终结符号,语义动作中使用的数据类型、变量、语义值的联合类型以及语法规则中运算符的优先级等。 %{头文件表 宏定义 数据类型定义 全局变量定义 %} 文法开始符定义 : %start 终结符定义: %token 语义值类型定义: 可先将将语义值的类型定义为一个联合(Union) %token 类型名 符号名 %type 类型名 符号名 如果没有对语义值的类型做定义,那么yacc认为它是整型
您可能关注的文档
- 编程20题精选.doc
- 编译4语法分析—自上而下分析_zss_精选.ppt
- 编译程序概论精选.ppt
- 编译原理(第5章)精选.ppt
- 编译原理_练习参考精选.ppt
- 编译原理5自底向上的语法分析精选.ppt
- 编译原理大作业设计精选.doc
- 编译原理第8章精选.ppt
- 编译原理-方法分类精选.doc
- 编译原理期末练习题汇总精选.doc
- CN118228103B 基于网络模式和元路径的双视图范式的异构图神经网络节点分类方法 (华南理工大学).docx
- CN118207835B 一种联合火箭锚与植桩技术的堤防决口快速封堵方法 (大连理工大学).docx
- CN118211675B 基于机器学习消除冗余约束的机组组合加速寻优方法及系统 (中国电力科学研究院有限公司).docx
- CN118297473B 电力系统电压安全评估及优化方法、系统、设备和介质 (国网经济技术研究院有限公司).docx
- CN117997906B 节点计算资源分配方法、网络交换子系统及智能计算平台 (广东琴智科技研究院有限公司).docx
- CN118298536B 一种基于智慧社区监控系统的门禁授权认证方法及系统 (广州市西迈信息科技有限公司).docx
- CN118225438B 大功率霍尔推进器在轨健康状态监测方法 (哈尔滨工业大学).docx
- CN118052938B 一种基于多源数据融合的建筑物多细节层次模型重建方法 (北京市测绘设计研究院).docx
- CN117964706B 一种十五元环缩肽类化合物及其制备方法与应用 (广西中医药大学).docx
- CN118081766B 一种面向协调类任务的双臂机器人主从统一导纳控制方法 (南京航空航天大学).docx
原创力文档

文档评论(0)