From 9bf668e7114bb92a0b072db5d4e092c0b8f964c4 Mon Sep 17 00:00:00 2001 From: Marc Vertes Date: Thu, 22 Jan 2026 11:33:32 +0100 Subject: chore: refactor token types to avoid mutate scanner tokens Mutating scanner tokens or reusing scanner token attributes to store other metadata is a hack. Introduce a new parser token type with arbitrary args. The next step will be to use the arg field instead of scanner token fields. --- parser/decl.go | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'parser/decl.go') diff --git a/parser/decl.go b/parser/decl.go index 8833580..807fd72 100644 --- a/parser/decl.go +++ b/parser/decl.go @@ -9,7 +9,6 @@ import ( "strings" "github.com/mvertes/parscan/lang" - "github.com/mvertes/parscan/scanner" "github.com/mvertes/parscan/symbol" "github.com/mvertes/parscan/vm" ) @@ -357,9 +356,9 @@ func (p *Parser) parseVarLine(in Tokens) (out Tokens, err error) { if v, err = p.parseExpr(v, ""); err != nil { return out, err } - out = append(out, scanner.Token{Tok: lang.Ident, Str: vars[i]}) + out = append(out, newIdent(vars[i], 0)) out = append(out, v...) - out = append(out, scanner.Token{Tok: lang.Assign}) + out = append(out, newToken(lang.Assign, 0)) } return out, err } -- cgit v1.2.3