main_testing3/re.scala
changeset 455 557d18cce0f0
parent 433 6af86ba1208f
child 457 9cf317975ae7
equal deleted inserted replaced
454:289b85843ffd 455:557d18cce0f0
   187 //
   187 //
   188 //    where SEQ is nested 100 times.
   188 //    where SEQ is nested 100 times.
   189 */ 
   189 */ 
   190 
   190 
   191 
   191 
   192 }
   192 assert(simp(ZERO | ONE) == ONE)
   193 
   193 assert(simp(STAR(ZERO | ONE)) == STAR(ZERO | ONE))
       
   194 assert(simp(ONE ~ (ONE ~ (ONE ~ CHAR('a')))) == CHAR('a'))
       
   195 assert(simp(((ONE ~ ONE) ~ ONE) ~ CHAR('a')) == CHAR('a'))
       
   196 assert(simp(((ONE | ONE) ~ ONE) ~ CHAR('a')) == CHAR('a'))
       
   197 assert(simp(ONE ~ (ONE ~ (ONE ~ ZERO))) == ZERO)
       
   198 assert(simp(ALT(ONE ~ (ONE ~ (ONE ~ ZERO)), CHAR('a'))) == CHAR('a'))
       
   199 assert(simp(CHAR('a') | CHAR('a')) == CHAR('a'))
       
   200 assert(simp(CHAR('a') ~ CHAR('a')) == CHAR('a') ~ CHAR('a'))
       
   201 assert(simp(ONE | CHAR('a')) == (ONE | CHAR('a')))
       
   202 assert(simp(ALT((CHAR('a') | ZERO) ~ ONE,
       
   203                   ((ONE | CHAR('b')) | CHAR('c')) ~ (CHAR('d') ~ ZERO))) == CHAR('a'))
       
   204 assert(simp((ZERO | ((ZERO | ZERO) | (ZERO | ZERO))) ~ ((ONE | ZERO) | ONE ) ~ (CHAR('a'))) == ZERO)
       
   205 assert(simp(ALT(ONE | ONE, ONE | ONE)) == ONE)
       
   206 assert(simp(ALT(ZERO | CHAR('a'), CHAR('a') | ZERO)) == CHAR('a'))
       
   207 assert(simp(ALT(ONE | CHAR('a'), CHAR('a') | ONE)) == ALT(ONE, CHAR('a')))
       
   208 assert(simp(ALTs(Nil)) == ZERO)
       
   209 assert(simp(SEQs(List(CHAR('a')))) == CHAR('a'))
       
   210 
       
   211 
       
   212 }
       
   213