diff options
Diffstat (limited to 'language')
| -rw-r--r-- | language/bytecode.ott | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/language/bytecode.ott b/language/bytecode.ott index 32b04bb4..16492716 100644 --- a/language/bytecode.ott +++ b/language/bytecode.ott @@ -102,12 +102,12 @@ cval :: 'CV_' ::= {{ lem fragment * ctyp }} clexp :: 'CL_' ::= - | id :: :: id - | id . string :: :: field - | * id :: :: addr - | id -> string :: :: addr_field - | current_exception :: :: current_exception - | have_exception :: :: have_exception + | id : ctyp :: :: id + | id . string : ctyp :: :: field + | * id : ctyp :: :: addr + | id -> string : ctyp :: :: addr_field + | current_exception : ctyp :: :: current_exception + | have_exception :: :: have_exception ctype_def :: 'CTD_' ::= {{ com C type definition }} @@ -126,9 +126,8 @@ instr :: 'I_' ::= | if ( cval ) { instr0 ; ... ; instrn } else { instr0 ; ... ; instrm } : ctyp :: :: if | jump ( cval ) string :: :: jump - | clexp = bool id ( cval0 , ... , cvaln ) : ctyp :: :: funcall + | clexp = bool id ( cval0 , ... , cvaln ) :: :: funcall | clexp = cval :: :: copy - | clexp = ( ctyp ) id : ctyp' :: :: convert | clear ctyp id :: :: clear | return cval :: :: return | { instr0 ; ... ; instrn } :: :: block @@ -138,6 +137,7 @@ instr :: 'I_' ::= | C string :: :: raw % only used for GCC attributes | string : :: :: label | goto string :: :: goto + | undefined ctyp :: :: undefined | match_failure :: :: match_failure % For optimising away allocations. |
