document all those weird opcodes :)

This commit is contained in:
Bill Currie 2001-11-05 19:32:50 +00:00
parent 13a177f217
commit ccbb1c3f04

View file

@ -0,0 +1,35 @@
Caps are parser tokens (ie, > 255), the rest are actual characters.
binary expressions:
OR logical or (e1, e2)
AND logical and (e1, e2)
EQ compare equal (e1, e2)
NE compare not equal (e1, e2)
LE compare less than or equal (e1, e2)
GE compare grater than or equal (e1, e2)
LT compare less than (e1, e2)
GT compare greater than (e1, e2)
= assign (dest, source)
+ add (e1, e2)
- subtract (e1, e2)
* multiply (e1, e2)
/ divide (e1, e2)
% modulo (e1, e2)
& bit and (e1, e2)
| bit or (e1, e2)
^ bit xor (e1, e2)
SHL bit shift left (e1, e2)
SHR bit shift right (e1, e2)
. dereference (entity, field)
i if test goto label (test, label)
n if not test goto label (test, label)
b bind expression with temp def (expression, temp)
s state opcode ([time, funciton]) (time exp, think function)
c call function (params) (function, param expr list or null)
unary expressions:
- negate (* -1) (expr)
~ bit not (expr)
! logical not (expr)
g goto label (label)
r return value (expr or null)