张亚娟 冯灵霞

摘要:编译原理课程是计算机相关专业的一门重要专业课,抽象性、理论性强,在多年的教学基础上,以LL(1)文法的判定为例,提出将案例驱动法引入教学过程中,从而不仅让学生掌握学习编译原理的方法,而且也可以对学生逻辑思考能力进行培养。
关键词:编译原理;案例驱动;LL(1)文法
中图分类号:G642文献标识码:A文章编号:1009-3044(2012)24-5858-02
计算机语言之所以能由单一的机器语言发展到现今的命令式编程语言、面向对象的编程语言、函数式编程语言和逻辑式编程语言,就是编译技术的支持。学生对编译技术已经不再陌生,如何激发他们从事编译器开发的热情,进而发展我国的汉语编程语言,把我国的IT行业发展到国际先进水平,是我们教学过程中亟待解决的问题。
编译技术中,自顶向下的语法分析分为预测分析和递归下降分析。预测分析中最常用的是LL(1)分析,其中第一个L表示从左向右扫描输入串,第二个L表示最左推导过程。给定一个文法如何判定它是否是LL(1)的,这个问题一直是我们教学过程中的一个重点,同时也是一个难点,可能有些老师也会觉得,自己明明讲的很清楚了,学生在实际判定过程中怎么还觉得困难呢。问题的关键是我们是采用什么样的案例,怎么引入,以及怎么总结的。笔者就根据自己多年的教学总结,来谈谈这个问题,希望给老师和同学一个借鉴。
1 LL(1)文法的引入
自顶向下的语法分析的思想是,从文法的开始符号出发,为符号串构造一个最左推导过程,如果成功,说明符号串是给定文法可以产生的。……