예제 #1
0
 def test_draw(self):
     t, s, a = load_default('t3_29')
     print('t:{}, s:{}, a:{}'.format(t, s, a))
     try:
         draw_graphviz(t, s, a)
     except:
         pass
예제 #2
0
 def runTest(self):
     #nfa = NFA(t3_29)
     nfa = NFA(*load_default('t3_30'))
     self.assertTrue(SimNFA(nfa, "aabb"))
     try:
         nfa.draw()
     except:
         pass
예제 #3
0
파일: dfa.py 프로젝트: sudocn/Exercises
 def runTest(self):
     n = NFA(*load_default('t3_30'))
     d = DFA.from_nfa(n)
     print("table:", d.table)
     self.assertDictEqual(d.table, {'A': {'a': ['A'], 'b': ['A']}})
     try:
         d.draw()
     except:
         pass
예제 #4
0
 def runTest(self):
     nfa = NFA(*load_default('t3_30'))
     dfa = DFA.from_nfa(nfa)
     #print ("dfa:", dfa.start, dfa.accepts)
     self.assertTrue(SimDFA(dfa, "aabb"))
     try:
         dfa.draw()
     except:
         pass
예제 #5
0
파일: dfa.py 프로젝트: sudocn/Exercises
        print("== Minimized DFA ==")
        print(min_dfa)
        return min_dfa


import unittest
from transtable import load_default


class testDFA(unittest.TestCase):
    def runTest(self):
        n = NFA(*load_default('t3_30'))
        d = DFA.from_nfa(n)
        print("table:", d.table)
        self.assertDictEqual(d.table, {'A': {'a': ['A'], 'b': ['A']}})
        try:
            d.draw()
        except:
            pass


if __name__ == "__main__":
    import sys
    if len(sys.argv) > 1:  # t3_21
        nfa = NFA(*load_default(sys.argv[1]))
        dfa = DFA.from_nfa(nfa)
        mdfa = dfa.minimize()
        mdfa.draw()
        print(mdfa.table)
        #dfa.draw()
예제 #6
0
            for t in self.move_one(s, EMPTY):
                if t not in ecl:
                    ecl.add(t)
                    stack.append(t)

        print('e-closure: {} = {} '.format(sorted(states), sorted(ecl)))
        return ecl


class NFA(FA):
    pass


import unittest


class TCaseNfa(unittest.TestCase):
    def test_draw(self):
        t, s, a = load_default('t3_29')
        print('t:{}, s:{}, a:{}'.format(t, s, a))
        try:
            draw_graphviz(t, s, a)
        except:
            pass


if __name__ == "__main__":
    import sys
    if len(sys.argv) > 1:
        NFA(*load_default(sys.argv[1])).draw()