From 732f95b8b9e66e1e7324f90ae1bb3e285b1b497f Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 22 Oct 2023 22:43:04 +0100 Subject: Add function to parse namespace name --- src/main/java/org/shedlang/compiler/parser/Parser.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/org/shedlang/compiler/parser/Parser.java b/src/main/java/org/shedlang/compiler/parser/Parser.java index fcc92d99..9a108e9b 100644 --- a/src/main/java/org/shedlang/compiler/parser/Parser.java +++ b/src/main/java/org/shedlang/compiler/parser/Parser.java @@ -457,11 +457,7 @@ public class Parser { tokens.skip(TokenType.KEYWORD_IMPORT); - var namespaceNameParts = parseOneOrMoreNoTrailingSeparator( - () -> tokens.nextValue(TokenType.IDENTIFIER), - () -> tokens.trySkip(TokenType.SYMBOL_FORWARD_SLASH) - ); - var namespaceName = new NamespaceName(namespaceNameParts); + var namespaceName = parseNamespaceName(tokens); tokens.skip(TokenType.SYMBOL_SEMICOLON); @@ -536,6 +532,14 @@ public class Parser { } } + public static NamespaceName parseNamespaceName(TokenIterator tokens) { + var namespaceNameParts = parseOneOrMoreNoTrailingSeparator( + () -> tokens.nextValue(TokenType.IDENTIFIER), + () -> tokens.trySkip(TokenType.SYMBOL_FORWARD_SLASH) + ); + return new NamespaceName(namespaceNameParts); + } + static UntypedNamespaceStatementNode parseNamespaceStatement(TokenIterator tokens) { return switch (tokens.peek().tokenType()) { case KEYWORD_FUN -> -- cgit v1.2.3