编译原理课设编译器Demo

该项目是基于Java的编译原理课程设计,使用递归下降法实现了词法、语法和简单的语义分析。功能包括基本数据类型操作、前端界面、基本运算、if-else语句和单层while循环。目前尚不支持注释、多层逻辑结构和嵌套循环。源代码已上传至GitHub。
摘要由CSDN通过智能技术生成

1.介绍

    此项目为本学期开设的编译原理课程课设,采用递归下降法,主要实现词法分析,语法分析,语义分析,初学者代码简陋。

    前端界面根据记事本项目修改而来。

1.功能

  1. 基本数据类型num , string bool
  2. 内置函数 readNum(), readString(), readBool(),print()
  3. 实现了的运算 + - * / ** %  > < >= <= != ==
  4. 实现if else ,单层while
  5. 实现了代码的读取与保存

2.不足

  1. 不支持注释功能
  2. 不支持多层if else
  3. 不支持while语句的嵌套(没整函数的作用域)

2.项目目录

    mainForm为主启动类。

3.简单演示

1.基本运算

num a = 1,b = 0;
print(a + b);
print(a - b);
print(a * b);

num c = 2, d = 3;
print("乘方:" + c ** d);
print("取余:" + c % d);

 2.if语句

num a = 100, b = 101;
if (a > b) {
  print("a大");
} else {
  print("b大");
}

 3.基本函数

num a = 0;
a = readInt();
print("运行结果" + a);

4.while语句

num a = 0,result = 0;
while(a < 10) {
  a = a + 1;
  result = result + a;
}
print("result:" + result);

4.总结

    初学者代码简陋,仅为课设需要,很多功能任务仍未实现,收获颇多,深知学习之路任重而道远。

源码地址GitHub - Plutous/KaiCompile: 编译原理课设,基于Java实现,实现词法分析语法分析语义分析

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陪你流浪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值