thys2/blexer2.sc
changeset 639 80cc6dc4c98b
parent 629 96e009a446d5
child 640 bd1354127574
equal deleted inserted replaced
638:dd9dde2d902b 639:80cc6dc4c98b
  1503       println(size(derssimp_result))
  1503       println(size(derssimp_result))
  1504       rprint(derssimp_result)
  1504       rprint(derssimp_result)
  1505     }
  1505     }
  1506 
  1506 
  1507   }
  1507   }
  1508   naive_matcher()
  1508   // naive_matcher()
  1509   //single(SEQ(SEQ(STAR(CHAR('b')),STAR(STAR(SEQ(CHAR('a'),CHAR('b'))))),
  1509   //single(SEQ(SEQ(STAR(CHAR('b')),STAR(STAR(SEQ(CHAR('a'),CHAR('b'))))),
  1510   //  SEQ(SEQ(CHAR('b'),STAR(ALTS(CHAR('a'),ONE))),ONE)))
  1510   //  SEQ(SEQ(CHAR('b'),STAR(ALTS(CHAR('a'),ONE))),ONE)))
  1511 
  1511 
  1512 
  1512 
  1513   //STAR(SEQ(ALTS(CHAR(b),STAR(CHAR(b))),ALTS(ALTS(ONE,CHAR(b)),SEQ(CHAR(c),ONE))))
  1513   //STAR(SEQ(ALTS(CHAR(b),STAR(CHAR(b))),ALTS(ALTS(ONE,CHAR(b)),SEQ(CHAR(c),ONE))))
  1636 
  1636 
  1637 
  1637 
  1638 
  1638 
  1639     def bders_bderssimp() {
  1639     def bders_bderssimp() {
  1640 
  1640 
  1641       test(single(SEQ(ALTS(ONE,CHAR('c')),
  1641       
  1642         SEQ(SEQ(CHAR('a'),CHAR('a')),ALTS(ONE,CHAR('c'))))), 1) { (r: Rexp) => 
  1642       val r = //(SEQ(ALTS(ONE,CHAR('c')),
       
  1643         SEQ(SEQ(CHAR('a'),CHAR('a')),ALTS(ONE,CHAR('c')))
  1643           // ALTS(SEQ(SEQ(ONE,CHAR('a')),STAR(CHAR('a'))),SEQ(ALTS(CHAR('c'),ONE),STAR(ZERO))))))), 1) { (r: Rexp) => 
  1644           // ALTS(SEQ(SEQ(ONE,CHAR('a')),STAR(CHAR('a'))),SEQ(ALTS(CHAR('c'),ONE),STAR(ZERO))))))), 1) { (r: Rexp) => 
  1644           val ss = Set("aa")//stringsFromRexp(r)
  1645       val ss = Set("aa")//stringsFromRexp(r)
  1645           val boolList = ss.map(s => {
  1646           val boolList = ss.map(s => {
  1646             //val bdStrong = bdersStrong(s.toList, internalise(r))
  1647             //val bdStrong = bdersStrong(s.toList, internalise(r))
  1647             val bds = bsimp(bders(s.toList, internalise(r)))
  1648             val bds = (bders(s.toList, internalise(r)))
  1648             val bdssimp = bsimp(bders_simp(s.toList, internalise(r)))
  1649             val bdssimp = bsimp(bders_simp(s.toList, internalise(r)))
  1649             //val pdersSet = pderUNIV(r)//.flatMap(r => turnIntoTerms(r))
  1650             //val pdersSet = pderUNIV(r)//.flatMap(r => turnIntoTerms(r))
  1650             //val pdersSetBroken = pdersSet.flatMap(r => turnIntoTerms(r))
  1651             //val pdersSetBroken = pdersSet.flatMap(r => turnIntoTerms(r))
  1651             //rs1_subseteq_rs2(bdStrong6Set.toSet, distinctByacc(pdersSet.toList))
  1652             //rs1_subseteq_rs2(bdStrong6Set.toSet, distinctByacc(pdersSet.toList))
  1652             //bdStrong6Set.size <= pdersSet.size || bdStrong6Set.size <= pdersSetBroken.size ||
  1653             //bdStrong6Set.size <= pdersSet.size || bdStrong6Set.size <= pdersSetBroken.size ||
  1653             //rs1_subseteq_rs2(bdStrong6Set.toSet, pdersSet union pdersSetBroken)//|| bdStrong6Set.size <= pdersSetBroken.size
  1654             //rs1_subseteq_rs2(bdStrong6Set.toSet, pdersSet union pdersSetBroken)//|| bdStrong6Set.size <= pdersSetBroken.size
  1654             rprint(r)
  1655             rprint(r)
  1655             println(bds)
  1656             println(asize(bds))
  1656             println(bdssimp)
  1657             println(asize(bdssimp))
  1657             bds == bdssimp
  1658             bds == bdssimp
  1658           })
  1659           })
  1659           //!boolList.exists(b => b == false)
  1660           //!boolList.exists(b => b == false)
  1660           !boolList.exists(b => b == false)
  1661           !boolList.exists(b => b == false)
  1661           }
  1662           }
  1662         }
  1663         
  1663         //  bders_bderssimp()
  1664 
  1664 
  1665 
  1665 
  1666         bders_bderssimp()
  1666 
  1667 
  1667 println("hi!!!!!")
  1668 
  1668 counterexample_check()
  1669 
       
  1670 // println("hi!!!!!")
       
  1671 // counterexample_check()