@@ -98,6 +98,8 @@ Formal notation of the deterministic machines:
98
98
> typedef struct automaton_state (automaton_state);
99
99
> typedef struct automaton_input (automaton_input);
100
100
> typedef struct automaton_transition_complex (automaton_transition_complex);
101
+ > typedef struct automaton_pattern (automaton_pattern);
102
+ > typedef struct automaton_recognizer (automaton_recognizer);
101
103
> typedef struct automaton_processors (automaton_processors);
102
104
> typedef automaton_state * (* delta)(automaton_input * ) (automaton_delta);
103
105
>
@@ -172,11 +174,44 @@ Formal notation of the deterministic machines:
172
174
> void * metadata;
173
175
> };
174
176
>
177
+ > struct automaton_pattern {
178
+ > automaton_transition_complex * start_address;
179
+ > automaton_transition_complex * end_address;
180
+ > };
181
+ >
182
+ > struct automaton_recognizer {
183
+ > /**
184
+ > * @brief Provides a complex binary-tuple representing
185
+ > * the Sigma and the Q collections.
186
+ > * /
187
+ > automaton_transition_complex ** reference_complexes;
188
+ >
189
+ > /**
190
+ > * @brief Provdies clamping maneuvers to synthesis a
191
+ > * word from the alphabet of the automaton
192
+ > * (i.e., the reference complexes).
193
+ > * /
194
+ > automaton_pattern * pattern;
195
+ > };
196
+ >
175
197
> uint8_t automaton_init(automaton * machine);
176
198
>
177
199
> uint8_t automaton_destroy(automaton * machine);
178
200
>
179
201
> uint8_t automaton_transit(automaton * machine, automaton_transition_complex * transition);
202
+ >
203
+ > /**
204
+ > * @brief Automaton Pattern recognizer is a finite machine that
205
+ > * tests whether a specific pattern of addresses is recognizable in this
206
+ > * automaton. A transition complex sequence (i.e., the string in formal languages) is
207
+ > * said to be recognized if and only if the final member in the sequence collection
208
+ > * ` automaton_transition_complex ` , that is synethesized from the automaton alphabet, contains
209
+ > * an accepting state, However, if this condition cannot be met; then the memory pattern
210
+ > * is said not to be recognizable under this automaton recognizer machine. If the recognition
211
+ > * operation is a success, the recognition success processer will be invoked, otherwise if the
212
+ > * machine doesn't accept then the recognition failure processor will be invoked.
213
+ > * /
214
+ > uint8_t automaton_recognizer(automaton * machine, automaton_recognizer * recognizer);
180
215
>
181
216
> #ifdef __ cplusplus
182
217
> }
0 commit comments