基于工程应用型人才能力培养编译原理教学实践研究.docVIP

基于工程应用型人才能力培养编译原理教学实践研究.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于工程应用型人才能力培养编译原理教学实践研究

基于工程应用型人才能力培养编译原理教学实践研究   摘要:随着计算机应用的逐渐普及,工程应用型人才培养需求也日益增加。编译原理课程因其课程本身具有知识面广、综合知识集成度高等特点,成为培养工程应用型人才能力的有效知识载体。针对编译原理课程教学现状,提出用形象化的方法讲解理论知识培养抽象思维能力、研究教学培养创新能力、理论和实践相结合培养实践能力、精心设置实验培养系统能力和团队协作能力等建议,以期在提高教学效果的同时,培养学生的工程应用能力。   关键词:编译原理;工程应用型人才;能力培养   中图分类号:G433 文献标识码:A 文章编号文章编号2014)001017103   基金项目基金项目:郑州市2013年度社会科学调研课题(885)   作者简介作者简介:张亚娟(1979-),女,硕士,黄河科技学院信息工程学院讲师,研究方向为编译技术、多媒体技术、数据管理技术。   0 引言   教育部高等学校计算机科学与技术教学指导委员会发布的专业发展战略研究报告明确指出,计算机科学与技术专业应培养科学型、工程型、应用型人才[1]。作为民办高校,学生基础普遍较差,在应用型人才培养目标的指引下,需要从多个角度培养学生的能力。编译原理课程因其课程本身具有知识面广、综合知识集成度高等特点[2],成为培养应用型人才能力的有效知识载体,在培养学生抽象思维能力、创新能力、实践能力、系统能力等方面具有重要作用。   1 编译原理课程教学现状   编译原理课程内容具有理论性强、抽象性强、逻辑性强等特点,且综合了计算机科学导论、程序设计、离散数学、数据结构、汇编语言、软件工程等多门课程的知识。而民办学校的学生普遍基础较差,学生在学习这门课程时感觉既困难又不实用,认识不到其在培养科学方法和严谨思维方面的重大潜在价值,在急功近利思想的驱动下,学习兴趣越来越低,缺乏学习积极性和主动性。因此,通过学习编译原理课程来培养学生的抽象思维能力、创新能力、实践能力、系统能力难以实现。   要从根本上改变这种现状,使得编译原理真正成为提高计算机专业学生能力的课程???必须对编译原理教学实施改革。   2 工程应用型人才能力培养   2.1 用形象化的方法讲解理论知识,培养抽象思维能力   语义分析及中间代码生成章节比较抽象,课本上介绍了很多属性翻译文法,根据属性翻译文法生成相应的四元式语句是学生觉得困难的地方。对于属性文法在处理具体问题时,简单算术表达式和赋值语句翻译时采用栈的形式模拟四元式语句的生成过程,但对于条件表达式和控制流程语句翻译则不太适用。可以采用语法树的方式进行四元式的生成[3]。以if(aAx   A-y   G[A]的第一个产生式是左递归,在推导yx3符号串时,分析程序无法通过有穷的向前看符号,了解需要应用几次递归后才选择一条可令递归终止的产生式。   (2)如果一个文法没有递归产生式,是否就能顺利推导呢?考虑文法G[S]:   S-aAb   A-bAc|bBc   B-aB|a   G[S]没有递归产生式,但在推导符号串abacb时,从文法的开始符号S开始,为了匹配第一个字符a,由于S只有一个产生式,可以选择aAb,a匹配成功。为了匹配第二个字符b,需要将A替换,但A有两个产生式并且都以b开始,就存在不确定选择哪个产生式的问题,必须进行回溯才能确定这个符号串是否是该文法可以产生的。因此,一个文法没有左递归但有左因子也是不能顺利推导的。   (3)如果一个文法不含左递归和左因子,是否就能很顺利地进行推导呢?考虑文法G[P]:   P-Bc|ad   B-aA|b   在输入串abc的推导过程中,P有两个候选式Bc和ad,对于Bc,要看B的候选式aA和b,P的两个候选式Bc和ad都是以a开始的。因此,当文法中同一个非终结符的候选式的First集有交集也不能很顺利地进行推导。   (4)如果一个文法不含左递归、左因子,候选式的First集也没有交集,是否就能很顺利地进行推导呢?考虑文法G[Q]:   Q-Aa|Bb   A-a|cA|ε   B-b|dB   在输入串cca的推导过程中,第一个字符是c,对于Q的两个候选式,选择以c开始,但Q的两个候选式是以A和B开始,考虑A和B中以c开始的有cA,因此选择Aa。第一个字符匹配成功,第二个字符是c,选择cA,第三个要匹配a,A中有定义a的候选式,如果选择,就多了一个符号a,只能选择ε,原因在于A的候选式的First集和A的Follow集有交集a。   通过上述的深层挖掘,将LL(1)文法的判定条件归纳为对G中的每个非终结符A,A的候选式要满足:   ①无左递归;   ②无左因子;   ③若无空产生式,候选式First集

文档评论(0)

erterye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档