Skip to content

Commit 9fa7c0b

Browse files
committed
Use glc 0.4.2
1 parent 71a7384 commit 9fa7c0b

File tree

2 files changed

+33
-35
lines changed

2 files changed

+33
-35
lines changed

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ float-cmp = "0.9"
1818
meval = "0.2"
1919
fasteval = "0.2"
2020
evalexpr = "8.1"
21-
glc = "0.4"
21+
glc = "0.4.2"
2222

2323
[[bench]]
2424
name = "benchmarks"

tests/integration.rs

Lines changed: 32 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,37 @@
1-
use glc::{nt_seq_rule, t_or_rule, Expression, Grammar};
1+
#![recursion_limit = "256"]
2+
use glc::{grammar, Expression, Grammar};
23

34
fn grammar() -> Grammar {
4-
Grammar(
5-
"E".into(),
6-
vec![
7-
nt_seq_rule!("E" => "T", "E'"),
8-
nt_seq_rule!("E'" => "PM", "T", "E'"),
9-
t_or_rule!("E'" => ""),
10-
t_or_rule!("E'" => ""), // increase prob. by duplicating rule
11-
t_or_rule!("E'" => ""), // increase prob. by duplicating rule
12-
t_or_rule!("PM" => "+", "-"),
13-
nt_seq_rule!("T" => "F", "T'"),
14-
nt_seq_rule!("T'" => "MD", "F", "T'"),
15-
t_or_rule!("MD" => "*", "/"),
16-
t_or_rule!("T'" => ""),
17-
t_or_rule!("T'" => ""), // increase prob.
18-
t_or_rule!("T'" => ""), // increase prob.
19-
nt_seq_rule!("F" => "LP", "E", "RP"),
20-
nt_seq_rule!("F" => "M", "LP", "E", "RP"),
21-
nt_seq_rule!("F" => "N"),
22-
nt_seq_rule!("F" => "M", "N"),
23-
t_or_rule!("LP" => "("),
24-
t_or_rule!("RP" => ")"),
25-
t_or_rule!("M" => "-"),
26-
nt_seq_rule!("N" => "D", "DEC"),
27-
nt_seq_rule!("D" => "D", "OD"),
28-
nt_seq_rule!("OD" => "D"),
29-
t_or_rule!("OD" => ""),
30-
t_or_rule!("OD" => ""), // increase probability
31-
t_or_rule!("OD" => ""), // increase probability
32-
t_or_rule!("D" => "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"),
33-
nt_seq_rule!("DEC" => "P", "D"),
34-
t_or_rule!("P" => "."),
35-
],
36-
)
5+
grammar!{
6+
E => T E_;
7+
E_ => PM T E_;
8+
E_ => "";
9+
E_ => "";
10+
E_ => "";
11+
PM => "+", "-";
12+
T => F T_;
13+
T_ => MD F T_;
14+
MD => "*", "/";
15+
T_ => "";
16+
T_ => "";
17+
T_ => "";
18+
F => LP E RP;
19+
F => M LP E RP;
20+
F => N;
21+
F => M N;
22+
LP => "(";
23+
RP => ")";
24+
M => "-";
25+
N => D DEC;
26+
D => D OD;
27+
OD => D;
28+
OD => "";
29+
OD => "";
30+
OD => "";
31+
D => "0", "1", "2", "3", "4", "5", "6", "7", "8", "9";
32+
DEC => P D;
33+
P => "."
34+
}
3735
}
3836

3937
#[test]

0 commit comments

Comments
 (0)