Hi, the following code produces a segmentfault:
------identity.rl-------------
class Identity
%%{
machine identity;
CR = "\r";
LF = "\n";
CRLF = CR LF;
SP = " ";
HTAB = "\t";
WSP = SP | HTAB;
LWS = ( WSP* CRLF )? WSP+;
SWS = LWS?;
LAQUOT = SWS "<";
RAQUOT = ">" SWS;
DQUOTE = "\"";
ALPHA = 0x41..0x5a | 0x61..0x7a;
DIGIT = 0x30..0x39;
alphanum = ALPHA | DIGIT;
quoted_pair = "\\" ( 0x00..0x09 | 0x0b..0x0c | 0x0e..0x7f );
UTF8_CONT = 0x80..0xbf;
UTF8_NONASCII = ( 0xc0..0xdf UTF8_CONT ) | ( 0xe0..0xef
UTF8_CONT{2} ) | (
0xf0..0xf7 UTF8_CONT{3} ) | ( 0xf8..0xfb UTF8_CONT{4} ) | ( 0xfc..0xfd
UTF8_CONT{5} );
token = ( alphanum | "-" | "." | "!" | "%" | "*" | "_" | "+" |
"`" | "'" |
"~" )+;
qdtext = LWS | "!" | 0x23..0x5b | 0x5d..0x7e | UTF8_NONASCII;
quoted_string = DQUOTE ( qdtext | quoted_pair )* DQUOTE;
display_name = quoted_string | ( token ( LWS token )* );
write data;
}%%
end
-------------------
~$ ragel -F1 -R identity.rl
Segmentfault
If doesn't occur if I remove the line "write data".
It occurs in Debian and Ubuntu of 32 and 64 bits, with Ragel 6.4 and 6.5,
using Ruby 1.8 or 1.9 (for sure Ruby version doesn't affect here).
Is it a bug?
Regards.
--
Iñaki Baz Castillo <[email protected]>
_______________________________________________
ragel-users mailing list
[email protected]
http://www.complang.org/mailman/listinfo/ragel-users