-
Notifications
You must be signed in to change notification settings - Fork 131
Closed
Description
I have a parser in Scala 3:
object Parser extends StdTokenParsers with PackratParsers:
type Tokens = StdLexical
val lexical = Lexer
lexical.delimiters ++= Seq(
"\\",
"λ",
".",
"(",
")",
"{",
"}",
":",
"=",
";",
"->"
)
lexical.reserved ++= Seq("Type", "let", "def")
type P[+A] = PackratParser[A]
// more things specific to the language here
def parseDecls(str: String): ParseResult[Decls] =
val tokens = new lexical.Scanner(str)
phrase(decls)(tokens)
private object Lexer extends StdLexical:
override def letter = elem("letter", c => c.isLetter && c != 'λ')
However if I try // comment
then all text after it is seen as whitespace. Multi-line comments however work.
Full file is here: https://github.com/atennapel/tinka-scala/blob/main/src/main/scala/Parser.scala
(I'm on Windows 11, if that's relevant)
Metadata
Metadata
Assignees
Labels
No labels