progs/lexer/lex.sc
changeset 1020 36799f7b9702
parent 1019 f71399fe3fdc
equal deleted inserted replaced
1019:f71399fe3fdc 1020:36799f7b9702
   137   case c::cs => inj(r, c, lex(der(c, r), cs))
   137   case c::cs => inj(r, c, lex(der(c, r), cs))
   138 }
   138 }
   139 
   139 
   140 
   140 
   141 
   141 
   142 println(lex(("ab" | "a") ~ (ONE | "b"), "ab".toList))
   142 println(lex(("ab" | "ab") ~ (ONE | "b"), "ab".toList))
   143 
   143 
   144 println(lex(STAR("aa" | "a"), "aaa".toList))
   144 println(lex(STAR("aa" | "a"), "aaa".toList))
   145 
   145 
   146 println(lex(STAR(STAR("a")), "aaa".toList))
   146 println(lex(STAR(STAR("a")), "aaa".toList))
   147 
   147 
   205 
   205 
   206   val prog1 = """iffoo"""
   206   val prog1 = """iffoo"""
   207   println(s"test: $prog1")
   207   println(s"test: $prog1")
   208   println(lexing(WHILE_REGS, prog1))
   208   println(lexing(WHILE_REGS, prog1))
   209 
   209 
   210   val prog2 = """read  n; write n"""  
   210   val prog2 = """read  n; write n; write n"""  
   211   println(s"test: $prog2")
   211   println(s"test: $prog2")
   212   println(lexing(WHILE_REGS, prog2))
   212   println(lexing(WHILE_REGS, prog2))
   213 }
   213 }
   214 
   214