diff options
author | Ryo Nihei <nihei.dev@gmail.com> | 2022-03-27 02:32:22 +0900 |
---|---|---|
committer | Ryo Nihei <nihei.dev@gmail.com> | 2022-03-27 20:25:04 +0900 |
commit | d0431e3a435e2ad3180d945f66098c04ed0faf22 (patch) | |
tree | 2963de49b509e639153091cf259eae4cfc51814e /driver/token_stream.go | |
parent | Use a lexer via interface (diff) | |
download | urubu-d0431e3a435e2ad3180d945f66098c04ed0faf22.tar.gz urubu-d0431e3a435e2ad3180d945f66098c04ed0faf22.tar.xz |
Add vartan-go command
Diffstat (limited to 'driver/token_stream.go')
-rw-r--r-- | driver/token_stream.go | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/driver/token_stream.go b/driver/token_stream.go index feb86ae..97c9f1f 100644 --- a/driver/token_stream.go +++ b/driver/token_stream.go @@ -7,33 +7,33 @@ import ( "github.com/nihei9/vartan/spec" ) -type token struct { +type vToken struct { terminalID int skip bool tok *mldriver.Token } -func (t *token) TerminalID() int { +func (t *vToken) TerminalID() int { return t.terminalID } -func (t *token) Lexeme() []byte { +func (t *vToken) Lexeme() []byte { return t.tok.Lexeme } -func (t *token) EOF() bool { +func (t *vToken) EOF() bool { return t.tok.EOF } -func (t *token) Invalid() bool { +func (t *vToken) Invalid() bool { return t.tok.Invalid } -func (t *token) Skip() bool { +func (t *vToken) Skip() bool { return t.skip } -func (t *token) Position() (int, int) { +func (t *vToken) Position() (int, int) { return t.tok.Row, t.tok.Col } @@ -56,12 +56,12 @@ func NewTokenStream(g *spec.CompiledGrammar, src io.Reader) (TokenStream, error) }, nil } -func (l *tokenStream) Next() (Token, error) { +func (l *tokenStream) Next() (VToken, error) { tok, err := l.lex.Next() if err != nil { return nil, err } - return &token{ + return &vToken{ terminalID: l.kindToTerminal[tok.KindID], skip: l.skip[tok.KindID] > 0, tok: tok, |