No longer set state zero to be final in fsa_init()

This commit is contained in:
2024-10-29 13:14:10 +00:00
parent d35fa4e9da
commit 730ec80220
3 changed files with 6 additions and 4 deletions

View File

@@ -118,6 +118,7 @@ static void construct_base(fsa_t *out, int symbol)
const int id = fsa_add_state(out);
fsa_add_rule(out, id, out->initial, symbol);
out->initial = id;
out->states[0].final = true;
}
static void construct_star(fsa_t *out)
@@ -186,6 +187,7 @@ static void construct_union(fsa_t *f, const fsa_t *o)
memcpy(&g, f, sizeof(fsa_t));
fsa_init(f);
f->states[0].final = true;
f->initial = fsa_add_state(f);
int init, final;

View File

@@ -19,7 +19,7 @@ void fsa_init(fsa_t *fsa)
assert(NULL != fsa->states);
fsa->initial = fsa_add_state(fsa);
fsa->states[fsa->initial].final = true;
fsa->states[fsa->initial].final = false;
}
void fsa_free(const fsa_t *fsa)