program firstExample {
  declarations
    a, b, c -> Integer;
    d -> Boolean;
    subProgram innerFunction(e -> Integer) -> Integer {
      declarations
      	x -> Boolean;
      statements
        return e;
    };

  statements
    a := 4;
    b := innerFunction(a);
    write b;
}
