aboutsummaryrefslogtreecommitdiffstats
path: root/Grammar.pp
diff options
context:
space:
mode:
authorIvan Enderlin <ivan.enderlin@hoa-project.net>2013-06-10 10:27:58 +0200
committerIvan Enderlin <ivan.enderlin@hoa-project.net>2013-06-10 10:27:58 +0200
commit824e66a0399b20931678e1fdea2ce5fa018f6319 (patch)
treef1cb6550c318b05eabb4f3511917eddd59c7fccb /Grammar.pp
parentfaba6ec19b03e8ae2e37d4a8a5bb01e7107b7cb3 (diff)
downloadPraspel-824e66a0399b20931678e1fdea2ce5fa018f6319.zip
Praspel-824e66a0399b20931678e1fdea2ce5fa018f6319.tar.gz
Praspel-824e66a0399b20931678e1fdea2ce5fa018f6319.tar.bz2
Add support of “with” in @throwable.
It allows to specify the post-state of data. Example: @throwable T1 t1 with this->foo: true;
Diffstat (limited to 'Grammar.pp')
-rw-r--r--Grammar.pp11
1 files changed, 8 insertions, 3 deletions
diff --git a/Grammar.pp b/Grammar.pp
index 4f4c6ba..9a18dab 100644
--- a/Grammar.pp
+++ b/Grammar.pp
@@ -172,9 +172,14 @@ exceptional_expression:
exception() ( ::and:: exception() )*
exception:
- classname() <identifier> ( ::or:: classname() <identifier> )* #exception_list
-// ( ::with:: declaration() #exception_with )?
-// NO
+ exception_identifier() ( ::or:: exception_identifier() )*
+ ( ::with:: exception_with() )?
+
+#exception_identifier:
+ classname() <identifier>
+
+#exception_with:
+ expression()
#declaration:
( ::let:: #local_declaration )?