summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorAdrian Thurston <thurston@complang.org>2007-02-06 21:09:33 +0000
committerAdrian Thurston <thurston@complang.org>2007-02-06 21:09:33 +0000
commit8194b62b5f22df7c5e574b9dbbe5db1f5a669d61 (patch)
treec2077dfd3c6b0721368af20472231fc2b0f8425f /examples
parenta5d1e087dcaf6d45905c12669bb23710488b3cc8 (diff)
downloadragel-8194b62b5f22df7c5e574b9dbbe5db1f5a669d61.tar.gz
Added missing write init.
Diffstat (limited to 'examples')
-rw-r--r--examples/pullscan.rl14
1 files changed, 8 insertions, 6 deletions
diff --git a/examples/pullscan.rl b/examples/pullscan.rl
index 79e3c499..110a72c1 100644
--- a/examples/pullscan.rl
+++ b/examples/pullscan.rl
@@ -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; };