r/o

1a6fa3fca002a2148b8c4f7b9413e095085308a5 parent 19bc04bf

authored by Yuki Izumi <yuki@kivikakk.ee> 10 years ago

Don't worry about a stack for now.

lang.l | 10 ++++------
parser.c | 4 ++--
parser.h | 4 ++--
3 files changed, 8 insertions(+), 10 deletions(-)
diff --git a/lang.l b/lang.l
index 8a22fe5..cc1de29 100644
--- a/lang.l
+++ b/lang.l
@@ -17,14 +17,12 @@ a { return A; }
%%
-YY_BUFFER_STATE current_state = NULL;
-
-void *begin_scan(char const *s) {
- return yy_scan_string(s);
+void begin_scan(char const *s) {
+ yy_switch_to_buffer(yy_scan_string(s));
}
-void delete_buffer(void *buffer) {
- yy_delete_buffer(buffer);
+void finish_scan() {
+ yy_delete_buffer(YY_CURRENT_BUFFER);
}
/* vim: set sw=4 et: */
diff --git a/parser.c b/parser.c
index cf9233a..4754704 100644
--- a/parser.c
+++ b/parser.c
@@ -11,8 +11,8 @@ void yyerror(ast_t *ast, char const *s) {
}
int parser_test(void) {
- void *state = begin_scan("PRINT \"HELLO\"");
- delete_buffer(state);
+ begin_scan("PRINT \"HELLO\"");
+ finish_scan();
return 0;
}
diff --git a/parser.h b/parser.h
index d9dcb6a..e8a9d1c 100644
--- a/parser.h
+++ b/parser.h
@@ -10,8 +10,8 @@ void yyerror(ast_t *ast, char const *s);
int parser_test(void);
/* from lang.l */
-void *begin_scan(char const *s);
-void delete_buffer(void *buffer);
+void begin_scan(char const *s);
+void finish_scan();
#endif