[ragel-users] (resolved?) Trouble referencing definitions from included machines (6.6)

Austin Hastings ah08010-ragel at yahoo.com
Tue Mar 22 22:55:57 UTC 2011


Following up a little more:  I decided to try running under windows 
cmd.exe, instead of mingw. That didn't have any effect.

Frustrated, I rebuilt the ragel within mingw entirely, starting from 
"./configure".

That has apparently solved the problem. The same command line as 
described below now completes with no errors reported, and running ragel 
-V produces a .dot file that looks like what I expect.

Woo-hoo!

Can I request an option, --vis-char-transitions (defaulting to "on") to 
emit character based transitions as quoted letters instead of integer 
numbers during visualization?

That is, in the dot generator, produce something like:

1 -> 2 [ label = "'o'" ];

Instead of the current:

1 -> 2 [ label = "111" ];

(At least whenever isgraph(ch)?)

Thanks,

=Austin


On 3/22/2011 6:44 PM, Austin Hastings wrote:
> This is on windows (32bit, XP pro sp3, en-us), using the binary 
> distribution linked from the ragel home page. FWIW, I'm invoking the 
> commands under Mingw bash.
>
> I've attached some output from procmon, with the good bits at about 
> line 135. The file is apparently located and successfully read, but 
> then somehow ragel decides to fail.
>
>
> =Austin
>
>
> On 3/22/2011 3:05 PM, Adrian Thurston wrote:
>> I've been unable to reproduce this problem using the ragel 6.6
>> distribution tarball on my ubuntu lucid system. Can you tell me which
>> architecture you are on? Where did you get the build? Also, could you
>> attach an strace log?
>>
>> Thanks,
>>  Adrian
>>
>> On 11-03-22 11:27 AM, Austin Hastings wrote:
>>> Howdy,
>>>
>>> I was playing a bit with Ragel, and trying to include one machine from
>>> another. I spent some time with a "graph lookup ... failed" error, 
>>> until
>>> I put my test file in the same place.
>>>
>>> As a test case, I have this:
>>>
>>> ===== testinc.rl =====
>>> %%{
>>> machine inner;
>>> one = "one";
>>> two = "two";
>>> }%%
>>> ===== test.rl =====
>>> %%{
>>> machine test;
>>> include inner "testinc.rl";
>>>
>>> main := one;
>>> }%%
>>> ===== =====
>>>
>>> When I have test.rl and testinc.rl in the same directory, I can do
>>>
>>> ragel test.rl
>>>
>>> with no problems. When I move testinc.rl to a different directory:
>>>
>>> mkdir x
>>> mv testinc.rl x
>>> ragel test.rl
>>>
>>> I get errors (as expected):
>>>
>>> test.rl:3:28: include: failed to locate file
>>> test.rl:3:28: include: attempted: "testinc.rl"
>>> test.rl:5:10: graph lookup of "one" failed
>>>
>>> When I then specify the include path:
>>>
>>> ragel -I x test.rl
>>>
>>> I get:
>>>
>>> $ ragel -I x test.rl
>>> test.rl:5:10: graph lookup of "one" failed
>>>
>>> Apparently ragel now finds the included file okay, but for some reason
>>> the exact same file which worked before has problems with finding the
>>> "one" tag.
>>>
>>> What am I doing wrong, or is this a bug?
>>>
>>> =Austin
>>>
>>>
>>> _______________________________________________
>>> ragel-users mailing list
>>> ragel-users at complang.org
>>> http://www.complang.org/mailman/listinfo/ragel-users
>>>
>>
>> _______________________________________________
>> ragel-users mailing list
>> ragel-users at complang.org
>> http://www.complang.org/mailman/listinfo/ragel-users
>>
>
>


_______________________________________________
ragel-users mailing list
ragel-users at complang.org
http://www.complang.org/mailman/listinfo/ragel-users



More information about the ragel-users mailing list