Mescal
Loading...
Searching...
No Matches
nfa_determi.h
Go to the documentation of this file.
1
6
7#ifndef NFA_DETERMI_H
8#define NFA_DETERMI_H
9
10 /* _ _ _____ _ ____ _____ _____ _____ ____ __ __ ___ _ _ ___ _____ _ _____ ___ ___ _ _ */
11 /* | \ | | ___/ \ _ | _ \| ____|_ _| ____| _ \| \/ |_ _| \ | |_ _|__ / / \|_ _|_ _/ _ \| \ | | */
12 /* | \| | |_ / _ \ (_) | | | | _| | | | _| | |_) | |\/| || || \| || | / / / _ \ | | | | | | | \| | */
13 /* | |\ | _/ ___ \ _ | |_| | |___ | | | |___| _ <| | | || || |\ || | / /_ / ___ \| | | | |_| | |\ | */
14 /* |_| \_|_|/_/ \_(_) |____/|_____| |_| |_____|_| \_\_| |_|___|_| \_|___/____/_/ \_\_| |___\___/|_| \_| */
15
16#include "nfa.h"
17#include "printing.h"
18
31 bool
32);
33
34
39typedef struct {
40 uint* edges;
41 uint* st_edges;
43 uint* ed_edges;
46
52 dfa_mirror_info* mirror
53);
54
55
68 bool
69);
70
71
80);
81
82
91);
92
93
94#endif
Implementation of NFAs.
dfa * nfa_determinize(nfa *, bool)
Determinization of a NFA with the subset construction.
Definition nfa_determi.c:137
nfa * nfa_complement(nfa *)
Complementation of a NFA.
Definition nfa_determi.c:456
dfa * dfa_complement(dfa *)
Complementation of a DFA.
Definition nfa_determi.c:490
dfa * dfa_determinize_mirror(dfa *, bool)
Determinization of the mirror of a DFA with the subset construction.
Definition nfa_determi.c:310
void dfa_get_mirror_info(dfa *A, dfa_mirror_info *mirror)
Initializes the dfa_mirror_info structure from a dfa.
Definition nfa_determi.c:273
Represents the required information for determinization of the mirror of a DFA.
Definition nfa_determi.h:39
uint * st_edges
For each state q and each label a st_edges[q * size_alpha + a] is the index of the first edge in edge...
Definition nfa_determi.h:41
uint * ed_edges
For each state q and each label a ed_edges[q * size_alpha + a] is the index following that of the las...
Definition nfa_determi.h:43
uint * edges
The edges of the mirror DFA (size size_alpha * size_graph).
Definition nfa_determi.h:40
Type used to represent a complete DFA.
Definition nfa.h:61
Type used to represent a NFA.
Definition nfa.h:43