equal
deleted
inserted
replaced
3 import cw02._ |
3 import cw02._ |
4 |
4 |
5 def sz(r: Rexp): Int = r match { |
5 def sz(r: Rexp): Int = r match { |
6 case ZERO => 1 |
6 case ZERO => 1 |
7 case ONE => 1 |
7 case ONE => 1 |
8 case CHAR(_) => 1 |
8 //case CHAR(_) => 1 |
9 case ALT(r1, r2) => 1 + sz(r1) + sz (r2) |
9 case ALT(r1, r2) => 1 + sz(r1) + sz (r2) |
10 case SEQ(r1, r2) => 1 + sz(r1) + sz (r2) |
10 case SEQ(r1, r2) => 1 + sz(r1) + sz (r2) |
11 case STAR(r1) => 1 + sz(r1) |
11 case STAR(r1) => 1 + sz(r1) |
12 case PLUS(r1) => 1 + sz(r1) |
12 case PLUS(r1) => 1 + sz(r1) |
13 case NTIMES(r1, n) => 1 + sz(r1) |
13 case NTIMES(r1, n) => 1 + sz(r1) |
14 case OPTIONAL(r1) => 1 + sz(r1) |
14 case OPTIONAL(r1) => 1 + sz(r1) |
15 case RECD(_, r1) => 1 + sz(r1) |
15 case RECD(_, r1) => 1 + sz(r1) |
16 case RANGE(_) => 1 |
16 //case RANGE(_) => 1 |
17 } |
17 } |
18 |
18 |
19 assert(sz(RANGE("abc")) != 1) |
19 //assert(sz(RANGE("abc")) != 1) |
20 |
20 |
21 |
21 |
22 |
22 |
23 |
23 |