authored by
Yuki Izumi
<yuki@kivikakk.ee>
10 years ago
lang.l
| 10 ++++------
parser.c
| 4 ++--
parser.h
| 4 ++--
3 files changed, 8 insertions(+), 10 deletions(-)
@@ -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: */
@@ -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;
}
@@ -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