forked from rheit/zdoom
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathzcc_exprlist.h
76 lines (64 loc) · 1.43 KB
/
zcc_exprlist.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
// Name Token used in the code generator
xx(Nil, TK_None)
xx(ID, TK_Identifier)
xx(Super, TK_Super)
xx(Null, TK_Null)
xx(ConstValue, TK_Const)
xx(FuncCall, '(')
xx(ArrayAccess, TK_Array)
xx(MemberAccess, '.')
xx(ClassCast, TK_Class)
xx(TypeRef, TK_Class)
xx(Vector, TK_Vector2)
xx(PostInc, TK_Incr)
xx(PostDec, TK_Decr)
xx(PreInc, TK_Incr)
xx(PreDec, TK_Decr)
xx(Negate, '-')
xx(AntiNegate, '+')
xx(BitNot, '~')
xx(BoolNot, '!')
xx(SizeOf, TK_SizeOf)
xx(AlignOf, TK_AlignOf)
xx(Add, '+')
xx(Sub, '-')
xx(Mul, '*')
xx(Div, '/')
xx(Mod, '%')
xx(Pow, TK_MulMul)
xx(CrossProduct, TK_Cross)
xx(DotProduct, TK_Dot)
xx(LeftShift, TK_LShift)
xx(RightShift, TK_RShift)
xx(URightShift, TK_URShift)
xx(Concat, TK_DotDot)
xx(LT, '<')
xx(LTEQ, TK_Leq)
xx(GT, '>')
xx(GTEQ, TK_Geq)
xx(LTGTEQ, TK_LtGtEq)
xx(Is, TK_Is)
xx(EQEQ, TK_Eq)
xx(NEQ, TK_Neq)
xx(APREQ, TK_ApproxEq)
xx(BitAnd, '&')
xx(BitOr, '|')
xx(BitXor, '^')
xx(BoolAnd, TK_AndAnd)
xx(BoolOr, TK_OrOr)
xx(Assign, '=')
xx(AddAssign, '+') // these are what the code generator needs, not what they represent.
xx(SubAssign, '-')
xx(MulAssign, '*')
xx(DivAssign, '/')
xx(ModAssign, '%')
xx(LshAssign, TK_LShift)
xx(RshAssign, TK_RShift)
xx(URshAssign, TK_URShift)
xx(AndAssign, '&')
xx(OrAssign, '|')
xx(XorAssign, '^')
xx(Scope, TK_ColonColon)
xx(Trinary, '?')
xx(Cast, TK_Coerce)
#undef xx