diff options
| author | Marc Vertes <mvertes@free.fr> | 2024-03-14 23:22:23 +0100 |
|---|---|---|
| committer | Marc Vertes <mvertes@free.fr> | 2024-03-14 23:22:23 +0100 |
| commit | 5da3a651ba08859ccc1cdf1094603411696c8df2 (patch) | |
| tree | 3970025b82edf10705674806dc35a4d0296d1729 /scanner/scan.go | |
| parent | ef1499e057051e5845069d04cc12f20f42d8258f (diff) | |
feat: improve debug output of tokens
Diffstat (limited to 'scanner/scan.go')
| -rw-r--r-- | scanner/scan.go | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/scanner/scan.go b/scanner/scan.go index f5d56d1..ea7fc37 100644 --- a/scanner/scan.go +++ b/scanner/scan.go @@ -4,6 +4,7 @@ import ( "errors" "fmt" "regexp" + "strconv" "strings" "github.com/mvertes/parscan/lang" @@ -37,6 +38,14 @@ func (t *Token) Name() string { return name } +func (t *Token) String() string { + s := t.Id.String() + if t.Id.IsLiteral() || t.Id.IsBlock() || t.Id == lang.Ident || t.Id == lang.Comment { + s += strconv.Quote(t.Str) + } + return s +} + // Scanner contains the scanner rules for a language. type Scanner struct { *lang.Spec |
