From 80c4135a72e96d5b4a86a882f2e7e08b5e33e6a3 Mon Sep 17 00:00:00 2001 From: Tim Kluge <Tim.Kluge1@tu-dresden.de> Date: Mon, 3 May 2021 15:33:39 +0200 Subject: [PATCH] Refactor files --- .../kotlin/de/timklge/jackrat/And.kt | 15 ------------- .../kotlin/de/timklge/jackrat/Empty.kt | 17 --------------- .../kotlin/de/timklge/jackrat/End.kt | 21 +++++++++++++++++++ .../kotlin/de/timklge/jackrat/Or.kt | 19 +++++++++++++++++ .../jackrat/{RegexParser.kt => Regex.kt} | 0 5 files changed, 40 insertions(+), 32 deletions(-) create mode 100644 src/commonMain/kotlin/de/timklge/jackrat/End.kt create mode 100644 src/commonMain/kotlin/de/timklge/jackrat/Or.kt rename src/commonMain/kotlin/de/timklge/jackrat/{RegexParser.kt => Regex.kt} (100%) diff --git a/src/commonMain/kotlin/de/timklge/jackrat/And.kt b/src/commonMain/kotlin/de/timklge/jackrat/And.kt index 710a960..acf27d0 100644 --- a/src/commonMain/kotlin/de/timklge/jackrat/And.kt +++ b/src/commonMain/kotlin/de/timklge/jackrat/And.kt @@ -24,18 +24,3 @@ class AndParser(children: List<Parser>, nodeFunc: NodeTransform = ::emptyNodeTra } } -class OrParser(children: List<Parser>, nodeFunc: NodeTransform = ::emptyNodeTransform): ParserWithChildren(children, nodeFunc) { - override val typeName: String = "OrParser" - - override fun Match(s: Scanner): Node? { - val startPosition = s.position - children.forEach { - val node = s.applyRule(it) - if(node != null){ - return Node(node.matched, this, listOf(node)) - } - s.position = startPosition - } - return null - } -} \ No newline at end of file diff --git a/src/commonMain/kotlin/de/timklge/jackrat/Empty.kt b/src/commonMain/kotlin/de/timklge/jackrat/Empty.kt index 729466d..b639d89 100644 --- a/src/commonMain/kotlin/de/timklge/jackrat/Empty.kt +++ b/src/commonMain/kotlin/de/timklge/jackrat/Empty.kt @@ -10,20 +10,3 @@ class EmptyParser(transform: NodeTransform = ::emptyNodeTransform) : Parser(tran } } -class EndParser(val skipWhitespace: Boolean = true) : Parser() { - override val typeName: String = "EndParser" - - override fun Match(s: Scanner): Node? { - val startPosition = s.position - if(skipWhitespace){ - s.skipWhitespace() - } - - if(s.position == s.input.length){ - return Node("", this, listOf()) - } - - s.position = startPosition - return null - } -} \ No newline at end of file diff --git a/src/commonMain/kotlin/de/timklge/jackrat/End.kt b/src/commonMain/kotlin/de/timklge/jackrat/End.kt new file mode 100644 index 0000000..259987f --- /dev/null +++ b/src/commonMain/kotlin/de/timklge/jackrat/End.kt @@ -0,0 +1,21 @@ +package de.timklge.jackrat + +import jackrat.de.timklge.jackrat.Scanner + +class EndParser(val skipWhitespace: Boolean = true) : Parser() { + override val typeName: String = "EndParser" + + override fun Match(s: Scanner): Node? { + val startPosition = s.position + if(skipWhitespace){ + s.skipWhitespace() + } + + if(s.position == s.input.length){ + return Node("", this, listOf()) + } + + s.position = startPosition + return null + } +} \ No newline at end of file diff --git a/src/commonMain/kotlin/de/timklge/jackrat/Or.kt b/src/commonMain/kotlin/de/timklge/jackrat/Or.kt new file mode 100644 index 0000000..fb54908 --- /dev/null +++ b/src/commonMain/kotlin/de/timklge/jackrat/Or.kt @@ -0,0 +1,19 @@ +package de.timklge.jackrat + +import jackrat.de.timklge.jackrat.Scanner + +class OrParser(children: List<Parser>, nodeFunc: NodeTransform = ::emptyNodeTransform): ParserWithChildren(children, nodeFunc) { + override val typeName: String = "OrParser" + + override fun Match(s: Scanner): Node? { + val startPosition = s.position + children.forEach { + val node = s.applyRule(it) + if(node != null){ + return Node(node.matched, this, listOf(node)) + } + s.position = startPosition + } + return null + } +} \ No newline at end of file diff --git a/src/commonMain/kotlin/de/timklge/jackrat/RegexParser.kt b/src/commonMain/kotlin/de/timklge/jackrat/Regex.kt similarity index 100% rename from src/commonMain/kotlin/de/timklge/jackrat/RegexParser.kt rename to src/commonMain/kotlin/de/timklge/jackrat/Regex.kt -- GitLab