From 1ef6f0e6b9083748e5b91743f15f10f09c6b8432 Mon Sep 17 00:00:00 2001 From: Elias Haugsbakk Date: Fri, 18 Sep 2026 23:10:31 +0200 Subject: Implement parser creating AST --- .../no/eliashaugsbakk/kompilator/tokenization/Lexer.java | 2 +- .../no/eliashaugsbakk/kompilator/tokenization/Token.java | 13 +------------ .../eliashaugsbakk/kompilator/tokenization/TokenType.java | 2 +- 3 files changed, 3 insertions(+), 14 deletions(-) (limited to 'src/main/java/no/eliashaugsbakk/kompilator/tokenization') diff --git a/src/main/java/no/eliashaugsbakk/kompilator/tokenization/Lexer.java b/src/main/java/no/eliashaugsbakk/kompilator/tokenization/Lexer.java index 4149b4f..62d2359 100644 --- a/src/main/java/no/eliashaugsbakk/kompilator/tokenization/Lexer.java +++ b/src/main/java/no/eliashaugsbakk/kompilator/tokenization/Lexer.java @@ -30,7 +30,7 @@ public class Lexer { this.input = input; } - List tokenize() { + public List tokenize() { while (position < input.length()) { char current = input.charAt(position); diff --git a/src/main/java/no/eliashaugsbakk/kompilator/tokenization/Token.java b/src/main/java/no/eliashaugsbakk/kompilator/tokenization/Token.java index 519b6b6..09c5d83 100644 --- a/src/main/java/no/eliashaugsbakk/kompilator/tokenization/Token.java +++ b/src/main/java/no/eliashaugsbakk/kompilator/tokenization/Token.java @@ -1,15 +1,4 @@ package no.eliashaugsbakk.kompilator.tokenization; -class Token { - TokenType type; - String value; - int line; - int colum; - - Token(TokenType type, String value, int line, int colum) { - this.type = type; - this.value = value; - this.line = line; - this.colum = colum; - } +public record Token(TokenType type, String value, int line, int colum) { } diff --git a/src/main/java/no/eliashaugsbakk/kompilator/tokenization/TokenType.java b/src/main/java/no/eliashaugsbakk/kompilator/tokenization/TokenType.java index 408abb2..696b46c 100644 --- a/src/main/java/no/eliashaugsbakk/kompilator/tokenization/TokenType.java +++ b/src/main/java/no/eliashaugsbakk/kompilator/tokenization/TokenType.java @@ -1,6 +1,6 @@ package no.eliashaugsbakk.kompilator.tokenization; -enum TokenType { +public enum TokenType { KEYWORD, // print, var, if, while, function, etc. IDENTIFIER, // variable_1 STRING, // "Hello, World!" -- cgit v1.2.3