progs/lexer/lexer.sc
changeset 846 3a535de22816
parent 827 67c8a6e6a305
child 936 0b5f06539a84
equal deleted inserted replaced
845:ddd9659971ec 846:3a535de22816
   202 val ID = SYM ~ (SYM | DIGIT).% 
   202 val ID = SYM ~ (SYM | DIGIT).% 
   203 val NUM = PLUS(DIGIT)
   203 val NUM = PLUS(DIGIT)
   204 val KEYWORD : Rexp = "skip" | "while" | "do" | "if" | "then" | "else" | "read" | "write" 
   204 val KEYWORD : Rexp = "skip" | "while" | "do" | "if" | "then" | "else" | "read" | "write" 
   205 val SEMI: Rexp = ";"
   205 val SEMI: Rexp = ";"
   206 val OP: Rexp = ":=" | "=" | "-" | "+" | "*" | "!=" | "<" | ">"
   206 val OP: Rexp = ":=" | "=" | "-" | "+" | "*" | "!=" | "<" | ">"
   207 val WHITESPACE = PLUS(" " | "\n" | "\t")
   207 val WHITESPACE = PLUS(" " | "\n" | "\t" | "\r")
   208 val RPAREN: Rexp = "{"
   208 val RPAREN: Rexp = "{"
   209 val LPAREN: Rexp = "}"
   209 val LPAREN: Rexp = "}"
   210 val STRING: Rexp = "\"" ~ SYM.% ~ "\""
   210 val STRING: Rexp = "\"" ~ SYM.% ~ "\""
   211 
   211 
   212 
   212