summaryrefslogtreecommitdiff
path: root/parser
diff options
context:
space:
mode:
authorMichael Tews <git@tews.dev>2024-06-19 06:07:54 +0200
committerMichael Tews <michael@tews.dev>2026-04-12 11:11:02 +0200
commit88a76bb57b07cb15e546f787d4a63dad75106c10 (patch)
treec669fede2b5e135b275b6667d0e8ec753a672ca1 /parser
parentac4b6cd3d5a9ae58134a160671ae0730104ec62d (diff)
feat(lexer): added new tokens
added == and !=
Diffstat (limited to 'parser')
-rw-r--r--parser/parser.go32
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
+}