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. <mess...@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@complang.org > http://www.complang.org/mailman/listinfo/ragel-users > -- WBR, Anton
_______________________________________________ ragel-users mailing list ragel-users@complang.org http://www.complang.org/mailman/listinfo/ragel-users