somni 0.2.0

Somni scripting language and VM
Documentation
Globals:

Function: take_by_reference
block 0
  var return_value: void = None
  var x: &int = None
  var temp2: void = None
  var temp3: {int/signed} = Some(MaybeSignedInt(2))
  var temp4: void = None
  temp4 = *x
  var temp5: void = None
  temp5 = temp3 * temp4
  free(temp3)
  free(temp4)
  *x = temp5
  free(temp5)
  var temp6: void = None
  free(temp6)
  free(temp2)
  free(x)
  free(return_value)
  -> block 1

block 1
  -> return

Function: main
block 0
  var return_value: int = None
  var temp1: void = None
  var input: void = None
  var temp3: {int/signed} = Some(MaybeSignedInt(5))
  input = temp3
  free(temp3)
  var temp4: void = None
  var temp5: void = None
  temp5 = &input
  var temp6: int = None
  var temp7: int = None
  var temp8: void = None
  var temp9: void = None
  temp9 = temp5
  temp8 = call take_by_reference(temp9)
  temp4 = temp8
  free(temp9)
  free(temp8)
  free(temp7)
  free(temp6)
  free(temp5)
  free(temp4)
  return_value = input
  free(input)
  free(temp1)
  free(return_value)
  -> block 2

block 1
  -> return

block 2
  -> block 1

block 3
  free(return_value)
  -> block 1