diff --git a/c/containers/mlr_dsl_ast.c b/c/containers/mlr_dsl_ast.c index 23e11f66d..137ff0523 100644 --- a/c/containers/mlr_dsl_ast.c +++ b/c/containers/mlr_dsl_ast.c @@ -173,6 +173,8 @@ char* mlr_dsl_ast_node_describe_type(mlr_dsl_ast_node_type_t type) { case MD_AST_NODE_TYPE_ENV: return "env"; break; case MD_AST_NODE_TYPE_FOR: return "for"; break; case MD_AST_NODE_TYPE_IN: return "in"; break; + case MD_AST_NODE_TYPE_BREAK: return "break"; break; + case MD_AST_NODE_TYPE_CONTINUE: return "continue"; break; default: return "???"; } } diff --git a/c/containers/mlr_dsl_ast.h b/c/containers/mlr_dsl_ast.h index 7670466e8..4416f2ca7 100644 --- a/c/containers/mlr_dsl_ast.h +++ b/c/containers/mlr_dsl_ast.h @@ -35,6 +35,8 @@ typedef enum _mlr_dsl_ast_node_type_t { MD_AST_NODE_TYPE_NOP, // only for parser internals; should not be in the AST returned by the parser MD_AST_NODE_TYPE_FOR, MD_AST_NODE_TYPE_IN, + MD_AST_NODE_TYPE_BREAK, + MD_AST_NODE_TYPE_CONTINUE, } mlr_dsl_ast_node_type_t; typedef struct _mlr_dsl_ast_t { diff --git a/c/dsls/mlr_dsl_lexer.l b/c/dsls/mlr_dsl_lexer.l index b79a51c04..e43566298 100644 --- a/c/dsls/mlr_dsl_lexer.l +++ b/c/dsls/mlr_dsl_lexer.l @@ -4,6 +4,17 @@ #include "mlr_dsl_parse.h" #include "../containers/mlr_dsl_ast.h" // http://flex.sourceforge.net/manual/Extra-Data.html + +//xxx to do +//"break" { +// *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_BREAK); +// return MD_TOKEN_BREAK; +//} +//"continue" { +// *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_CONTINUE); +// return MD_TOKEN_CONTINUE; +//} + %} %option reentrant diff --git a/c/todo.txt b/c/todo.txt index 33ec037e4..78db2456c 100644 --- a/c/todo.txt +++ b/c/todo.txt @@ -42,18 +42,6 @@ TOP-OF-LIST SUMMARY ? komosa multiops? ? for x $* { for y { @v["a"] { ... } } ? -================================================================ -* relcut material since 3.5.0: - - oosvars - - begin/end - - emit/all - - unset/all - - bare-boolean and pattern-action - - put -q: equiv to putting 'filter false' - - += et al. were ever announced -- fix intro release & note - - double-backslashing bug in sub/gsub - - --from, & why: up-arrow & append then-chain - ================================================================ NON-PRE4 ================================================================