Liang,
your problem is likely to be caused by the relative priorities on whether to
stay or leave any of the partial FS machines due to common character sequences.
There is an interesting side effect in the way you have written your
specification. The path “/pub/ietf/uri” may not get accepted, but
“:/pub/ietf/uri” does!
Rebalancing your machine slightly, so it reads
main := (( scheme ":" )?) <: (( "//" authority** )?) path ( "?" query
)? ( "#" fragment )?;
lets it now accept the initial path spec. Of course, I have not checked whether
there are now new unwanted effects. In case of ambiguities like this my
preferred method to study it is by looking at the graphviz output.
jg
_______________________________________________
ragel-users mailing list
[email protected]
http://www.complang.org/mailman/listinfo/ragel-users