[ragel-users] Go line directives

Anton Ageev antage at gmail.com
Sun Apr 28 08:00:29 UTC 2013


It's interesting undocumented feature. I played with go examples and I got
very discouraging behaviour.

Example 1.

atoi.go:
...
//line atoi.rl:34
 neg = ttrue // I change 'true' to 'ttrue' to make error message
    case 1:
//line atoi.rl:35

val = val * 10 + (int(data[p]) - '0')
...

I run `go run atoi.go` and I got following message:

# command-line-arguments
atoi.rl:34[/home/antage/workspace/ragel-go/examples/go/atoi.go:163]:
undefined: ttrue

It's looking fine.

Example 2.

atoi.go:
...
//line atoi.rl:34

 neg = ttrue // I change 'true' to 'ttrue' to make error message
    case 1:
//line atoi.rl:35

val = val * 10 + (int(data[p]) - '0')
...

I just add empty line after '//line atoi.rl:34' directive.
I got following message:

# command-line-arguments
atoi.rl:35[/home/antage/workspace/ragel-go/examples/go/atoi.go:164]:
undefined: ttrue

It's not fine. Error isn't at atoi.rl:35, it's at atoi.rl:34.

Ragel generates a lot of empty lines when embedding an action code. So we
can't rely on '//line' directive to locate errors in .rl files.



On Sun, Apr 28, 2013 at 1:38 AM, Folke B. <messias at gmail.com> wrote:

> Hi
>
> I was wondering if Ragel could emit line directives in a format that is
> understood by the Go compiler. The format is "\n//line
> path/to/file.rl:123\n". (Note that it has to start at column 1.)
>
> Thanks,
> Folke
>
> PS: Ragel is awesome!
>
>
> _______________________________________________
> ragel-users mailing list
> ragel-users at complang.org
> http://www.complang.org/mailman/listinfo/ragel-users
>



-- 
WBR, Anton
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.colm.net/pipermail/ragel-users/attachments/20130428/c7e12e82/attachment-0001.html>
-------------- next part --------------
_______________________________________________
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