#lexer #calculator #ast #interpreter #parser #语法树

bin+lib rcalc

使用 Rust 编写的具有词法分析器、解析器和解释器的华丽计算器

3 个版本

使用旧的 Rust 2015

0.1.2 2017年12月26日
0.1.1 2017年12月21日
0.1.0 2017年12月21日

#语法树 中排名第 145

每月下载量 38

MIT 许可证

34KB
560 行代码(不包括注释)


XO

rcalc

Build Status Coverage Status

rcalc 是一个使用 Rust 编写的华丽计算器,它包含了构建任何编程语言的基础,包括 词法分析器解析器抽象语法树AST 遍历器

试试看

git clone https://github.com/ayazhafiz/rcalc.git && cd rcalc
make  # places rcalc in /usr/bin/local
rcalc # launches interactive shell

$ rcalc> ...

特性

目前,rcalc 支持

  • 加法、减法、乘法、除法
  • 浮点指数运算
  • 一元运算符
  • 接受的操作符优先级
  • 用于计算的交互式 shell

待办事项

  • CLI 访问输入历史记录
  • CLI 隐藏控制字符
  • LOGIC 整数除法
  • LOGIC 取模运算符
  • LOGIC 阶乘运算符
  • LOGIC 三角函数
  • OTHER 更多功能即将推出!

结构

rcalc 既是二进制文件也是库。这使得在其他任何应用程序中使用 rcalc 库变得非常简单。

库托管在一个命名空间下,具有为计算器 "解释器" 的独立组件分别定义的模块。

二进制文件完全依赖于库。

为什么?

我对学习(1)Rust 和(2)如何创建编程语言很感兴趣。我从 Ruslan Spivak 的教程 开始,最终决定在此基础上对计算器应用程序进行更多的工作,以在 Rust 中创建一个相当强大和原创的东西。这个存储库是那个努力的成果。希望这个应用程序中 Rust 代码的质量能反映我在语言方面的渐进式提升。

依赖关系

~2.5MB
~52K 行代码