1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
基于 Rust 实现的**数学表达式解析计算器**,支持交互式 REPL 与命令行直接计算,包含完整的词法分析、语法解析与表达式求值功能。
---
这是一个用 Rust 编写的表达式计算器玩具项目,实现了从字符串输入到语法树构建、再到结果计算的完整流程,适合学习 Rust、编译器前端与表达式解析原理。
功能包括:
- ------
---
```
calculation/
├── src/
│ ├── bin/
│ │ └── main.rs # 程序入口:REPL 交互/命令行执行器
│ ├── error.rs # 错误类型定义与统一处理
│ ├── expression.rs # 表达式枚举与求值逻辑
│ ├── lexer.rs # 词法分析器(Token 生成器)
│ ├── lib.rs # 库根模块:统一导出公共接口
│ ├── operator.rs # 运算符定义(优先级、结合性)
│ ├── parser.rs # 递归下降语法解析器
│ └── token.rs # Token 枚举定义
├── tests/ # 单元测试与集成测试用例
├── .gitignore
├── Cargo.lock
├── Cargo.toml
└── README.md
```
---
-
```bash
cargo run
```
```
```bash
cargo test
```
---
本项目为学习型项目,用于理解:
- ---