Inverted syntax with conditional expressions

In traditional syntax conditional expressions are usually shown before the action within a statement or code block:

 IF raining=true THEN needumbrella=true 
In inverted syntax, the action is listed before the conditional expression in the statement or code block:

 needumbrella=true IF raining=true 
Inverted syntax with assignment

In traditional syntax, assignments are usually expressed with the variable appearing before the expression:

 a = 6
In inverted syntax, the expression appears before the variable:

 6 = a
Task

The task is to demonstrate support for inverted syntax forms within the language by showing both the traditional and inverted forms.

 
expr=lambda ->{
      Print "ok"
}
ifrev=lambda (dothis, cond) ->{
      if cond then call dothis()
}
a=1
call ifrev(expr, a=1)
 
\\ on module call
Module Subtract (a, b) {
      Push a-b
}
Module PrintTop {
      Print Number
}
Subtract 10, 3 : PrintTop
\\ pushing before calling in reverse order
Push 3, 10 : Subtract : PrintTop
\\ Before call PrintTop any parameter send to stack
\\ So this works ok
PrintTop 1000
\\ on assignment
Dim A(5)=1
Global n=2
Function AddOne (x) {
      n++
      =x
}
\\ Execution of left expression, then right expression
A(n)=AddOne(5)
Print A(n-1)=5, n=3
\\ Execution of right expression, then left expression
Let A(n)=AddOne(15)
Print A(n)=15, n=4
\\ This statement..
Let X=1, Y=2
\\ executed like these
Push 2, 1 : Read X, Y
 
\\ This is the CallBack way
Module ExecCond {
      Read &callback(), cond
      if cond then call callback()
}
x=1
\\ this aa() is a function but when we call it after transforming from Lazy$() 
\\ act as part of module so we see x, and alter it
Function aa {
      x++
}
a=1
ExecCond Lazy$(&aa()), A=1
Print x=2
 