summaryrefslogtreecommitdiff
path: root/scanner/scan.go
diff options
context:
space:
mode:
authorMarc Vertes <mvertes@free.fr>2024-03-14 23:22:23 +0100
committerMarc Vertes <mvertes@free.fr>2024-03-14 23:22:23 +0100
commit5da3a651ba08859ccc1cdf1094603411696c8df2 (patch)
tree3970025b82edf10705674806dc35a4d0296d1729 /scanner/scan.go
parentef1499e057051e5845069d04cc12f20f42d8258f (diff)
feat: improve debug output of tokens
Diffstat (limited to 'scanner/scan.go')
-rw-r--r--scanner/scan.go9
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