From: Stephen H. <sh...@us...> - 2001-09-01 14:51:26
|
As I have been going through the flexml generated flex code, I found a few state transitions that were a) unnessesary, or others b) missing. The unnessesary states and edges were generated from the translation of * into +?. So, instead of looking for zero or more (aka, *), it looked for ( one or more(+) ) or zero(?) This lead to some additional state changes that could be optimized out. Another way of representing the +?* combo is to represent a+ as a(a)*. Anyway, I've hacked up the code to output state diagrams that are drawn by AT&T lab's dot program (part of the graphviz package). The missing edges are more for error catching / not using the flex default rule, bug 457550, need to be added. https://sourceforge.net/tracker/index.php?func=detail&aid=457550&group_id=34654&atid=411869 |