diff --git a/centvrion/ast_nodes.py b/centvrion/ast_nodes.py index 6c27c26..7be37dd 100644 --- a/centvrion/ast_nodes.py +++ b/centvrion/ast_nodes.py @@ -1466,9 +1466,6 @@ class BuiltIn(Node): ) print(print_string) return vtable, ValStr(print_string) - case "ERVMPE": - vtable["#break"] = True - return vtable, ValNul() case "FORTVITVS_NVMERVS": if "FORS" not in vtable["#modules"]: raise CentvrionError("Cannot use 'FORTVITVS_NVMERVS' without module 'FORS'") diff --git a/centvrion/compiler/emit_expr.py b/centvrion/compiler/emit_expr.py index 328d978..6085cc8 100644 --- a/centvrion/compiler/emit_expr.py +++ b/centvrion/compiler/emit_expr.py @@ -310,11 +310,6 @@ def _emit_builtin(node, ctx): else: lines.append(f"CentValue {tmp} = cent_senatus(NULL, 0);") - case "ERVMPE": - # break as expression (side-effecting; result is unused) - lines.append("break;") - lines.append(f"CentValue {tmp} = cent_null();") - case "CLAVES": lines.append(f"CentValue {tmp} = cent_dict_keys({param_vars[0]});") diff --git a/tests/13_test_failures.py b/tests/13_test_failures.py index 53bfba0..9d0a383 100644 --- a/tests/13_test_failures.py +++ b/tests/13_test_failures.py @@ -107,6 +107,8 @@ error_tests = [ ("SI [] TVNC { DESIGNA r VT I }", CentvrionError), # non-bool SI condition: empty list ("DESIGNA x VT I\nDVM x FAC {\nDESIGNA x VT x + I\n}", CentvrionError), # non-bool DVM condition: int ("NON I", CentvrionError), # NON on integer + ("ERVMPE()", SyntaxError), # ERVMPE is statement-only + ("CONTINVA()", SyntaxError), # CONTINVA is statement-only ("DESIGNA z VT I - I\nNON z", CentvrionError), # NON on zero integer ('NON "hello"', CentvrionError), # NON on string ("DESIGNA a, b VT III", CentvrionError), # destructure non-array