Skip to content
Snippets Groups Projects
Select Git revision
  • bebb720a5480e90bd8cb35dbb0867504c199a28b
  • master default
2 results

LeftRecursionTest.kt

Blame
  • Tim Kluge's avatar
    Tim Kluge authored
    bebb720a
    History
    LeftRecursionTest.kt 827 B
    package jackrat
    
    import de.timklge.jackrat.*
    import jackrat.de.timklge.jackrat.Scanner
    import kotlin.test.Test
    import kotlin.test.assertEquals
    
    class LeftRecursionTest {
        @Test
        fun TestLeftRecursion(){
            val input = "5-1-4-3"
            val scanner = Scanner(input)
            val emptyParser = EmptyParser()
            val emptyParser1 = AndParser(listOf(emptyParser))
    
            val numParser = RegexParser("""\d+""")
            val numCombo1 = AndParser(listOf(emptyParser1, emptyParser1, numParser))
            val minusParser = AtomParser("-")
    
            val termParser = AndParser(listOf())
            val exprParser = OrParser(listOf(termParser, numCombo1))
            termParser.children = listOf(exprParser, minusParser, numCombo1)
            val node = exprParser.parse(scanner)
            assertEquals(node.parser, exprParser)
        }
    }