Skip to content

Commit 08c5ff8

Browse files
committedNov 30, 2020
add Makefile
1 parent 6e9e8f6 commit 08c5ff8

7 files changed

+66
-61
lines changed
 

‎examples/Makefile

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
all:
2+
python3 example1_dfa.py
3+
python3 example2_dfa.py
4+
python3 example3_nfa.py
5+
python3 example4_nfa.py
6+
python3 example5_nfa.py
7+
python3 example6_nfa.py
8+
python3 example7_nfa.py

‎examples/graph1_dfa.dot

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ strict digraph FSM {
44
null [shape=point];
55
S1 [shape=doublecircle];
66
null -> S1;
7-
S1 -> S1 [label=1];
8-
S1 -> S2 [label=0];
9-
S2 -> S1 [label=0];
107
S2 -> S2 [label=1];
8+
S2 -> S1 [label=0];
9+
S1 -> S2 [label=0];
10+
S1 -> S1 [label=1];
1111
}

‎examples/graph2_dfa.dot

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ strict digraph FSM {
66
null -> S0;
77
S0 -> S0 [label=0];
88
S0 -> S1 [label=1];
9-
S2 -> S2 [label=1];
10-
S2 -> S1 [label=0];
119
S1 -> S0 [label=1];
1210
S1 -> S2 [label=0];
11+
S2 -> S1 [label=0];
12+
S2 -> S2 [label=1];
1313
}

‎examples/graph5_nfa.dot

+4-4
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@ strict digraph FSM {
66
S3 [shape=doublecircle];
77
S3 -> S3 [label=0];
88
S3 -> S4 [label=1];
9+
S4 -> S3 [label=1];
10+
S4 -> S4 [label=0];
11+
S0 -> S3 [label=ε];
912
S1 [shape=doublecircle];
13+
S0 -> S1 [label=ε];
1014
S1 -> S1 [label=1];
1115
S1 -> S2 [label=0];
12-
S0 -> S3 [label=ε];
13-
S0 -> S1 [label=ε];
14-
S4 -> S3 [label=1];
15-
S4 -> S4 [label=0];
1616
S2 -> S1 [label=0];
1717
S2 -> S2 [label=1];
1818
}

‎examples/graph6_dfa.dot

+5-5
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@ strict digraph FSM {
55
"{1, 2, 3}" [shape=doublecircle];
66
null -> "{1, 2, 3}";
77
"{2, 4}" [shape=doublecircle];
8-
"{1, 2, 3}" -> "{2, 4}" [label="0, 1"];
8+
"{2, 4}" -> "{2, 4}" [label=1];
99
"{2, 3}" [shape=doublecircle];
10+
"{2, 4}" -> "{2, 3}" [label=0];
11+
"{1, 2, 3}" -> "{2, 4}" [label="1, 0"];
1012
"{4}" [shape=doublecircle];
11-
"{2, 3}" -> "{4}" [label=0];
12-
"{2, 3}" -> "{2, 4}" [label=1];
1313
"{4}" -> "{2, 3}" [label=0];
14-
"{2, 4}" -> "{2, 3}" [label=0];
15-
"{2, 4}" -> "{2, 4}" [label=1];
14+
"{2, 3}" -> "{2, 4}" [label=1];
15+
"{2, 3}" -> "{4}" [label=0];
1616
}

‎examples/graph7_dfa.dot

+41-44
Original file line numberDiff line numberDiff line change
@@ -2,48 +2,45 @@ strict digraph FSM {
22
graph [rankdir=LR];
33
node [shape=circle];
44
null [shape=point];
5-
null -> "{'X'}";
6-
"{'3', '2', 'X'}" [shape=doublecircle];
7-
"{'3', 'X'}" [shape=doublecircle];
8-
"{'3', '2', 'X'}" -> "{'3', 'X'}" [label=0];
9-
"{'X', '3', '0'}" [shape=doublecircle];
10-
"{'3', '2', 'X'}" -> "{'X', '3', '0'}" [label=1];
11-
"{'3', 'X'}" -> "{'X'}" [label=0];
12-
"{'3', 'X'}" -> "{'0', 'X'}" [label=1];
13-
"{'2', 'X'}" -> "{'3', 'X'}" [label=0];
14-
"{'2', 'X'}" -> "{'X', '3', '0'}" [label=1];
15-
"{'1', 'X'}" -> "{'2', 'X'}" [label=0];
16-
"{'1', 'X'}" -> "{'0', '2', 'X'}" [label=1];
17-
"{'X', '3', '2', '0'}" [shape=doublecircle];
18-
"{'3', '0', '1', 'X'}" [shape=doublecircle];
19-
"{'X', '3', '2', '0'}" -> "{'3', '0', '1', 'X'}" [label=1];
20-
"{'3', '1', 'X'}" [shape=doublecircle];
21-
"{'X', '3', '2', '0'}" -> "{'3', '1', 'X'}" [label=0];
22-
"{'X'}" -> "{'X'}" [label=0];
23-
"{'X'}" -> "{'0', 'X'}" [label=1];
24-
"{'X', '3', '1', '0'}" [shape=doublecircle];
25-
"{'X', '3', '1', '0'}" -> "{'1', '2', 'X'}" [label=0];
26-
"{'X', '3', '1', '0'}" -> "{'0', '1', '2', 'X'}" [label=1];
27-
"{'3', '1', '2', '0', 'X'}" [shape=doublecircle];
28-
"{'3', '1', '2', '0', 'X'}" -> "{'3', '1', '2', '0', 'X'}" [label=1];
29-
"{'3', '1', '2', 'X'}" [shape=doublecircle];
30-
"{'3', '1', '2', '0', 'X'}" -> "{'3', '1', '2', 'X'}" [label=0];
31-
"{'1', '2', 'X'}" -> "{'3', '2', 'X'}" [label=0];
32-
"{'1', '2', 'X'}" -> "{'X', '3', '2', '0'}" [label=1];
33-
"{'0', '1', '2', 'X'}" -> "{'3', '1', '2', '0', 'X'}" [label=1];
34-
"{'0', '1', '2', 'X'}" -> "{'3', '1', '2', 'X'}" [label=0];
35-
"{'0', '1', 'X'}" -> "{'1', '2', 'X'}" [label=0];
36-
"{'0', '1', 'X'}" -> "{'0', '1', '2', 'X'}" [label=1];
37-
"{'3', '0', '1', 'X'}" -> "{'1', '2', 'X'}" [label=0];
38-
"{'3', '0', '1', 'X'}" -> "{'0', '1', '2', 'X'}" [label=1];
39-
"{'3', '1', 'X'}" -> "{'2', 'X'}" [label=0];
40-
"{'3', '1', 'X'}" -> "{'0', '2', 'X'}" [label=1];
41-
"{'0', 'X'}" -> "{'1', 'X'}" [label=0];
42-
"{'0', 'X'}" -> "{'0', '1', 'X'}" [label=1];
43-
"{'3', '1', '2', 'X'}" -> "{'3', '2', 'X'}" [label=0];
44-
"{'3', '1', '2', 'X'}" -> "{'X', '3', '2', '0'}" [label=1];
45-
"{'0', '2', 'X'}" -> "{'X', '3', '1', '0'}" [label=1];
46-
"{'0', '2', 'X'}" -> "{'3', '1', 'X'}" [label=0];
47-
"{'X', '3', '0'}" -> "{'1', 'X'}" [label=0];
48-
"{'X', '3', '0'}" -> "{'0', '1', 'X'}" [label=1];
5+
null -> "{X}";
6+
"{0, 2, 3, X}" [shape=doublecircle];
7+
"{1, 3, X}" [shape=doublecircle];
8+
"{0, 2, 3, X}" -> "{1, 3, X}" [label=0];
9+
"{0, 1, 3, X}" [shape=doublecircle];
10+
"{0, 2, 3, X}" -> "{0, 1, 3, X}" [label=1];
11+
"{0, 3, X}" [shape=doublecircle];
12+
"{2, X}" -> "{0, 3, X}" [label=1];
13+
"{3, X}" [shape=doublecircle];
14+
"{2, X}" -> "{3, X}" [label=0];
15+
"{0, 3, X}" -> "{0, 1, X}" [label=1];
16+
"{0, 3, X}" -> "{1, X}" [label=0];
17+
"{3, X}" -> "{X}" [label=0];
18+
"{3, X}" -> "{0, X}" [label=1];
19+
"{X}" -> "{X}" [label=0];
20+
"{X}" -> "{0, X}" [label=1];
21+
"{0, 1, 2, 3, X}" [shape=doublecircle];
22+
"{0, 1, 2, 3, X}" -> "{0, 1, 2, 3, X}" [label=1];
23+
"{1, 2, 3, X}" [shape=doublecircle];
24+
"{0, 1, 2, 3, X}" -> "{1, 2, 3, X}" [label=0];
25+
"{1, 2, X}" -> "{0, 2, 3, X}" [label=1];
26+
"{2, 3, X}" [shape=doublecircle];
27+
"{1, 2, X}" -> "{2, 3, X}" [label=0];
28+
"{0, 1, 2, X}" -> "{0, 1, 2, 3, X}" [label=1];
29+
"{0, 1, 2, X}" -> "{1, 2, 3, X}" [label=0];
30+
"{1, 2, 3, X}" -> "{0, 2, 3, X}" [label=1];
31+
"{1, 2, 3, X}" -> "{2, 3, X}" [label=0];
32+
"{2, 3, X}" -> "{0, 3, X}" [label=1];
33+
"{2, 3, X}" -> "{3, X}" [label=0];
34+
"{0, 1, X}" -> "{1, 2, X}" [label=0];
35+
"{0, 1, X}" -> "{0, 1, 2, X}" [label=1];
36+
"{0, 2, X}" -> "{1, 3, X}" [label=0];
37+
"{0, 2, X}" -> "{0, 1, 3, X}" [label=1];
38+
"{0, X}" -> "{0, 1, X}" [label=1];
39+
"{0, X}" -> "{1, X}" [label=0];
40+
"{1, 3, X}" -> "{2, X}" [label=0];
41+
"{1, 3, X}" -> "{0, 2, X}" [label=1];
42+
"{1, X}" -> "{2, X}" [label=0];
43+
"{1, X}" -> "{0, 2, X}" [label=1];
44+
"{0, 1, 3, X}" -> "{1, 2, X}" [label=0];
45+
"{0, 1, 3, X}" -> "{0, 1, 2, X}" [label=1];
4946
}

‎examples/graph7_nfa.dot

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ strict digraph FSM {
33
node [shape=circle];
44
null [shape=point];
55
null -> X;
6-
0 -> 1 [label="0, 1"];
6+
1 -> 2 [label="0, 1"];
77
3 [shape=doublecircle];
88
2 -> 3 [label="0, 1"];
9-
1 -> 2 [label="0, 1"];
10-
X -> 0 [label=1];
119
X -> X [label="0, 1"];
10+
X -> 0 [label=1];
11+
0 -> 1 [label="0, 1"];
1212
}

0 commit comments

Comments
 (0)