大家好,欢迎来到IT知识分享网。
从软件工程角度看,词法分析和语法分析的分离有如下好处
- 简化设计
- 编译器的效率会改进(词法分析器主要处理字符流)
- 编译器的可移植性加强(例如:向上的箭头,不同的分析器可以用不同的字符,这个只涉及到词法,降低了耦合性)
- 便于编译器前端的模块划分
语法分析器对编译器的错误处理做一个概述
- 词法错误,如标识符、关键字或运算符的拼写错误
- 语法错误,如算数表达式的括号不匹配
- 语义错误:如算符作用于不相容的运算对象
- 编辑错误:如无穷的递归调用
语法分析器对错误处理的基本目标
- 清楚而准确地报告错误的出现,并尽量少出现伪错误
- 迅速地从每个错误中恢复过来,以便诊断后面的错误
- 它不应该使正确程序的处理速度降低太多
分析器的生成器
为了C编译器能准确报告yylex函数中错误的位置,需要在生成的程序y.tab.c中使用编译命令#line来记录行号
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/22898.html