You must not have tried the 'easy' solution I gave. Run it and then look up the 
operator precedence rules in the manual.

Also note, these are expressions that are evaluated into one machine and not 
rules in the usual sense. 

Adrian
------Original Message------
From: Dmitry Marakasov
Sender: 
To: [email protected]
ReplyTo: [email protected]
Sent: Feb 9, 2009 5:43 PM
Subject: Re: [ragel-users] Actions embedded into unexpected transitions?

* Adrian Thurston ([email protected]) 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
[email protected]  ..:  jabber: [email protected]    http://www.amdmi3.ru

_______________________________________________
ragel-users mailing list
[email protected]
http://www.complang.org/mailman/listinfo/ragel-users

_______________________________________________
ragel-users mailing list
[email protected]
http://www.complang.org/mailman/listinfo/ragel-users

Reply via email to