equal
  deleted
  inserted
  replaced
  
    
    
    61   | 
    61   | 
    62 // main matcher function  | 
    62 // main matcher function  | 
    63 def matcher(r: Rexp, s: String) : Boolean = nullable(ders(s.toList, r))  | 
    63 def matcher(r: Rexp, s: String) : Boolean = nullable(ders(s.toList, r))  | 
    64   | 
    64   | 
    65   | 
    65   | 
         | 
    66 var regex = NTIMES(CHAR('a'),5) | 
         | 
    67 println(matcher(regex,"aaaaa"))  | 
         | 
    68   | 
    66 //one or zero  | 
    69 //one or zero  | 
    67 def OPT(r: Rexp) = ALT(r, ONE)  | 
    70 def OPT(r: Rexp) = ALT(r, ONE)  | 
    68   | 
    71   | 
    69 //evil regular expressions  | 
    72 //evil regular expressions  | 
    70 def EVIL1(n: Int) = SEQ(NTIMES(OPT(CHAR('a')), n), NTIMES(CHAR('a'), n)) | 
    73 def EVIL1(n: Int) = SEQ(NTIMES(OPT(CHAR('a')), n), NTIMES(CHAR('a'), n)) |