Mercurial > hg > octave-avbm
diff src/parse.y @ 916:2f35156aa18b
[project @ 1994-11-11 00:36:31 by jwe]
author | jwe |
---|---|
date | Fri, 11 Nov 1994 00:36:31 +0000 (1994-11-11) |
parents | efb4cbdaac26 |
children | 708827b941b4 |
line wrap: on
line diff
--- a/src/parse.y +++ b/src/parse.y @@ -223,6 +223,7 @@ %token <tok_val> PLOT %token <tok_val> TEXT STYLE %token <tok_val> FOR WHILE IF ELSEIF ELSE BREAK CONTINUE FUNC_RET +%token <tok_val> UNWIND_PROTECT UNWIND_PROTECT_CLEANUP %token <tok_val> GLOBAL %token <tok_val> TEXT_ID @@ -601,6 +602,15 @@ iffing--; $$ = $1; } + + | UNWIND_PROTECT opt_list UNWIND_PROTECT_CLEANUP opt_list END + { + if (check_end ($5, token::unwind_protect_end)) + ABORT_PARSE; + + $$ = new tree_unwind_protect_command ($2, $4, $1->line (), + $1->column ()); + } | WHILE expression optsep opt_list END { maybe_warn_assign_as_truth_value ($2);