From 3d8be844722cb5c6d23b1eeb33c9082408078b1f Mon Sep 17 00:00:00 2001 From: Nathan Braswell Date: Tue, 2 Oct 2018 00:07:02 -0400 Subject: [PATCH] Break and continue weren't all the way implemented --- k.krak | 5 ++++- stdlib/ast.krak | 6 ------ 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/k.krak b/k.krak index d08ecd3..f46a910 100644 --- a/k.krak +++ b/k.krak @@ -825,6 +825,10 @@ fun syntax_to_ast(file_name: str, syntax: *tree, import_paths: ref vecchildren.map(syntax_to_ast_helper)) else if (syntax->data.name == "defer_statement") return _defer(syntax->children.map(syntax_to_ast_helper)) + else if (syntax->data.name == "break_statement") + return _break() + else if (syntax->data.name == "continue_statement") + return _continue() else if (syntax->data.name == "match_statement") { return _match(vec(syntax_to_ast_helper(get_node("boolean_expression", syntax))) + get_nodes("case_statement", syntax).map(fun(s: *tree): *tree { @@ -890,7 +894,6 @@ fun syntax_to_ast(file_name: str, syntax: *tree, import_paths: ref vec>() } } var result = _translation_unit(file_name, syntax->children.map(syntax_to_ast_helper)) diff --git a/stdlib/ast.krak b/stdlib/ast.krak index 0d23ff1..1d3f1ff 100644 --- a/stdlib/ast.krak +++ b/stdlib/ast.krak @@ -187,12 +187,6 @@ fun _for(c: ref vec<*tree>): *tree { fun _return(c: ref vec<*tree>): *tree { return new>()->construct(ast::_return(), c) } -fun _break(c: ref vec<*tree>): *tree { - return new>()->construct(ast::_break(), c) -} -fun _continue(c: ref vec<*tree>): *tree { - return new>()->construct(ast::_continue(), c) -} fun _defer(c: ref vec<*tree>): *tree { return new>()->construct(ast::_defer(), c) }