equal
deleted
inserted
replaced
57 def nullable(r: Rexp) : Boolean = r match { |
57 def nullable(r: Rexp) : Boolean = r match { |
58 case ZERO => false |
58 case ZERO => false |
59 case ONE => true |
59 case ONE => true |
60 case CHAR(_) => false |
60 case CHAR(_) => false |
61 case ALT(r1, r2) => nullable(r1) || nullable(r2) |
61 case ALT(r1, r2) => nullable(r1) || nullable(r2) |
62 case SEQ(r1, r2) => nullable(r1) $$ nullable(r2) |
62 case SEQ(r1, r2) => nullable(r1) && nullable(r2) |
63 case STAR(_) => true |
63 case STAR(_) => true |
64 case RECD(_, r1) => nullable(r1) |
64 case RECD(_, r1) => nullable(r1) |
65 } |
65 } |
66 |
66 |
67 def der(c: Char, r: Rexp) : Rexp = r match { |
67 def der(c: Char, r: Rexp) : Rexp = r match { |