8 val DIGIT = RANGE("0123456789") |
8 val DIGIT = RANGE("0123456789") |
9 val ID = SEQ(SYM, STAR(ALT(SYM, DIGIT))) |
9 val ID = SEQ(SYM, STAR(ALT(SYM, DIGIT))) |
10 val NUM = PLUS(DIGIT) |
10 val NUM = PLUS(DIGIT) |
11 val KEYWORD = ALTS("skip", "while", "do", "if", "then", "else", "true", "false") |
11 val KEYWORD = ALTS("skip", "while", "do", "if", "then", "else", "true", "false") |
12 val SEMI: Rexp = ";" |
12 val SEMI: Rexp = ";" |
13 val OP: Rexp = ALTS(":=", "=", "+", "-", "*", "!=", "<", ">") |
13 val OP: Rexp = ALTS(":=", "=", "-", "+", "*", "!=", "<", ">") |
14 val WHITESPACE = PLUS(RANGE(" \n")) |
14 val WHITESPACE = PLUS(RANGE(" \n")) |
15 val RPAREN: Rexp = ")" |
15 val RPAREN: Rexp = ")" |
16 val LPAREN: Rexp = "(" |
16 val LPAREN: Rexp = "(" |
17 val BEGIN: Rexp = "{" |
17 val BEGIN: Rexp = "{" |
18 val END: Rexp = "}" |
18 val END: Rexp = "}" |