[ragel-users] Actions embedded into unexpected transitions?

Adrian Thurston thurston at complang.org
Mon Feb 9 23:34:45 UTC 2009

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. 

------Original Message------
From: Dmitry Marakasov
To: ragel-users at complang.org
ReplyTo: ragel-users at complang.org
Sent: Feb 9, 2009 5:43 PM
Subject: Re: [ragel-users] Actions embedded into unexpected transitions?

* 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

ragel-users mailing list
ragel-users at complang.org

More information about the ragel-users mailing list