CSC448: Code Generation Revisited: Syntax and Operational Semantics [127/133] Previous pageContentsNext page

A simple functional language with exceptions, where we assume a fixed set of exception names.

M, N ::= ...usual arithmetic and relational operators...
       | x
       | fun x => M                           (no recursive function use)
       | M N
       | raise E                              (throw in Java)
       | M handle E1 => N_1 | ... | En => Nn  (try-catch block in Java)
        

We can give an operational semantics that describes the runtime behaviour of such programs using two judgement forms:

Previous pageContentsNext page