qzdoom/src/scripting/zscript/zcc_exprlist.h
Christoph Oelckers 3e995d7aac - changed assignment operators to be expressions, like they are in C and DECORATE.
This also means that for now Lua-style multi-assignments are disabled, those should be easy to enable by making some changes to the assignment_statement grammar so that it doesn't recognize single assignments, but for now this is low priority because it adds a significant amount of complexity to do this right with functions that have multiple return values.
2016-10-21 12:22:42 +02:00

75 lines
970 B
C

// Name n-ary
xx(Nil, )
xx(ID, )
xx(Super, )
xx(Null, )
xx(Self, )
xx(ConstValue, )
xx(FuncCall, )
xx(ArrayAccess, )
xx(MemberAccess, )
xx(TypeRef, )
xx(PostInc, )
xx(PostDec, )
xx(PreInc, )
xx(PreDec, )
xx(Negate, )
xx(AntiNegate, )
xx(BitNot, )
xx(BoolNot, )
xx(SizeOf, )
xx(AlignOf, )
xx(Add, )
xx(Sub, )
xx(Mul, )
xx(Div, )
xx(Mod, )
xx(Pow, )
xx(CrossProduct, )
xx(DotProduct, )
xx(LeftShift, )
xx(RightShift, )
xx(URightShift, )
xx(Concat, )
xx(LT, )
xx(LTEQ, )
xx(GT, )
xx(GTEQ, )
xx(LTGTEQ, )
xx(Is, )
xx(EQEQ, )
xx(NEQ, )
xx(APREQ, )
xx(BitAnd, )
xx(BitOr, )
xx(BitXor, )
xx(BoolAnd, )
xx(BoolOr, )
xx(Assign, )
xx(AddAssign, )
xx(SubAssign, )
xx(MulAssign, )
xx(DivAssign, )
xx(ModAssign, )
xx(LshAssign, )
xx(RshAssign, )
xx(URshAssign, )
xx(AndAssign, )
xx(OrAssign, )
xx(XorAssign, )
xx(Scope, )
xx(Trinary, )
xx(Cast, )
#undef xx