Mescal
Loading...
Searching...
No Matches
nfa_enum.h
Go to the documentation of this file.
1
6#ifndef NFA_ENUM_H
7#define NFA_ENUM_H
8
9#include "nfa.h"
10
11
12typedef struct
13{
14 short states;
15 short alpha;
16 short** graph;
17 short* used;
18 short* outlabs;
19 short** parti;
20 short* parsize;
21 short inisep;
22 short final;
23 bool run;
24} dfa_enum;
25
26
27
33 short
34);
35
41);
42
48);
49
50
51
52
53
54short iterate_integer_partition(short*,
55 short
56);
57
59);
60
61
62void dfa_enum_print(dfa_enum* E);
63
64
65
66#endif // NFA_ENUM_H
Implementation of NFAs.
short iterate_integer_partition(short *, short)
Definition nfa_enum.c:194
void dfa_enum_free(dfa_enum *)
Frees the memory allocated for an enumeration of NFAs.
Definition nfa_enum.c:29
bool dfa_enum_next(dfa_enum *)
Computes the next NFA in the enumeration.
Definition nfa_enum.c:42
dfa * dfa_enum_to_dfa(dfa_enum *)
Definition nfa_enum.c:231
dfa_enum * dfa_enum_init(short, short)
Initializes an enumeration of NFAs.
Definition nfa_enum.c:3
Definition nfa_enum.h:13
short ** parti
Integer partition of the outgoing letters.
Definition nfa_enum.h:19
short ** graph
Transition graph.
Definition nfa_enum.h:16
short * outlabs
Number of letters going out of the used states.
Definition nfa_enum.h:18
short states
Number of states.
Definition nfa_enum.h:14
short * used
Used states at each point.
Definition nfa_enum.h:17
short inisep
Number of letters looping on the initial state.
Definition nfa_enum.h:21
bool run
True if the enumeration is not finished.
Definition nfa_enum.h:23
short * parsize
Sizes of the partition.
Definition nfa_enum.h:20
short alpha
Number of letters in the alphabet.
Definition nfa_enum.h:15
Type used to represent a complete DFA.
Definition nfa.h:61