diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1999-11-10 06:47:11 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1999-11-10 06:47:11 +0000 |
commit | 04c7225b78f327aa0645d0f468e7b6d2e20a4d1e (patch) | |
tree | 3fa76d26a3de05bb939399c39eb9161c641e1e1b /parse.y | |
parent | 28412851825d1bc7c8e885387e1f1b257cf8a0cf (diff) | |
download | ruby-04c7225b78f327aa0645d0f468e7b6d2e20a4d1e.tar.gz |
19991110
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@561 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r-- | parse.y | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -156,6 +156,7 @@ static void top_local_setup(); kUNLESS_MOD kWHILE_MOD kUNTIL_MOD + kRESCUE_MOD kALIAS kDEFINED klBEGIN @@ -212,7 +213,7 @@ static void top_local_setup(); %nonassoc kDO %nonassoc kDO2 -%left kIF_MOD kUNLESS_MOD kWHILE_MOD kUNTIL_MOD +%left kIF_MOD kUNLESS_MOD kWHILE_MOD kUNTIL_MOD kRESCUE_MOD %left kOR kAND %right kNOT %nonassoc kDEFINED @@ -347,6 +348,10 @@ stmt : block_call $$ = NEW_UNTIL(cond($3), $1, 1); } } + | stmt kRESCUE_MOD expr + { + $$ = NEW_RESCUE($1, NEW_RESBODY(0,$3,0), 0); + } | klBEGIN { if (cur_mid || in_single) { @@ -607,7 +612,7 @@ reswords : k__LINE__ | k__FILE__ | klBEGIN | klEND | kFOR | kIF_MOD | kIN | kMODULE | kNEXT | kNIL | kNOT | kOR | kREDO | kRESCUE | kRETRY | kRETURN | kSELF | kSUPER | kTHEN | kTRUE | kUNDEF | kUNLESS_MOD | kUNTIL_MOD | kWHEN - | kWHILE_MOD | kYIELD + | kWHILE_MOD | kYIELD | kRESCUE_MOD arg : lhs '=' arg { |