FreeBASIC
0.91.0
Main Page
Data Structures
Files
File List
Globals
ast-op.bi
Go to the documentation of this file.
1
#ifndef
__AST_OP_BI__
2
#define
__AST_OP_BI__
3
4
'' if changed, update ast.bas:ast_opTB() and ast-node-misc.bas:dbg_astNodeOpNames()
5
enum
AST_OP
6
'' ini self ops (see below: AST_OP_SELFBASE and AST_OP_SELFOPS)
7
AST_OP_ASSIGN
= 0
8
AST_OP_ADD_SELF
9
AST_OP_SUB_SELF
10
AST_OP_MUL_SELF
11
AST_OP_DIV_SELF
12
AST_OP_INTDIV_SELF
13
AST_OP_MOD_SELF
14
AST_OP_AND_SELF
15
AST_OP_OR_SELF
16
AST_OP_ANDALSO_SELF
17
AST_OP_ORELSE_SELF
18
AST_OP_XOR_SELF
19
AST_OP_EQV_SELF
20
AST_OP_IMP_SELF
21
AST_OP_SHL_SELF
22
AST_OP_SHR_SELF
23
AST_OP_POW_SELF
24
AST_OP_CONCAT_SELF
25
AST_OP_NEW_SELF
26
AST_OP_NEW_VEC_SELF
27
AST_OP_DEL_SELF
28
AST_OP_DEL_VEC_SELF
29
AST_OP_ADDROF
30
AST_OP_PTRINDEX
'' fake [] operator, only to allow it to be overloaded
31
AST_OP_FOR
32
AST_OP_STEP
33
AST_OP_NEXT
34
AST_OP_CAST
35
'' end self ops
36
37
AST_OP_ADD
38
AST_OP_SUB
39
AST_OP_MUL
40
AST_OP_DIV
41
AST_OP_INTDIV
42
AST_OP_MOD
43
AST_OP_AND
44
AST_OP_OR
45
AST_OP_ANDALSO
46
AST_OP_ORELSE
47
AST_OP_XOR
48
AST_OP_EQV
49
AST_OP_IMP
50
AST_OP_SHL
51
AST_OP_SHR
52
AST_OP_POW
53
AST_OP_CONCAT
54
55
AST_OP_EQ
56
AST_OP_GT
57
AST_OP_LT
58
AST_OP_NE
59
AST_OP_GE
60
AST_OP_LE
61
AST_OP_IS
62
63
AST_OP_NOT
64
AST_OP_PLUS
65
AST_OP_NEG
66
67
AST_OP_HADD
'' horizontal add
68
69
AST_OP_ABS
70
AST_OP_SGN
71
AST_OP_SIN
72
AST_OP_ASIN
73
AST_OP_COS
74
AST_OP_ACOS
75
AST_OP_TAN
76
AST_OP_ATAN
77
AST_OP_ATAN2
78
AST_OP_SQRT
79
AST_OP_RSQRT
'' reciprocal square root
80
AST_OP_RCP
'' reciprocal
81
AST_OP_LOG
82
AST_OP_EXP
83
AST_OP_FLOOR
84
AST_OP_FIX
85
AST_OP_FRAC
86
AST_OP_CONVFD2FS
'' used internally by ASM backend
87
88
AST_OP_SWZ_REPEAT
'' swizzle; repeat value
89
90
AST_OP_DEREF
91
AST_OP_FLDDEREF
92
93
AST_OP_NEW
'' global
94
AST_OP_NEW_VEC
'' /
95
AST_OP_DEL
'' /
96
AST_OP_DEL_VEC
'' /
97
98
AST_OP_TOINT
99
AST_OP_TOFLT
100
101
AST_OP_LOAD
102
AST_OP_LOADRES
103
104
AST_OP_SPILLREGS
105
106
AST_OP_PUSH
107
AST_OP_POP
108
AST_OP_PUSHUDT
109
AST_OP_STACKALIGN
110
111
AST_OP_JEQ
112
AST_OP_JGT
113
AST_OP_JLT
114
AST_OP_JNE
115
AST_OP_JGE
116
AST_OP_JLE
117
AST_OP_JMP
118
AST_OP_CALL
119
120
AST_OP_LABEL
121
AST_OP_RET
122
AST_OP_CALLFUNCT
123
AST_OP_CALLPTR
124
AST_OP_JUMPPTR
125
126
AST_OP_MEMMOVE
127
AST_OP_MEMSWAP
128
AST_OP_MEMCLEAR
129
AST_OP_STKCLEAR
130
131
AST_OP_DBG_LINEINI
132
AST_OP_DBG_LINEEND
133
AST_OP_DBG_SCOPEINI
134
AST_OP_DBG_SCOPEEND
135
136
AST_OP_LIT_COMMENT
137
AST_OP_LIT_ASM
138
139
'' used internally, not passed to IR
140
AST_OP_TOSIGNED
141
AST_OP_TOUNSIGNED
142
143
AST_OPCODES
'' total
144
end enum
145
146
const
AST_OP_SELFBASE
=
AST_OP_ASSIGN
147
const
AST_OP_SELFOPS
= (
AST_OP_CAST
-
AST_OP_SELFBASE
) + 1
148
149
#endif
'' __AST_OP_BI__
150
compiler
ast-op.bi
Generated on Thu Jan 23 2014 19:39:15 for FreeBASIC by
1.8.4