JAVA实现一个简单的代数运算语言编译器(一)--写在前面

写在前面:

大二下学期编译原理课才开始不久,我们老师便要求我们使用C、C++或者是java语言编写一个简单的支持代数运算的计算器,以此来体会程序编译的过程。

具体要求如下图:

JAVA实现一个简单的代数运算语言编译器(一)--写在前面_第1张图片
对该作业的概述如下:
  
   1.该计算器有两种语句类型,即赋值语句与输出语句。
   2.该计算器的变量命名由字母与数字组成,且必须以字母开头。
   3.变量的使用不需要经过声明,但必须经过赋值,使用未经初始化的变量进行计算应报错。
   4.有且仅有一个保留字为print。
   5.不能使用第三方库。
 

我们大一的确学过C++,大二上学期的数据结构也是用C++教的,不过自己对C++还是一知半解,反而对java比较熟悉,于是我选择用java来实现这个项目。

案例分析:
我们知道,绝大多数的编译器都无外乎是对词法、语法、语义的分析,且内置了符号集、保留字等内容,提供代码优化、错误诊断等机制。我们的这个项目可以说是一个很简单的编译器的案例,所以也得遵循这些步骤按部就班地来。所以第一步我想先设置好系统预制的符号集、保留字,接下来再来分别进行词法、语法、语义的分析,最后再增加错误诊断机制。

这是本系列的第一篇文章,也是我在CSDN上的第一篇文章,主要是为我接下来要做的这个简单的计算器项目做铺垫。
接下来的文章我们就将正式进入项目的编写了。

你可能感兴趣的:(编译原理作业)