From c6b57be2c37a2801f35e81ebb304c92fc5ea64ce Mon Sep 17 00:00:00 2001 From: Guy C Date: Fri, 7 Feb 2025 15:37:33 +0000 Subject: [PATCH] refactor: scaladocs-style commenting added in lexer --- src/main/wacc/lexer.scala | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/wacc/lexer.scala b/src/main/wacc/lexer.scala index c6e2781..2efe517 100644 --- a/src/main/wacc/lexer.scala +++ b/src/main/wacc/lexer.scala @@ -6,6 +6,8 @@ import parsley.token.{Basic, Lexer} import parsley.token.descriptions.* import parsley.token.errors._ +/** ErrorConfig for producing more informative error messages + */ val errConfig = new ErrorConfig { override def labelSymbol = Map( "!=" -> Label("binary operator"), @@ -37,6 +39,9 @@ val errConfig = new ErrorConfig { ) } object lexer { + + /** Language description for the WACC lexer + */ private val desc = LexicalDesc.plain.copy( nameDesc = NameDesc.plain.copy( identifierStart = Basic(c => c.isLetter || c == '_'), @@ -74,6 +79,8 @@ object lexer { ) ) + /** Token definitions for the WACC lexer + */ private val lexer = Lexer(desc, errConfig) val ident = lexer.lexeme.names.identifier val integer = lexer.lexeme.integer.decimal32[Int] @@ -82,6 +89,8 @@ object lexer { val stringLit = lexer.lexeme.string.ascii val implicits = lexer.lexeme.symbol.implicits + /** Tokens for producing lexer-backed error messages + */ val errTokens = Seq( lexer.nonlexeme.names.identifier.map(v => s"identifier $v"), lexer.nonlexeme.integer.decimal32[Int].map(n => s"integer $n"),