diff options
| author | Elias Haugsbakk <[email protected]> | 2026-09-18 23:10:31 +0200 |
|---|---|---|
| committer | Elias Haugsbakk <[email protected]> | 2026-09-19 01:59:23 +0200 |
| commit | 1ef6f0e6b9083748e5b91743f15f10f09c6b8432 (patch) | |
| tree | 66a0144ae1ffb8f42b915551021ef5e30f64fe2a /src/main/java/no/eliashaugsbakk/kompilator/tokenization | |
| parent | df845a788a831c169a0725f49f96cae0a896ad64 (diff) | |
Implement parser creating AST
Diffstat (limited to 'src/main/java/no/eliashaugsbakk/kompilator/tokenization')
3 files changed, 3 insertions, 14 deletions
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<Token> tokenize() { + public List<Token> 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!" |
