literal method
Implementation
MathExpr literal() {
final token = peek();
return switch (token.type) {
TokenType.kFunc => declFuncExpr(),
TokenType.kTrue => trueExpr(),
TokenType.kFalse => falseExpr(),
TokenType.kNumber => numberLiteral(),
TokenType.kString => stringLiteral(),
TokenType.kNil => nilLiteral(),
TokenType.kRaw => rawExpr(),
TokenType.kSelf => selfExpr(),
TokenType.kLParen => groupExpr(),
final TokenType type => advanceAndThen(
() =>
throw '${token.pos} Expected literal value or variable. Found $type.',
),
};
}