Merge: Introducing the do ... catch ... end structure
authorJean Privat <jean@pryen.org>
Thu, 14 Apr 2016 01:03:06 +0000 (21:03 -0400)
committerJean Privat <jean@pryen.org>
Thu, 14 Apr 2016 01:03:06 +0000 (21:03 -0400)
commit18633a190ffb0929bb4bd56729909d80ebef5280
tree0057810b8ba3be63a5dc7b614d0a54b9f2fad938
parenta576282ff3bc1dad77fcfd302f3f51d5cb655cc4
parentcbab08ce2dc0fb1c2967e558643225b48abf4035
Merge: Introducing the do ... catch ... end structure

This PR is a first step in trying to handle exceptions in Nit, replacing the behaviour of `abort` if it happens within a do ... catch ... end.

In the compiler, setjmp() et longjmp() are used to jump directly from the `abort` to the nearest `catch` bloc.

Pull-Request: #2011
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
src/interpreter/naive_interpreter.nit
src/parser/parser_nodes.nit
src/semantize/scope.nit