<div dir="ltr">On Mon, Apr 29, 2013 at 1:32 AM, Dan Kortschak <span dir="ltr"><<a href="mailto:dan.kortschak@adelaide.edu.au" target="_blank">dan.kortschak@adelaide.edu.au</a>></span> wrote:<br><div class="gmail_extra">
<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">This would a useful addition to the process though, so it is probably worth filing an issue with the Go project.<br>

<div class=""><div class="h5"><br></div></div></blockquote><div><br></div><div style>I realized it isn't a bug. Go compiler takes in consideration a distance between '//line' directive and a line with error.</div>
<div style>I added experimental support for '//line' directive at <a href="https://github.com/antage/ragel-go/tree/golang-6">https://github.com/antage/ragel-go/tree/golang-6</a></div><div style>I need a feedback about how to accurate go compiler report error line location in *.rl file.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class=""><div class="h5">
On 28/04/2013, at 5:30 PM, "Anton Ageev" <<a href="mailto:antage@gmail.com">antage@gmail.com</a>> wrote:<br>
<br>
> It's interesting undocumented feature. I played with go examples and I got very discouraging behaviour.<br>
><br>
> Example 1.<br>
><br>
> atoi.go:<br>
> ...<br>
> //line atoi.rl:34<br>
>  neg = ttrue // I change 'true' to 'ttrue' to make error message<br>
>     case 1:<br>
> //line atoi.rl:35<br>
><br>
> val = val * 10 + (int(data[p]) - '0')<br>
> ...<br>
><br>
> I run `go run atoi.go` and I got following message:<br>
><br>
> # command-line-arguments<br>
> atoi.rl:34[/home/antage/workspace/ragel-go/examples/go/atoi.go:163]: undefined: ttrue<br>
><br>
> It's looking fine.<br>
><br>
> Example 2.<br>
><br>
> atoi.go:<br>
> ...<br>
> //line atoi.rl:34<br>
><br>
>  neg = ttrue // I change 'true' to 'ttrue' to make error message<br>
>     case 1:<br>
> //line atoi.rl:35<br>
><br>
> val = val * 10 + (int(data[p]) - '0')<br>
> ...<br>
><br>
> I just add empty line after '//line atoi.rl:34' directive.<br>
> I got following message:<br>
><br>
> # command-line-arguments<br>
> atoi.rl:35[/home/antage/workspace/ragel-go/examples/go/atoi.go:164]: undefined: ttrue<br>
><br>
> It's not fine. Error isn't at atoi.rl:35, it's at atoi.rl:34.<br>
><br>
> 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.<br>
<br>
</div></div><div class=""><div class="h5">_______________________________________________<br>
ragel-users mailing list<br>
<a href="mailto:ragel-users@complang.org">ragel-users@complang.org</a><br>
<a href="http://www.complang.org/mailman/listinfo/ragel-users" target="_blank">http://www.complang.org/mailman/listinfo/ragel-users</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>WBR, Anton
</div></div>