#计算器 #数学解析器 #递归下降 #工具 #表达式解析器 #解析器

rzcalc

使用递归下降解析器编写的简单计算器表达式解析和计算器,用 Rust 编写

1 个不稳定版本

0.1.0 2024 年 2 月 9 日

150解析工具

MIT 许可证

34KB
833

Rust 简单计算器

用 Rust 编写的简单计算器。支持许多算术函数、布尔逻辑和内置函数。

值类型

计算器支持四种值类型

  • 布尔值(truefalse
  • 数字(示例:13.2-2001.33331e-30xFFFFF0b0100110o777
    • 支持十进制(2 进制)、8 进制和 16 进制

算术选项

支持以下操作

  • 算术
    • 加法:a + b
    • 减法:a - b
    • 乘法:a * b
    • 除法:a / b
    • 取模 / 模数:a % b
    • 位与:a & b
    • 位或:a | b
    • 位异或:a ^ b
    • 右移:a >> b
    • 左移:a << b
  • 关系
    • 相等:a == ba != b
    • 比较:a < ba <= ba > ba >= b
  • 逻辑
    • 合取:a and b
    • 析取:a or b
    • 否定:not a

待办事项!

预定义的常量和函数。

  • [] 支持以下常量。

    • pi
    • tau
    • e
    • nan
    • inf
    • neginf
  • [] 支持以下常见数学函数。

    • sin(x)cos(x)tan(x)
    • asin(x)acos(x)atan(x)
    • ln(x)log10(x)log2(x)log(x, base)
    • round(x)floor(x)ceil(x)
    • sqrt(x)exp(x)powf(x, e)pow(x, e)
    • abs(x)min_num(x, y)max_num(x, y)
  • [] 包含以下类似Python的实用函数。

    • min(...):参数的最小值。
    • max(...):参数的最大值。
    • rand()rand(stop)rand(start, stop):随机浮点数(默认范围为0.0到1.0)。
  • [] 支持以下常见的标准输出/标准错误打印函数。

    • print(value):打印到标准输出
    • println(value):打印到标准输出,并在末尾添加换行符
    • eprint(value):打印到标准错误
    • eprintln(value):将值打印到stderr并在末尾添加换行符
    • debug(expr):打印表达式的调试表示
  • 以下是一些常见的格式化数字函数。

    • bin(value, _bool):将数字格式化为二进制字符串(例如:0b111
    • oct(value, _bool):将数字格式化为八进制字符串(例如:0o777
    • hex(value, _bool):将数字格式化为十六进制字符串(例如:0xFFF

无运行时依赖