diff options
| author | Michael Williamson <mike@zwobble.org> | 2024-12-23 15:25:27 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2024-12-23 15:25:27 +0000 |
| commit | b0e03bc70a258b2d6cb39817e21c1d5920759ddf (patch) | |
| tree | 302e4d3e215f5b81682a58c2c8c6956e436d85b0 /src/main/java | |
| parent | 6fe101335edb2b8596bc57d4744d264e7cfbc44f (diff) | |
Change StringParser to SourceParser
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/org/shedlang/compiler/config/BinConfig.java | 5 | ||||
| -rw-r--r-- | src/main/java/org/shedlang/compiler/parser/SourceParser.java (renamed from src/main/java/org/shedlang/compiler/parser/StringParser.java) | 15 |
2 files changed, 10 insertions, 10 deletions
diff --git a/src/main/java/org/shedlang/compiler/config/BinConfig.java b/src/main/java/org/shedlang/compiler/config/BinConfig.java index 382cffc2..f6f8918e 100644 --- a/src/main/java/org/shedlang/compiler/config/BinConfig.java +++ b/src/main/java/org/shedlang/compiler/config/BinConfig.java @@ -1,7 +1,8 @@ package org.shedlang.compiler.config; import org.shedlang.compiler.config.toml.TomlTableWithSource; -import org.shedlang.compiler.parser.StringParser; +import org.shedlang.compiler.parser.SourceParser; +import org.shedlang.compiler.sources.Sources; import org.shedlang.compiler.types.NamespaceName; public record BinConfig(String name, NamespaceName mainNamespace) { @@ -10,7 +11,7 @@ public record BinConfig(String name, NamespaceName mainNamespace) { var mainNamespaceString = table.getString("main-namespace"); // TODO: error checking - var mainNamespace = StringParser.parseNamespaceName(mainNamespaceString); + var mainNamespace = SourceParser.parseNamespaceName(Sources.string(mainNamespaceString)); return new BinConfig(name, mainNamespace); } diff --git a/src/main/java/org/shedlang/compiler/parser/StringParser.java b/src/main/java/org/shedlang/compiler/parser/SourceParser.java index 37a85667..19be58d4 100644 --- a/src/main/java/org/shedlang/compiler/parser/StringParser.java +++ b/src/main/java/org/shedlang/compiler/parser/SourceParser.java @@ -1,6 +1,6 @@ package org.shedlang.compiler.parser; -import org.shedlang.compiler.sources.Sources; +import org.shedlang.compiler.sources.Source; import org.shedlang.compiler.tokeniser.TokenIterator; import org.shedlang.compiler.types.NamespaceName; @@ -8,19 +8,18 @@ import java.util.function.Function; import static org.shedlang.compiler.parser.Tokeniser.tokenise; -public class StringParser { - private StringParser() { +public class SourceParser { + private SourceParser() { } - public static NamespaceName parseNamespaceName(String value) { - return parseString(value, tokens -> Parser.parseNamespaceName(tokens)); + public static NamespaceName parseNamespaceName(Source source) { + return parseSource(source, tokens -> Parser.parseNamespaceName(tokens)); } - private static <T> T parseString( - String sourceContents, + private static <T> T parseSource( + Source source, Function<TokenIterator<TokenType>, T> parseTokens ) { - var source = Sources.file("<string>", sourceContents); var tokens = tokenise(source); var result = parseTokens.apply(tokens); tokens.skip(TokenType.END); |
