Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (
- regex("\\b(true|false)\\b".r) ^^ { BooleanLit(_) }
- |regex("[0-9]+((((\\.)?)[0-9]*(E|e)((\\+|-)?)[0-9]+)|(\\.[0-9]*))".r) ^^ { FloatLit(_) }
- |regex("[_A-Za-z][_A-Za-z0-9]*".r) ^^ { processIdent(_) }
- |regex("[0-9]+".r) ^^ { IntLit(_) }
- |regex("\"((\\\\\\\\)|(\\\\b)|(\\\\t)|(\\\\f)|(\\\\r)|(\\\\n)|(\\\\\")|([^((\\n)|(\\t)|(\")|(\\\\))]))*\"".r) ^^ { case str => StringLit(str.slice(1, str.size-1)) }
- |regex("\"((\\t)|(\\\\\\\\)|(\\\\b)|(\\\\t)|(\\\\f)|(\\\\r)|(\\\\n)|(\\\\\")|([^((\\n)|(\")|(\\\\))]))+\"".r) ^^ { case str => ErrorToken("Illegal tab in string: " + str.split("\\t")(0)) }
- |regex("\"(([^((\\n)|(\\t)|(\")|(\\\\))])|(\\\\\\\\)|(\\\\b)|(\\\\t)|(\\\\f)|(\\\\r)|(\\\\n)|(\\\\\"))*".r) ^^ { case str => ErrorToken("Unclosed string: " + str) }
- |EofCh ^^^ EOF
- |delim
- )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement