C语言实现的简单计算器(支持自定义标识符和求导运算)

C语言编写的简单计算器

使用SLR Parser实现语法分析,本项目除了实现了SLR Parser外还实现了几种简单的数据结构:数组栈、循环队列、哈希表和哈希集合 以及 树。应该可以勉强作为数据结构的课程设计,编译原理我还没正式学,SLR Parser是我在维基百科和网上找的一个关于LR Parser的课件里面学到的一点皮毛,如有错误欢迎指出。

github仓库

项目结构说明

📦src
 ┣ 📂main               项目主体代码文件夹
 ┃ ┣ 📜evaluator.c      计算器
 ┃ ┣ 📜grammar.c        语法定义和语法分析表生成
 ┃ ┣ 📜lexer.c          分词器
 ┃ ┣ 📜main.c           程序入口
 ┃ ┣ 📜map.c            哈希表 
 ┃ ┣ 📜parser.c         语法分析器、语法分析树(ParseTree)转抽象语法树AST 以及 AST转字符串表达式
 ┃ ┣ 📜queue.c          循环队列
 ┃ ┣ 📜set.c            基于哈希表实现的哈希集合
 ┃ ┣ 📜stack.c          数组栈
 ┗ 📂test
 ┃ ┣ 📜evaluator_test.c 计算器测试
 ┃ ┣ 📜grammar_test.c   语法定义和语法分析表生成测试
 ┃ ┣ 📜hash_map_test.c  哈希表测试
 ┃ ┣ 📜hash_set_test.c  哈希集合测试
 ┃ ┣ 📜lexer_test.c     分词器测试
 ┃ ┣ 📜parser_test.c    语法分析测试
 ┃ ┣ 📜queue_test.c     循环队列测试
 ┃ ┣ 📜stack_test.c     数组栈测试
 ┃ ┣ 📜test.c           测试入口
</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值