diff options
| author | Marc Vertes <mvertes@free.fr> | 2025-11-10 14:01:16 +0100 |
|---|---|---|
| committer | Marc Vertes <mvertes@free.fr> | 2025-11-10 14:01:16 +0100 |
| commit | 0035f65d697e165c4f2ba2d445bfa938ab4159ee (patch) | |
| tree | a2b9779d2cf0ac7c1a36ec381b0ed0b1be2a1bba /scanner/scan.go | |
| parent | c6ff109198546a8adb340a7be84a7fc03762081b (diff) | |
chore: fix lint
Diffstat (limited to 'scanner/scan.go')
| -rw-r--r-- | scanner/scan.go | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/scanner/scan.go b/scanner/scan.go index 2782788..ea8b3a2 100644 --- a/scanner/scan.go +++ b/scanner/scan.go @@ -134,17 +134,20 @@ func (sc *Scanner) Scan(src string, semiEOF bool) (tokens []Token, err error) { tokens = append(tokens, t) } } + // Optional insertion of semi-colon at the end of the token stream. if semiEOF && len(tokens) > 0 { last := tokens[len(tokens)-1] if last.Str == ";" { return tokens, nil } - if !(last.Tok == lang.Ident && sc.TokenProps[last.Str].SkipSemi || - last.Tok.IsOperator() && !sc.TokenProps[last.Str].SkipSemi) { - tokens = append(tokens, Token{Tok: lang.Semicolon, Str: ";"}) + if last.Tok == lang.Ident && sc.TokenProps[last.Str].SkipSemi || + last.Tok.IsOperator() && !sc.TokenProps[last.Str].SkipSemi { + return tokens, nil } + tokens = append(tokens, Token{Tok: lang.Semicolon, Str: ";"}) } + return tokens, nil } |
