Mescal
Loading...
Searching...
No Matches
nfa_mccluskey.h
Go to the documentation of this file.
1
6
7#ifndef MCCLUSKEY_H
8#define MCCLUSKEY_H
9
10 /* _ _ _____ _ ____ _ _ __ __ ____ _ _ */
11 /* | \ | | ___/ \ _ | __ ) _ __ _______ _________ _____| | _(_) | \/ | ___ / ___| |_ _ ___| | _____ _ _ */
12 /* | \| | |_ / _ \ (_) | _ \| '__|_ / _ \_ / _ \ \ /\ / / __| |/ / | | |\/| |/ __| | | | | | / __| |/ / _ \ | | | */
13 /* | |\ | _/ ___ \ _ | |_) | | / / (_) / / (_) \ V V /\__ \ <| | | | | | (__| |___| | |_| \__ \ < __/ |_| | */
14 /* |_| \_|_|/_/ \_(_) |____/|_| /___\___/___\___/ \_/\_/ |___/_|\_\_| |_| |_|\___|\____|_|\__,_|___/_|\_\___|\__, | */
15 /* __ _| | __ _ ___ _ __(_) |_| |__ _ __ ___ |___/ */
16 /* / _` | |/ _` |/ _ \| '__| | __| '_ \| '_ ` _ \ */
17 /* | (_| | | (_| | (_) | | | | |_| | | | | | | | | */
18 /* \__,_|_|\__, |\___/|_| |_|\__|_| |_|_| |_| |_| */
19 /* |___/ */
20
21#include "nfa.h"
22#include "regexp.h"
23
24
41typedef struct {
42 uint size;
45
46
55);
56
65);
66
75);
76
85);
86
87#endif
Implementation of NFAs.
regexp * dfa_mccluskey(dfa *)
Brzozowski-McCluskey algorithm (DFAs).
Definition nfa_mccluskey.c:154
mccluskey_auto * nfa_to_mccluskey(nfa *)
Computes a generalized automaton from an arbitrary NFA.
Definition nfa_mccluskey.c:3
regexp * nfa_mccluskey(nfa *)
Brzozowski-McCluskey algorithm (NFAs).
Definition nfa_mccluskey.c:144
mccluskey_auto * dfa_to_mccluskey(dfa *)
Computes a generalized automaton from an arbitrary DFA.
Definition nfa_mccluskey.c:61
Implementation of regular expressions.
Type used to represent a complete DFA.
Definition nfa.h:61
Type used to represent the generalized automata used in the algorithm.
Definition nfa_mccluskey.h:41
regexp *** matrix
The two-dimensional array (size * size) which stores the transitions.
Definition nfa_mccluskey.h:43
uint size
The size of this automaton.
Definition nfa_mccluskey.h:42
Type used to represent a NFA.
Definition nfa.h:43
Type used to represent a single node in a regular expression.
Definition regexp.h:123