Link Search Menu Expand Document

Languages-beta : IMP-4.cbs | PRETTY | PDF


Language "IMP"

4 Programs and variable declarations

Syntax
  Pgm : pgm ::= 'int' idlist ';' stmt
Semantics
  run[[ _:pgm ]] : =>null-type
Rule
  run[[ 'int' IL ';' Stmt ]] = 
    scope( collateral(declare-int-vars[[ IL ]]), 
           execute[[ Stmt ]] )
Syntax
  IL : idlist ::= id (',' idlist)?
Semantics
  declare-int-vars[[ _: idlist ]] : (=>environments)+
Rule
  declare-int-vars[[ I ]] =
    bind(id[[ I ]], allocate-initialised-variable(integers, 0))
Rule
  declare-int-vars[[ I ',' IL ]] = 
    declare-int-vars[[ I ]], declare-int-vars[[ IL ]]