[ragel-users] Actions embedded into unexpected transitions?

Dmitry Marakasov amdmi3 at amdmi3.ru
Mon Feb 9 22:43:55 UTC 2009


* Adrian Thurston (thurston at complang.org) wrote:

> I still can't see the problem. Can you restate it, if it's still an issue?

It still is. The problem in the behaviour of mentioned machine:

%%{ 
  machine foo; 
 
  a = 'a'+;
  b = a 'b'+;
  main := b+; 
}%%

- Logically.
Rule `b' contains rule `a', and no other rule contains `a'. Thus, you
only can enter `a' from `b', thus `enter a' action should always be
executed after `enter b'.

- In practice
Rule a is entered
Rule a is left
Rule b is entered
Rule b is left

That seem illogical to me.

-- 
Dmitry Marakasov   .   55B5 0596 FF1E 8D84 5F56  9510 D35A 80DD F9D2 F77D
amdmi3 at amdmi3.ru  ..:  jabber: amdmi3 at jabber.ru    http://www.amdmi3.ru




More information about the ragel-users mailing list