diff options
author | Silvan Jegen <s.jegen@gmail.com> | 2016-12-25 16:41:56 +0100 |
---|---|---|
committer | Silvan Jegen <s.jegen@gmail.com> | 2016-12-25 16:41:56 +0100 |
commit | 0ad0f3a85145f2b64cf5cbffa57cdb779180b724 (patch) | |
tree | ffe733b3b2eafe101700e56bd11be576c076afd4 /conf/parser.go | |
parent | be3749d9f77e1410c11d0e8b7158a13e51faa41c (diff) |
Implement our own scanner
This allows us to record byte offset and line number in the token.
Diffstat (limited to 'conf/parser.go')
-rw-r--r-- | conf/parser.go | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/conf/parser.go b/conf/parser.go index 21bc604..85d9b11 100644 --- a/conf/parser.go +++ b/conf/parser.go @@ -17,12 +17,12 @@ type parser struct { func NewConfig(r io.Reader) *Config { s := newScanner(r) - tt, tok, err := s.Next() + tok, err := s.Scan() for err == nil { - fmt.Fprintf(os.Stderr, "tokentype: %d, token: %q, err: %v\n", tt, tok, err) - tt, tok, err = s.Next() + fmt.Fprintf(os.Stderr, "tokentype: %d, token: %q offset: %d, line: %d\n", tok.Type, tok.Lit, tok.Offset, tok.LineNr) + tok, err = s.Scan() } - fmt.Fprintf(os.Stderr, "Error: tokentype: %d, token: %q, err: %v\n", tt, tok, err) + fmt.Fprintf(os.Stderr, "Error: tokentype: %d, token: %q, err: %v\n", tok.Type, tok.Lit, err) return &Config{} } |