| author | Christian Urban <christian.urban@kcl.ac.uk> |
| Fri, 24 Oct 2025 11:26:43 +0100 | |
| changeset 1018 | fd6a64c53f0e |
| parent 977 | 7a02c5b9e0df |
| permissions | -rw-r--r-- |
// for primitive definitions import $file.cw02 import cw02._ def sz(r: Rexp): Int = r match { case ZERO => 1 case ONE => 1 case CHAR(_) => 1 case ALT(r1, r2) => 1 + sz(r1) + sz (r2) case SEQ(r1, r2) => 1 + sz(r1) + sz (r2) case STAR(r1) => 1 + sz(r1) case PLUS(r1) => 1 + sz(r1) case NTIMES(r1, n) => 1 + sz(r1) case OPTIONAL(r1) => 1 + sz(r1) case RECD(_, r1) => 1 + sz(r1) case RANGE(_) => 1 } assert(sz(RANGE("abc")) != 1)