We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent a044c18 commit e1cbe59Copy full SHA for e1cbe59
.gitignore
@@ -1,3 +1,4 @@
1
+.vscode
2
/target
3
Cargo.lock
4
book/book
calculator/src/compiler/interpreter.rs
@@ -29,15 +29,15 @@ impl Eval {
29
match node {
30
Node::Int(n) => *n,
31
Node::UnaryExpr { op, child } => {
32
- let child = self.eval(&child);
+ let child = self.eval(child);
33
match op {
34
Operator::Plus => child,
35
Operator::Minus => -child,
36
}
37
38
Node::BinaryExpr { op, lhs, rhs } => {
39
- let lhs_ret = self.eval(&lhs);
40
- let rhs_ret = self.eval(&rhs);
+ let lhs_ret = self.eval(lhs);
+ let rhs_ret = self.eval(rhs);
41
42
43
Operator::Plus => lhs_ret + rhs_ret,
calculator/src/compiler/jit.rs
@@ -64,15 +64,15 @@ impl<'a> RecursiveBuilder<'a> {
64
match ast {
65
Node::Int(n) => self.i32_type.const_int(*n as u64, true),
66
67
- let child = self.build(&child);
+ let child = self.build(child);
68
69
Operator::Minus => child.const_neg(),
70
71
72
73
74
- let left = self.build(&lhs);
75
- let right = self.build(&rhs);
+ let left = self.build(lhs);
+ let right = self.build(rhs);
76
77
78
Operator::Plus => self.builder.build_int_add(left, right, "plus_temp"),
calculator/src/main.rs
@@ -13,7 +13,7 @@ cfg_if! {
13
fn main() {
14
let args: Vec<String> = std::env::args().collect();
15
if args.len() < 2 {
16
- eprintln!("Not input file was provided");
+ eprintln!("No input file was provided");
17
std::process::exit(-1);
18
19
println!(
calculator/src/parser.rs
@@ -1,3 +1,5 @@
+#![allow(clippy::upper_case_acronyms)]
+
use pest::{self, Parser};
5
use crate::ast::{Node, Operator};
@@ -50,7 +52,7 @@ fn build_ast_from_term(pair: pest::iterators::Pair<Rule>) -> Node {
50
52
let istr = pair.as_str();
51
53
let (sign, istr) = match &istr[..1] {
54
"-" => (-1, &istr[1..]),
- _ => (1, &istr[..]),
55
+ _ => (1, istr),
56
};
57
let int: i32 = istr.parse().unwrap();
58
Node::Int(sign * int)
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル
0 commit comments