From 384de58d419db8373310acb7d9ee0954d0623ad6 Mon Sep 17 00:00:00 2001 From: Sasha Koshka Date: Wed, 17 Aug 2022 12:39:26 -0400 Subject: [PATCH] Added previousToken method to parser --- parser/parser.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/parser/parser.go b/parser/parser.go index 3907a53..ac183b6 100644 --- a/parser/parser.go +++ b/parser/parser.go @@ -111,3 +111,12 @@ func (parser *ParsingOperation) nextToken (allowed ...lexer.TokenKind) (err erro err = parser.expect(allowed...) return } + +// previousToken goes back one token. If the parser is already at the beginning, +// this does nothing. +func (parser *ParsingOperation) previousToken () { + parser.tokenIndex -- + if parser.tokenIndex < 0 { parser.tokenIndex = 0 } + parser.token = parser.tokens[parser.tokenIndex] + return +}