Added missing write init.
authorthurston <thurston@052ea7fc-9027-0410-9066-f65837a77df0>
Tue, 6 Feb 2007 21:09:33 +0000 (21:09 +0000)
committerthurston <thurston@052ea7fc-9027-0410-9066-f65837a77df0>
Tue, 6 Feb 2007 21:09:33 +0000 (21:09 +0000)
git-svn-id: http://svn.complang.org/ragel/trunk@87 052ea7fc-9027-0410-9066-f65837a77df0

examples/pullscan.rl

index 79e3c49..110a72c 100644 (file)
@@ -26,11 +26,17 @@ typedef struct _Scanner {
 } Scanner;
 
 
+%%{
+       machine Scanner;
+       write data;
+}%%
+
 void scan_init( Scanner *s, FILE *file )
 {
        memset (s, '\0', sizeof(Scanner));
        s->curline = 1;
        s->file = file;
+       %% write init;
 }
 
 #define TK_NO_TOKEN (-1)
@@ -39,12 +45,6 @@ void scan_init( Scanner *s, FILE *file )
 #define TK_Identifier 130
 #define TK_Number 131
 
-
-%%{
-       machine Scanner;
-       write data;
-}%%
-
 #define ret_tok( _tok ) token = _tok; s->data = s->tokstart
 
 int scan( Scanner *s )
@@ -105,6 +105,8 @@ int scan( Scanner *s )
                        # Whitespace
                        [ \t\n];
 
+                       '"' ( [^\\"] | '\\' any ) * '"';
+
                        # Number
                        digit+ => 
                                { ret_tok( TK_Number ); fbreak; };