define x(x) {
	return(x)
}
define y() {
	return;
}
define z() {return}
scale = 0
x=2
x[0]=3
x
x[0]
scale
ibase
obase
x ( 7 )
x + x( 8 )
x - x[0]
321 * x
2 ^ x[0]
x++
--x
x += 9
x
length(2381)
sqrt(9)
scale(238.1)
x=2
x[0]=3
(x)
(x[0])
(scale)
(ibase)
(obase)
(x ( 7 ))
(x + x( 8 ))
(x - x[0])
(321 * x)
(2 ^ x[0])
(x++)
(--x)
(x += 9)
(length(2381))
(sqrt(9))
(scale(238.1))
(scale = 0)
(x = 10)
(x += 100)
(x -= 10)
(x *= 10)
(x /= 100)
(x ^= 10)
(x = sqrt(x))
(x[1 - 1])
x[(1 - 1)]
2 + \
3
++ibase
--ibase
++obase
--obase
++last
--last
last
last = 100
last
. = 150
.
++scale
--scale
y()
z()
2 + /*
*/3
