Need to compute the low and high character-space keys from the condition-trans
authorthurston <thurston@052ea7fc-9027-0410-9066-f65837a77df0>
Thu, 3 Apr 2008 22:33:28 +0000 (22:33 +0000)
committerthurston <thurston@052ea7fc-9027-0410-9066-f65837a77df0>
Thu, 3 Apr 2008 22:33:28 +0000 (22:33 +0000)
commitfbea67dbffcc0b8cc35fd0e582597688bcebe53e
tree097154a30c64435d2490bb5eeb77b3b5ed52608a
parent42f0a043f0dce96a7bf41ae8e66a0dbe4602df38
Need to compute the low and high character-space keys from the condition-trans
overlap when computing an expansion. Can't use the range supplied from the
condition overlap since they may not match. An incorrect machine that accepted
1(!cond1, !cond2) was generated for the following grammar.

c = 2 @matched_c;
sc1 = 1..2 when cond1;
sc2 = 1..2 when cond2;
main := sc1 | c | sc2;

This bug was reported by Tim Chklovski.

git-svn-id: http://svn.complang.org/ragel/trunk@422 052ea7fc-9027-0410-9066-f65837a77df0
ragel/fsmgraph.cpp