编译原理(二)语法分析器

编译原理(二)语法分析器从软件工程角度看,词法分析和语法分析的分离有如下好处简化设计编译器的效率会改进(词法分析器主要处理字符流)编译器的可移植性加强(例如:向上的箭头,不同的分析器可以用不同的字符,这个只涉及到词法,降低了耦合性)便于编译器前端的模块划分语法分析器对编译器的错误处理做一个概述词法错误,如标识符、关键字或运算符的拼写错误语法错误,如算数表达式的括号不匹配语义错误:如算符作用于不相容的运

大家好,欢迎来到IT知识分享网。

从软件工程角度看,词法分析和语法分析的分离有如下好处

  • 简化设计
  • 编译器的效率会改进(词法分析器主要处理字符流)
  • 编译器的可移植性加强(例如:向上的箭头,不同的分析器可以用不同的字符,这个只涉及到词法,降低了耦合性)
  • 便于编译器前端的模块划分

语法分析器对编译器的错误处理做一个概述

  • 词法错误,如标识符、关键字或运算符的拼写错误
  • 语法错误,如算数表达式的括号不匹配
  • 语义错误:如算符作用于不相容的运算对象
  • 编辑错误:如无穷的递归调用

语法分析器对错误处理的基本目标

  • 清楚而准确地报告错误的出现,并尽量少出现伪错误
  • 迅速地从每个错误中恢复过来,以便诊断后面的错误
  • 它不应该使正确程序的处理速度降低太多

分析器的生成器

编译原理(二)语法分析器

编译原理(二)语法分析器

为了C编译器能准确报告yylex函数中错误的位置,需要在生成的程序y.tab.c中使用编译命令#line来记录行号

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/22898.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信