diff options
| author | Michael Tews <git@tews.dev> | 2024-06-19 06:07:54 +0200 |
|---|---|---|
| committer | Michael Tews <michael@tews.dev> | 2026-04-12 11:11:02 +0200 |
| commit | 88a76bb57b07cb15e546f787d4a63dad75106c10 (patch) | |
| tree | c669fede2b5e135b275b6667d0e8ec753a672ca1 /parser | |
| parent | ac4b6cd3d5a9ae58134a160671ae0730104ec62d (diff) | |
feat(lexer): added new tokens
added == and !=
Diffstat (limited to 'parser')
| -rw-r--r-- | parser/parser.go | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/parser/parser.go b/parser/parser.go new file mode 100644 index 0000000..5840f0a --- /dev/null +++ b/parser/parser.go @@ -0,0 +1,32 @@ +package parser + +import ( + "github.com/mewsen/interpreter/ast" + "github.com/mewsen/interpreter/lexer" + "github.com/mewsen/interpreter/token" +) + +type Parser struct { + l *lexer.Lexer + + curToken token.Token + peekToken token.Token +} + +func (p *Parser) NextToken() { + p.curToken = p.peekToken + p.peekToken = p.l.NextToken() +} + +func New(l *lexer.Lexer) *Parser { + p := &Parser{l: l} + + p.NextToken() + p.NextToken() + + return p +} + +func (p *Parser) ParseProgram() *ast.Program { + return nil +} |
