template for parser

This commit is contained in:
Aaro Koivukangas
2026-02-02 12:34:24 +02:00
parent 67a82cfc6b
commit 0819bdd926
+15 -2
View File
@@ -21,12 +21,25 @@ class Parser(tokens: List[Token]):
def peek(): Token =
return tokens(pos)
def consume(expected: TokenType | List[TokenType]): Token =
def consume(expected: Option[TokenType | List[TokenType]] = None): Token =
val token = peek()
expected match {
case Some(types) => types match {
case that: TokenType => println("IMPLEMENT TOKENTYPE")
case that: List[TokenType] => println("IMPLEMENT LIST[TOKENTYPE]")
}
case None => println("IMPLEMENT NONE")
}
pos += 1
return tokens(pos)
def handleExpected(token: Token, expected: TokenType): Try[Token] =
return Success(token)
object Parser:
def parse(tokens: List[Token]): Try[Expression] = return Success(Other())
def parse(tokens: List[Token]): Try[Expression] =
val parser = Parser(tokens)
return Success(Other())