Commit graph

27 commits

Author SHA1 Message Date
e5a9c03bb6 Implement DFA minimization 2019-10-31 19:10:33 +00:00
19f37ab578 Explicitly order names in set labels 2019-10-30 21:31:25 +00:00
ed00c85fa7 Adapt visualisation to the new types 2019-10-30 21:10:37 +00:00
51dfa176ac Adapt nfaToDfa and dfaToNfa to new types
Also, the files updated so far compile with --pedantic now :)
2019-10-30 18:09:30 +00:00
c99b6dcd47 Implement Nfa using Fa 2019-10-30 16:00:29 +00:00
e273c8bc75 Implement Dfa using Fa 2019-10-30 15:19:52 +00:00
33ed11abc4 Begin extracting Dfa and Nfa commonalities 2019-10-30 14:08:34 +00:00
c13ab29ce9 Fix package
Some files that were deleted previously were not removed from the
package. Now, compilation should work again.
2019-10-30 11:24:02 +00:00
0a446ca70e Change project name 2019-10-28 13:48:28 +00:00
ae84e1a148 Slightly change DFA visualization
Transitions to the same state are now clumped together as one arrow.
2019-10-28 13:44:26 +00:00
e8168e5f35 Mark entry state 2019-10-26 20:07:52 +00:00
027ffa58ab Save graphs as images 2019-10-26 19:48:21 +00:00
152335e267 Fix error converting NFA to DFA
I didn't handle epsilon transitions correctly, now I hopefully do.
2019-10-26 19:47:22 +00:00
0082c427ed Fix nfa evaluation 2019-10-26 19:01:31 +00:00
10db66edc0 Visualize the automata using GraphViz 2019-10-26 18:18:08 +00:00
34a3a2027c Rename a DFA's and NFA's states 2019-10-26 15:24:36 +00:00
c44f4c090b Make constructing NFAs and DFAs more usable 2019-10-26 10:12:35 +00:00
02bf60b095 Add epsilon transitions 2019-10-26 10:10:45 +00:00
11f0f68513 Convert between DFA and NFA 2019-10-25 15:06:52 +00:00
56bcf2c987 Execute DFA and NFA on a list of tokens 2019-10-25 09:43:52 +00:00
edd7a44d02 Add DFA constructor function
Also cleanes up the naming scheme, just like the last commit.
2019-10-24 22:40:24 +00:00
89a5683ba2 Change function naming scheme
Since NFAs and DFAs have been put into separate modules, there's no
need to prefix their attribute functions with 'nfa' or 'dfa' any more.
2019-10-24 22:39:17 +00:00
edd31cb52a Flesh out NFAs 2019-10-24 20:00:00 +00:00
4cae9af848 Add DFA and NFA representations 2019-10-24 12:28:47 +00:00
a6fdf546c3 Add regex representations 2019-10-21 18:13:10 +00:00
929fa12b6d Do some basic setup 2019-10-21 11:58:32 +00:00
b3b0fc3cc8 Create new project with stack 2019-10-21 11:43:55 +00:00