Skip to content

Commit 8e177de

Browse files
committed
ArrayList optimization
1 parent bae24a8 commit 8e177de

25 files changed

Lines changed: 62 additions & 45 deletions

File tree

META-INF/MANIFEST.MF

Lines changed: 0 additions & 3 deletions
This file was deleted.

build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ plugins {
66

77
group = "vadyushkins"
88

9-
version = "1.0.2"
9+
version = "1.0.3"
1010

1111
repositories { mavenCentral() }
1212

src/main/kotlin/org/kotgll/cfg/grammar/Alternative.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@ package org.kotgll.cfg.grammar
33
import org.kotgll.cfg.grammar.symbol.Nonterminal
44
import org.kotgll.cfg.grammar.symbol.Symbol
55

6-
class Alternative(val elements: List<Symbol>) {
6+
class Alternative(val elements: ArrayList<Symbol>) {
7+
constructor(elements: List<Symbol>) : this(ArrayList(elements))
8+
79
lateinit var nonterminal: Nonterminal
810

911
override fun toString() = "Alternative($elements)"

src/main/kotlin/org/kotgll/cfg/grammar/CFGRead.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ fun readCFGFromTXT(pathToTXT: String): Nonterminal {
3434
makeNonterminal(
3535
nonterminalRegex.matchEntire(alternativeNonterminal)!!.groups["value"]!!.value)
3636

37-
val elements: MutableList<Symbol> = mutableListOf()
37+
val elements: ArrayList<Symbol> = ArrayList()
3838
for (element in alternativeElements.split(' ')) {
3939
if (terminalRegex.matches(element)) {
4040
val elementValue = terminalRegex.matchEntire(element)!!.groups["value"]!!.value

src/main/kotlin/org/kotgll/cfg/grammar/CFGWrite.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import org.kotgll.cfg.grammar.symbol.Terminal
55
import java.io.File
66

77
fun writeCFGToTXT(cfg: Nonterminal, pathToTXT: String) {
8-
val alternatives: MutableList<Alternative> = mutableListOf()
8+
val alternatives: ArrayList<Alternative> = ArrayList()
99
val nonterminals: HashSet<Nonterminal> = HashSet()
1010
val queue: ArrayDeque<Nonterminal> = ArrayDeque(listOf(cfg))
1111
while (!queue.isEmpty()) {

src/main/kotlin/org/kotgll/cfg/grammar/symbol/Nonterminal.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import org.kotgll.cfg.grammar.Alternative
44

55
open class Nonterminal(
66
val name: String,
7-
val alternatives: MutableList<Alternative> = emptyList<Alternative>().toMutableList(),
7+
val alternatives: ArrayList<Alternative> = ArrayList(),
88
) : Symbol {
99
override fun toString() = "Nonterminal($name)"
1010

src/main/kotlin/org/kotgll/cfg/grammar/symbol/Optional.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import org.kotgll.cfg.grammar.Alternative
44

55
class Optional(symbol: Symbol) : Regular(symbol, "?") {
66
init {
7-
addAlternative(Alternative(listOf(symbol)))
8-
addAlternative(Alternative(emptyList()))
7+
addAlternative(Alternative(ArrayList(listOf(symbol))))
8+
addAlternative(Alternative(ArrayList()))
99
}
1010
}

src/main/kotlin/org/kotgll/cfg/grammar/symbol/Plus.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import org.kotgll.cfg.grammar.Alternative
44

55
class Plus(symbol: Symbol) : Regular(symbol, "+") {
66
init {
7-
addAlternative(Alternative(listOf(symbol)))
8-
addAlternative(Alternative(listOf(symbol, this)))
7+
addAlternative(Alternative(ArrayList(listOf(symbol))))
8+
addAlternative(Alternative(ArrayList(listOf(symbol, this))))
99
}
1010
}

src/main/kotlin/org/kotgll/cfg/grammar/symbol/Star.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import org.kotgll.cfg.grammar.Alternative
44

55
class Star(symbol: Symbol) : Regular(symbol, "*") {
66
init {
7-
addAlternative(Alternative(listOf()))
8-
addAlternative(Alternative(listOf(symbol, this)))
7+
addAlternative(Alternative(ArrayList()))
8+
addAlternative(Alternative(ArrayList(listOf(symbol, this))))
99
}
1010
}

src/main/kotlin/org/kotgll/cfg/graphinput/withoutsppf/GLL.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,12 @@ import org.kotgll.cfg.grammar.symbol.Symbol
66
import org.kotgll.cfg.grammar.symbol.Terminal
77
import org.kotgll.graph.GraphNode
88

9-
class GLL(val startSymbol: Nonterminal, val startGraphNodes: List<GraphNode>) {
9+
class GLL(val startSymbol: Nonterminal, val startGraphNodes: ArrayList<GraphNode>) {
10+
constructor(
11+
startSymbol: Nonterminal,
12+
startGraphNodes: List<GraphNode>
13+
) : this(startSymbol, ArrayList(startGraphNodes))
14+
1015
val queue: DescriptorsQueue = DescriptorsQueue()
1116
val poppedGSSNodes: HashMap<GSSNode, HashSet<GraphNode>> = HashMap()
1217
val createdGSSNodes: HashMap<GSSNode, GSSNode> = HashMap()

0 commit comments

Comments
 (0)