Skip to content

Commit

Permalink
update grammar dsl, remove hashMap from rsm initialization
Browse files Browse the repository at this point in the history
  • Loading branch information
bachish committed May 10, 2024
1 parent a6c72a6 commit d2d246a
Show file tree
Hide file tree
Showing 31 changed files with 589 additions and 615 deletions.
44 changes: 42 additions & 2 deletions benchmarks/src/main/kotlin/org/Main.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,52 @@ package org

import org.ucfs.Java8
import org.ucfs.JavaToken
import org.ucfs.grammar.combinator.Grammar
import org.ucfs.grammar.combinator.extension.StringExtension.or
import org.ucfs.grammar.combinator.extension.StringExtension.times
import org.ucfs.grammar.combinator.regexp.Nt
import org.ucfs.input.LinearInputLabel
import org.ucfs.parser.ParserGenerator
import java.nio.file.Path

fun main() {
fun generate() {
ParserGenerator(
Java8::class.java,
JavaToken::class.java
).generate(Path.of("benchmarks/src/main/kotlin/"), "org.ucfs")
}

}

fun runGenerated() {
val fileContents = """
/**
* Provides JUnit v3.x test runners.
*/
package junit.runner;
""".trimIndent()
var cnt = 0
var sleepCnt = 2000
while (true) {
val parser = org.ucfs.Java8Parser<Int, LinearInputLabel>()
parser.input = getTokenStream(fileContents)
val res = parser.parse().first!!
cnt += 1
}
}

fun main() {
generate()
}

fun run() {
class L : Grammar() {
val List by Nt().asStart()
val Elem by Nt("x" or List)

init {
List /= "[" * Elem
}
}
val l = L()
}

Loading

0 comments on commit d2d246a

Please sign in to comment.