fmstar


Name

fmstar -- compute `*' of a machine

Synopsis

fmstar fm

fmstar <fm


Description

fmstar computes `*' (also known as Kleene closure) of fm and writes the result on standard output. The input need not be deterministic.

fm must conform to the Grail format for machines.

fmstar introduces no empty-string instructions. It first computes the `+' of fm, then it clones the start state and makes it a final state.


Examples

% cat dfm5
(START) |- 0
0 a 1
1 c 2
2 e 3
3 -| (FINAL)
1 b 0
2 d 0

% fmstar dfm5
(START) |- 4
0 a 1
1 b 0
1 c 2
2 d 0
2 e 3
2 e 0
4 a 1
3 -| (FINAL)
4 -| (FINAL)



Authors

Darrell Raymond and Derick Wood, the Grail project

See also

fm(5), fmplus(1)