diff --git a/src/libre/ast.h b/src/libre/ast.h index eca93b037..d443db9af 100644 --- a/src/libre/ast.h +++ b/src/libre/ast.h @@ -7,18 +7,6 @@ #ifndef RE_AST_H #define RE_AST_H -/* - * This is a duplicate of struct lx_pos, but since we're linking to - * code with several distinct lexers, there isn't a clear lexer.h - * to include here. The parser sees both definitions, and will - * build a `struct ast_pos` in the appropriate places. - */ -struct ast_pos { - unsigned byte; - unsigned line; - unsigned col; -}; - enum ast_expr_type { /* Reserve one value (0) indicating a freed expression. This value is * intentionally unnamed: code that switches on n->type should be able diff --git a/src/libre/dialect/glob/parser.sid b/src/libre/dialect/glob/parser.sid index d60c415ee..735827f37 100644 --- a/src/libre/dialect/glob/parser.sid +++ b/src/libre/dialect/glob/parser.sid @@ -128,7 +128,6 @@ !: (:pos, :pos) -> (); !: (:pos, :pos) -> (); !: (:pos, :pos) -> (); - !: (:ast_expr, :pos, :pos) -> (); : () -> (:ast_class_id); !: () -> (:ast_class_id); diff --git a/src/libre/dialect/like/parser.sid b/src/libre/dialect/like/parser.sid index 56d14a23a..309fea3b8 100644 --- a/src/libre/dialect/like/parser.sid +++ b/src/libre/dialect/like/parser.sid @@ -128,7 +128,6 @@ !: (:pos, :pos) -> (); !: (:pos, :pos) -> (); !: (:pos, :pos) -> (); - !: (:ast_expr, :pos, :pos) -> (); : () -> (:ast_class_id); !: () -> (:ast_class_id); diff --git a/src/libre/dialect/literal/parser.sid b/src/libre/dialect/literal/parser.sid index 99f8f69d9..3e4d6c388 100644 --- a/src/libre/dialect/literal/parser.sid +++ b/src/libre/dialect/literal/parser.sid @@ -128,7 +128,6 @@ !: (:pos, :pos) -> (); !: (:pos, :pos) -> (); !: (:pos, :pos) -> (); - !: (:ast_expr, :pos, :pos) -> (); !: () -> (:ast_class_id); !: () -> (:ast_class_id); diff --git a/src/libre/dialect/native/parser.sid b/src/libre/dialect/native/parser.sid index 20f0912a3..bac57712c 100644 --- a/src/libre/dialect/native/parser.sid +++ b/src/libre/dialect/native/parser.sid @@ -134,7 +134,6 @@ : (:pos, :pos) -> (); : (:pos, :pos) -> (); : (:pos, :pos) -> (); - : (:ast_expr, :pos, :pos) -> (); : () -> (:ast_class_id); !: () -> (:ast_class_id); @@ -352,8 +351,6 @@ ; end = start; /* appease sid */ }; - - (tmp, start, end); }; piece: () -> (node :ast_expr) [ diff --git a/src/libre/dialect/pcre/parser.sid b/src/libre/dialect/pcre/parser.sid index 3a1d34cbc..6863dc9ba 100644 --- a/src/libre/dialect/pcre/parser.sid +++ b/src/libre/dialect/pcre/parser.sid @@ -140,7 +140,6 @@ : (:pos, :pos) -> (); : (:pos, :pos) -> (); : (:pos, :pos) -> (); - : (:ast_expr, :pos, :pos) -> (); : () -> (:ast_class_id); : () -> (:ast_class_id); @@ -380,8 +379,6 @@ ; end = start; /* appease sid */ }; - - (tmp, start, end); }; type: () -> (node :ast_expr) = { @@ -389,8 +386,6 @@ node = ; (node, class); - - (node, start, end); }; flags: () -> (node :ast_expr) [ diff --git a/src/libre/dialect/sql/parser.sid b/src/libre/dialect/sql/parser.sid index cc54ffecd..f8609c6f5 100644 --- a/src/libre/dialect/sql/parser.sid +++ b/src/libre/dialect/sql/parser.sid @@ -139,7 +139,6 @@ : (:pos, :pos) -> (); : (:pos, :pos) -> (); : (:pos, :pos) -> (); - : (:ast_expr, :pos, :pos) -> (); : () -> (:ast_class_id); !: () -> (:ast_class_id); @@ -253,9 +252,7 @@ { (!, close_start, close_end) = CLOSEGROUP; - (open_start, open_end); - - (tmp, open_start, close_end); + (open_start, close_end); node = class; || @@ -287,11 +284,8 @@ { (!, close_start, close_end) = CLOSEGROUP; - (close_start, close_end); - /* TODO: would prefer to demark class and mask separately */ - (tmp, open_start, close_end); - (mask_tmp, open_start, close_end); + (open_start, close_end); ## ; }; diff --git a/src/libre/parser.act b/src/libre/parser.act index c22197dcd..d9200711b 100644 --- a/src/libre/parser.act +++ b/src/libre/parser.act @@ -799,16 +799,6 @@ mark(&act_state->countend, &@end); @}; - : (node :ast_expr, start :pos, end :pos) -> () = @{ - (void) @start; - (void) @end; - -/* TODO: reinstate this, applies to an expr node in general - @node->u.class.start = ast_start; - @node->u.class.end = ast_end; -*/ - @}; - : () -> (c :ast_class_id) = @{ /* TODO: or the unicode equivalent */ @c = (*flags & RE_SINGLE) ? &class_any : &class_notnl;