Ragel defines constant "[machine name]_first_final" (where "[machine name]"
is a name specified in directive "machine [machine name]").

You could rewrite the code to use this constant:

%%{
  machine sdp;

// the machine definitions are here
....
}%%

...
// go code

if cs != sdp_first_final {
...
}




On Tue, Nov 12, 2013 at 3:57 AM, Iñaki Baz Castillo <i...@aliax.net> wrote:

> The following code in Go:
>
> -----------------
>   if cs != %%{ write first_final; }%% {
> -----------------
>
> generates the following lines in the .go file:
>
> -----------------
>   if cs !=
> // line 12549 "SDP.go"
> 461
> // line 79 "SDP.rl"
>  {
> -----------------
>
> This produces, of course, a syntax error in Go:
>
> sdp/SDP.go:12549: missing condition in if statement
> sdp/SDP.go:12549: cs != 461 evaluated but not used
>
>
>
> $ ragel -v
> Ragel State Machine Compiler version 6.8 Feb 2013
>
>
>
> --
> Iñaki Baz Castillo
> <i...@aliax.net>
>
> _______________________________________________
> 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

Reply via email to