diff options
-rw-r--r-- | LuaSL/src/LuaSL_LSL_lexer.l | 679 | ||||
-rw-r--r-- | LuaSL/src/LuaSL_LSL_yaccer.y | 317 | ||||
-rw-r--r-- | LuaSL/src/LuaSL_compile.c | 1 | ||||
-rw-r--r-- | LuaSL/src/LuaSL_type_parser.h | 22 |
4 files changed, 28 insertions, 991 deletions
diff --git a/LuaSL/src/LuaSL_LSL_lexer.l b/LuaSL/src/LuaSL_LSL_lexer.l index 584087e..24e88a3 100644 --- a/LuaSL/src/LuaSL_LSL_lexer.l +++ b/LuaSL/src/LuaSL_LSL_lexer.l | |||
@@ -9,31 +9,16 @@ FS (f|F) | |||
9 | %p 5000 | 9 | %p 5000 |
10 | 10 | ||
11 | %{ | 11 | %{ |
12 | #include "linden_common.h" | 12 | |
13 | #include "LuaSL_type_parser.h" | ||
14 | #include "LuaSL_LSLS_yaccer.tab.h" | ||
15 | |||
16 | |||
13 | // Deal with the fact that lex/yacc generates unreachable code | 17 | // Deal with the fact that lex/yacc generates unreachable code |
14 | #ifdef LL_WINDOWS | 18 | #ifdef LL_WINDOWS |
15 | #pragma warning (disable : 4018) // warning C4018: signed/unsigned mismatch | 19 | #pragma warning (disable : 4018) // warning C4018: signed/unsigned mismatch |
16 | #pragma warning (disable : 4702) // warning C4702: unreachable code | 20 | #pragma warning (disable : 4702) // warning C4702: unreachable code |
17 | #endif // LL_WINDOWS | 21 | #endif // LL_WINDOWS |
18 | #include "llmath.h" | ||
19 | #include "lscript_tree.h" | ||
20 | #include "lscript_typecheck.h" | ||
21 | #include "lscript_resource.h" | ||
22 | #include "indra.y.hpp" | ||
23 | #include "lltimer.h" | ||
24 | #include "indra_constants.h" | ||
25 | #include "llagentconstants.h" | ||
26 | #include "lllslconstants.h" | ||
27 | #include "lluuid.h" | ||
28 | #include "llassetstorage.h" | ||
29 | #include "llpartdata.h" | ||
30 | #include "llvehicleparams.h" | ||
31 | #include "llpermissionsflags.h" | ||
32 | #include "llfollowcamparams.h" | ||
33 | #include "llparcelflags.h" | ||
34 | #include "llregionflags.h" | ||
35 | #include "lscript_http.h" | ||
36 | #include "llclickaction.h" | ||
37 | 22 | ||
38 | void count(); | 23 | void count(); |
39 | void line_comment(); | 24 | void line_comment(); |
@@ -52,14 +37,11 @@ void parse_string(); | |||
52 | 37 | ||
53 | #define ECHO do { } while (0) | 38 | #define ECHO do { } while (0) |
54 | 39 | ||
55 | #if defined(__cplusplus) | ||
56 | extern "C" { int yylex( void ); } | ||
57 | extern "C" { int yyparse( void ); } | ||
58 | extern "C" { int yyerror(const char *fmt, ...); } | ||
59 | #endif | ||
60 | |||
61 | %} | 40 | %} |
62 | 41 | ||
42 | %option reentrant noyywrap never-interactive nounistd | ||
43 | %option bison-bridge | ||
44 | |||
63 | %% | 45 | %% |
64 | "//" { gInternalLine++; gInternalColumn = 0; line_comment(); } | 46 | "//" { gInternalLine++; gInternalColumn = 0; line_comment(); } |
65 | "/*" { block_comment(); } | 47 | "/*" { block_comment(); } |
@@ -121,552 +103,15 @@ extern "C" { int yyerror(const char *fmt, ...); } | |||
121 | "http_request" { count(); return(HTTP_REQUEST); } | 103 | "http_request" { count(); return(HTTP_REQUEST); } |
122 | "." { count(); return(PERIOD); } | 104 | "." { count(); return(PERIOD); } |
123 | 105 | ||
124 | |||
125 | 0[xX]{H}+ { count(); yylval.ival = strtoul(yytext, NULL, 0); return(INTEGER_CONSTANT); } | 106 | 0[xX]{H}+ { count(); yylval.ival = strtoul(yytext, NULL, 0); return(INTEGER_CONSTANT); } |
126 | {N}+ { count(); yylval.ival = strtoul(yytext, NULL, 10); return(INTEGER_CONSTANT); } | 107 | {N}+ { count(); yylval.ival = strtoul(yytext, NULL, 10); return(INTEGER_CONSTANT); } |
127 | "TRUE" { count(); yylval.ival = 1; return(INTEGER_TRUE); } | 108 | "TRUE" { count(); yylval.ival = 1; return(INTEGER_TRUE); } |
128 | "FALSE" { count(); yylval.ival = 0; return(INTEGER_FALSE); } | 109 | "FALSE" { count(); yylval.ival = 0; return(INTEGER_FALSE); } |
129 | "STATUS_PHYSICS" { count(); yylval.ival = 0x1; return(INTEGER_CONSTANT); } | ||
130 | "STATUS_ROTATE_X" { count(); yylval.ival = 0x2; return(INTEGER_CONSTANT); } | ||
131 | "STATUS_ROTATE_Y" { count(); yylval.ival = 0x4; return(INTEGER_CONSTANT); } | ||
132 | "STATUS_ROTATE_Z" { count(); yylval.ival = 0x8; return(INTEGER_CONSTANT); } | ||
133 | "STATUS_PHANTOM" { count(); yylval.ival = 0x10; return(INTEGER_CONSTANT); } | ||
134 | "STATUS_SANDBOX" { count(); yylval.ival = 0x20; return(INTEGER_CONSTANT); } | ||
135 | "STATUS_BLOCK_GRAB" { count(); yylval.ival = 0x40; return(INTEGER_CONSTANT); } | ||
136 | "STATUS_DIE_AT_EDGE" { count(); yylval.ival = 0x80; return(INTEGER_CONSTANT); } | ||
137 | "STATUS_RETURN_AT_EDGE" { count(); yylval.ival = 0x100; return(INTEGER_CONSTANT); } | ||
138 | "STATUS_CAST_SHADOWS" { count(); yylval.ival = 0x200; return(INTEGER_CONSTANT); } | ||
139 | |||
140 | "AGENT_FLYING" { count(); yylval.ival = AGENT_FLYING; return(INTEGER_CONSTANT); } | ||
141 | "AGENT_ATTACHMENTS" { count(); yylval.ival = AGENT_ATTACHMENTS; return(INTEGER_CONSTANT); } | ||
142 | "AGENT_SCRIPTED" { count(); yylval.ival = AGENT_SCRIPTED; return(INTEGER_CONSTANT); } | ||
143 | "AGENT_MOUSELOOK" { count(); yylval.ival = AGENT_MOUSELOOK; return(INTEGER_CONSTANT); } | ||
144 | "AGENT_SITTING" { count(); yylval.ival = AGENT_SITTING; return(INTEGER_CONSTANT); } | ||
145 | "AGENT_ON_OBJECT" { count(); yylval.ival = AGENT_ON_OBJECT; return(INTEGER_CONSTANT); } | ||
146 | "AGENT_AWAY" { count(); yylval.ival = AGENT_AWAY; return(INTEGER_CONSTANT); } | ||
147 | "AGENT_WALKING" { count(); yylval.ival = AGENT_WALKING; return(INTEGER_CONSTANT); } | ||
148 | "AGENT_IN_AIR" { count(); yylval.ival = AGENT_IN_AIR; return(INTEGER_CONSTANT); } | ||
149 | "AGENT_TYPING" { count(); yylval.ival = AGENT_TYPING; return(INTEGER_CONSTANT); } | ||
150 | "AGENT_CROUCHING" { count(); yylval.ival = AGENT_CROUCHING; return(INTEGER_CONSTANT); } | ||
151 | "AGENT_BUSY" { count(); yylval.ival = AGENT_BUSY; return(INTEGER_CONSTANT); } | ||
152 | "AGENT_ALWAYS_RUN" { count(); yylval.ival = AGENT_ALWAYS_RUN; return(INTEGER_CONSTANT); } | ||
153 | "AGENT_AUTOPILOT" { count(); yylval.ival = AGENT_AUTOPILOT; return(INTEGER_CONSTANT); } | ||
154 | |||
155 | "CAMERA_PITCH" { count(); yylval.ival = FOLLOWCAM_PITCH; return(INTEGER_CONSTANT); } | ||
156 | "CAMERA_FOCUS_OFFSET" { count(); yylval.ival = FOLLOWCAM_FOCUS_OFFSET; return (INTEGER_CONSTANT); } | ||
157 | "CAMERA_POSITION_LAG" { count(); yylval.ival = FOLLOWCAM_POSITION_LAG; return (INTEGER_CONSTANT); } | ||
158 | "CAMERA_FOCUS_LAG" { count(); yylval.ival = FOLLOWCAM_FOCUS_LAG; return (INTEGER_CONSTANT); } | ||
159 | "CAMERA_DISTANCE" { count(); yylval.ival = FOLLOWCAM_DISTANCE; return (INTEGER_CONSTANT); } | ||
160 | "CAMERA_BEHINDNESS_ANGLE" { count(); yylval.ival = FOLLOWCAM_BEHINDNESS_ANGLE; return (INTEGER_CONSTANT); } | ||
161 | "CAMERA_BEHINDNESS_LAG" { count(); yylval.ival = FOLLOWCAM_BEHINDNESS_LAG; return (INTEGER_CONSTANT); } | ||
162 | "CAMERA_POSITION_THRESHOLD" { count(); yylval.ival = FOLLOWCAM_POSITION_THRESHOLD; return (INTEGER_CONSTANT); } | ||
163 | "CAMERA_FOCUS_THRESHOLD" { count(); yylval.ival = FOLLOWCAM_FOCUS_THRESHOLD; return (INTEGER_CONSTANT); } | ||
164 | "CAMERA_ACTIVE" { count(); yylval.ival = FOLLOWCAM_ACTIVE; return (INTEGER_CONSTANT); } | ||
165 | "CAMERA_POSITION" { count(); yylval.ival = FOLLOWCAM_POSITION; return (INTEGER_CONSTANT); } | ||
166 | "CAMERA_FOCUS" { count(); yylval.ival = FOLLOWCAM_FOCUS; return (INTEGER_CONSTANT); } | ||
167 | "CAMERA_POSITION_LOCKED" { count(); yylval.ival = FOLLOWCAM_POSITION_LOCKED; return (INTEGER_CONSTANT); } | ||
168 | "CAMERA_FOCUS_LOCKED" { count(); yylval.ival = FOLLOWCAM_FOCUS_LOCKED; return (INTEGER_CONSTANT); } | ||
169 | |||
170 | "ANIM_ON" { count(); yylval.ival = 0x1; return(INTEGER_CONSTANT); } | ||
171 | "LOOP" { count(); yylval.ival = 0x2; return(INTEGER_CONSTANT); } | ||
172 | "REVERSE" { count(); yylval.ival = 0x4; return(INTEGER_CONSTANT); } | ||
173 | "PING_PONG" { count(); yylval.ival = 0x8; return(INTEGER_CONSTANT); } | ||
174 | "SMOOTH" { count(); yylval.ival = 0x10; return(INTEGER_CONSTANT); } | ||
175 | "ROTATE" { count(); yylval.ival = 0x20; return(INTEGER_CONSTANT); } | ||
176 | "SCALE" { count(); yylval.ival = 0x40; return(INTEGER_CONSTANT); } | ||
177 | |||
178 | "ALL_SIDES" { count(); yylval.ival = LSL_ALL_SIDES; return(INTEGER_CONSTANT); } | ||
179 | "LINK_ROOT" { count(); yylval.ival = LSL_LINK_ROOT; return(INTEGER_CONSTANT); } | ||
180 | "LINK_SET" { count(); yylval.ival = LSL_LINK_SET; return(INTEGER_CONSTANT); } | ||
181 | "LINK_ALL_OTHERS" { count(); yylval.ival = LSL_LINK_ALL_OTHERS; return(INTEGER_CONSTANT); } | ||
182 | "LINK_ALL_CHILDREN" { count(); yylval.ival = LSL_LINK_ALL_CHILDREN; return(INTEGER_CONSTANT); } | ||
183 | "LINK_THIS" { count(); yylval.ival = LSL_LINK_THIS; return(INTEGER_CONSTANT); } | ||
184 | |||
185 | "AGENT" { count(); yylval.ival = 0x1; return(INTEGER_CONSTANT); } | ||
186 | "ACTIVE" { count(); yylval.ival = 0x2; return(INTEGER_CONSTANT); } | ||
187 | "PASSIVE" { count(); yylval.ival = 0x4; return(INTEGER_CONSTANT); } | ||
188 | "SCRIPTED" { count(); yylval.ival = 0x8; return(INTEGER_CONSTANT); } | ||
189 | |||
190 | "CONTROL_FWD" { count(); yylval.ival = AGENT_CONTROL_AT_POS; return(INTEGER_CONSTANT); } | ||
191 | "CONTROL_BACK" { count(); yylval.ival = AGENT_CONTROL_AT_NEG; return(INTEGER_CONSTANT); } | ||
192 | "CONTROL_LEFT" { count(); yylval.ival = AGENT_CONTROL_LEFT_POS; return(INTEGER_CONSTANT); } | ||
193 | "CONTROL_RIGHT" { count(); yylval.ival = AGENT_CONTROL_LEFT_NEG; return(INTEGER_CONSTANT); } | ||
194 | "CONTROL_ROT_LEFT" { count(); yylval.ival = AGENT_CONTROL_YAW_POS; return(INTEGER_CONSTANT); } | ||
195 | "CONTROL_ROT_RIGHT" { count(); yylval.ival = AGENT_CONTROL_YAW_NEG; return(INTEGER_CONSTANT); } | ||
196 | "CONTROL_UP" { count(); yylval.ival = AGENT_CONTROL_UP_POS; return(INTEGER_CONSTANT); } | ||
197 | "CONTROL_DOWN" { count(); yylval.ival = AGENT_CONTROL_UP_NEG; return(INTEGER_CONSTANT); } | ||
198 | "CONTROL_LBUTTON" { count(); yylval.ival = AGENT_CONTROL_LBUTTON_DOWN; return(INTEGER_CONSTANT); } | ||
199 | "CONTROL_ML_LBUTTON" { count(); yylval.ival = AGENT_CONTROL_ML_LBUTTON_DOWN; return(INTEGER_CONSTANT); } | ||
200 | |||
201 | "PERMISSION_DEBIT" { count(); yylval.ival = LSCRIPTRunTimePermissionBits[SCRIPT_PERMISSION_DEBIT]; return(INTEGER_CONSTANT); } | ||
202 | "PERMISSION_TAKE_CONTROLS" { count(); yylval.ival = LSCRIPTRunTimePermissionBits[SCRIPT_PERMISSION_TAKE_CONTROLS]; return(INTEGER_CONSTANT); } | ||
203 | "PERMISSION_REMAP_CONTROLS" { count(); yylval.ival = LSCRIPTRunTimePermissionBits[SCRIPT_PERMISSION_REMAP_CONTROLS]; return(INTEGER_CONSTANT); } | ||
204 | "PERMISSION_TRIGGER_ANIMATION" { count(); yylval.ival = LSCRIPTRunTimePermissionBits[SCRIPT_PERMISSION_TRIGGER_ANIMATION]; return(INTEGER_CONSTANT); } | ||
205 | "PERMISSION_ATTACH" { count(); yylval.ival = LSCRIPTRunTimePermissionBits[SCRIPT_PERMISSION_ATTACH]; return(INTEGER_CONSTANT); } | ||
206 | "PERMISSION_RELEASE_OWNERSHIP" { count(); yylval.ival = LSCRIPTRunTimePermissionBits[SCRIPT_PERMISSION_RELEASE_OWNERSHIP]; return(INTEGER_CONSTANT); } | ||
207 | "PERMISSION_CHANGE_LINKS" { count(); yylval.ival = LSCRIPTRunTimePermissionBits[SCRIPT_PERMISSION_CHANGE_LINKS]; return(INTEGER_CONSTANT); } | ||
208 | "PERMISSION_CHANGE_JOINTS" { count(); yylval.ival = LSCRIPTRunTimePermissionBits[SCRIPT_PERMISSION_CHANGE_JOINTS]; return(INTEGER_CONSTANT); } | ||
209 | "PERMISSION_CHANGE_PERMISSIONS" { count(); yylval.ival = LSCRIPTRunTimePermissionBits[SCRIPT_PERMISSION_CHANGE_PERMISSIONS]; return(INTEGER_CONSTANT); } | ||
210 | "PERMISSION_TRACK_CAMERA" { count(); yylval.ival = LSCRIPTRunTimePermissionBits[SCRIPT_PERMISSION_TRACK_CAMERA]; return(INTEGER_CONSTANT); } | ||
211 | "PERMISSION_CONTROL_CAMERA" { count(); yylval.ival = LSCRIPTRunTimePermissionBits[SCRIPT_PERMISSION_CONTROL_CAMERA]; return(INTEGER_CONSTANT); } | ||
212 | |||
213 | "INVENTORY_TEXTURE" { count(); yylval.ival = LLAssetType::AT_TEXTURE; return(INTEGER_CONSTANT); } | ||
214 | "INVENTORY_SOUND" { count(); yylval.ival = LLAssetType::AT_SOUND; return(INTEGER_CONSTANT); } | ||
215 | "INVENTORY_OBJECT" { count(); yylval.ival = LLAssetType::AT_OBJECT; return(INTEGER_CONSTANT); } | ||
216 | "INVENTORY_SCRIPT" { count(); yylval.ival = LLAssetType::AT_LSL_TEXT; return(INTEGER_CONSTANT); } | ||
217 | "INVENTORY_LANDMARK" { count(); yylval.ival = LLAssetType::AT_LANDMARK; return(INTEGER_CONSTANT); } | ||
218 | "INVENTORY_CLOTHING" { count(); yylval.ival = LLAssetType::AT_CLOTHING; return(INTEGER_CONSTANT); } | ||
219 | "INVENTORY_NOTECARD" { count(); yylval.ival = LLAssetType::AT_NOTECARD; return(INTEGER_CONSTANT); } | ||
220 | "INVENTORY_BODYPART" { count(); yylval.ival = LLAssetType::AT_BODYPART; return(INTEGER_CONSTANT); } | ||
221 | "INVENTORY_ANIMATION" { count(); yylval.ival = LLAssetType::AT_ANIMATION; return(INTEGER_CONSTANT); } | ||
222 | "INVENTORY_GESTURE" { count(); yylval.ival = LLAssetType::AT_GESTURE; return(INTEGER_CONSTANT); } | ||
223 | "INVENTORY_ALL" { count(); yylval.ival = LLAssetType::AT_NONE; return(INTEGER_CONSTANT); } | ||
224 | "INVENTORY_NONE" { count(); yylval.ival = LLAssetType::AT_NONE; return(INTEGER_CONSTANT); } | ||
225 | |||
226 | "CHANGED_INVENTORY" { count(); yylval.ival = CHANGED_INVENTORY; return(INTEGER_CONSTANT); } | ||
227 | "CHANGED_COLOR" { count(); yylval.ival = CHANGED_COLOR; return(INTEGER_CONSTANT); } | ||
228 | "CHANGED_SHAPE" { count(); yylval.ival = CHANGED_SHAPE; return(INTEGER_CONSTANT); } | ||
229 | "CHANGED_SCALE" { count(); yylval.ival = CHANGED_SCALE; return(INTEGER_CONSTANT); } | ||
230 | "CHANGED_TEXTURE" { count(); yylval.ival = CHANGED_TEXTURE; return(INTEGER_CONSTANT); } | ||
231 | "CHANGED_LINK" { count(); yylval.ival = CHANGED_LINK; return(INTEGER_CONSTANT); } | ||
232 | "CHANGED_ALLOWED_DROP" { count(); yylval.ival = CHANGED_ALLOWED_DROP; return(INTEGER_CONSTANT); } | ||
233 | "CHANGED_OWNER" { count(); yylval.ival = CHANGED_OWNER; return(INTEGER_CONSTANT); } | ||
234 | "CHANGED_REGION" { count(); yylval.ival = CHANGED_REGION; return(INTEGER_CONSTANT); } | ||
235 | "CHANGED_TELEPORT" { count(); yylval.ival = CHANGED_TELEPORT; return(INTEGER_CONSTANT); } | ||
236 | "CHANGED_REGION_START" { count(); yylval.ival = CHANGED_REGION_START; return(INTEGER_CONSTANT); } | ||
237 | "CHANGED_MEDIA" { count(); yylval.ival = CHANGED_MEDIA; return(INTEGER_CONSTANT); } | ||
238 | |||
239 | "OBJECT_UNKNOWN_DETAIL" { count(); yylval.ival = OBJECT_UNKNOWN_DETAIL; return(INTEGER_CONSTANT); } | ||
240 | "OBJECT_NAME" { count(); yylval.ival = OBJECT_NAME; return(INTEGER_CONSTANT); } | ||
241 | "OBJECT_DESC" { count(); yylval.ival = OBJECT_DESC; return(INTEGER_CONSTANT); } | ||
242 | "OBJECT_POS" { count(); yylval.ival = OBJECT_POS; return(INTEGER_CONSTANT); } | ||
243 | "OBJECT_ROT" { count(); yylval.ival = OBJECT_ROT; return(INTEGER_CONSTANT); } | ||
244 | "OBJECT_VELOCITY" { count(); yylval.ival = OBJECT_VELOCITY; return(INTEGER_CONSTANT); } | ||
245 | "OBJECT_OWNER" { count(); yylval.ival = OBJECT_OWNER; return(INTEGER_CONSTANT); } | ||
246 | "OBJECT_GROUP" { count(); yylval.ival = OBJECT_GROUP; return(INTEGER_CONSTANT); } | ||
247 | "OBJECT_CREATOR" { count(); yylval.ival = OBJECT_CREATOR; return(INTEGER_CONSTANT); } | ||
248 | |||
249 | "TYPE_INTEGER" { count(); yylval.ival = LST_INTEGER; return(INTEGER_CONSTANT); } | ||
250 | "TYPE_FLOAT" { count(); yylval.ival = LST_FLOATINGPOINT; return(INTEGER_CONSTANT); } | ||
251 | "TYPE_STRING" { count(); yylval.ival = LST_STRING; return(INTEGER_CONSTANT); } | ||
252 | "TYPE_KEY" { count(); yylval.ival = LST_KEY; return(INTEGER_CONSTANT); } | ||
253 | "TYPE_VECTOR" { count(); yylval.ival = LST_VECTOR; return(INTEGER_CONSTANT); } | ||
254 | "TYPE_ROTATION" { count(); yylval.ival = LST_QUATERNION; return(INTEGER_CONSTANT); } | ||
255 | "TYPE_INVALID" { count(); yylval.ival = LST_NULL; return(INTEGER_CONSTANT); } | ||
256 | |||
257 | "NULL_KEY" { yylval.sval = new char[UUID_STR_LENGTH]; strcpy(yylval.sval, "00000000-0000-0000-0000-000000000000"); return(STRING_CONSTANT); } | ||
258 | "EOF" { yylval.sval = new char[UUID_STR_LENGTH]; strcpy(yylval.sval, "\n\n\n"); return(STRING_CONSTANT); } | ||
259 | "URL_REQUEST_GRANTED" { yylval.sval = new char[UUID_STR_LENGTH]; strcpy(yylval.sval, URL_REQUEST_GRANTED); return(STRING_CONSTANT); } | ||
260 | "URL_REQUEST_DENIED" { yylval.sval = new char[UUID_STR_LENGTH]; strcpy(yylval.sval, URL_REQUEST_DENIED); return(STRING_CONSTANT); } | ||
261 | |||
262 | "PI" { count(); yylval.fval = F_PI; return(FP_CONSTANT); } | ||
263 | "TWO_PI" { count(); yylval.fval = F_TWO_PI; return(FP_CONSTANT); } | ||
264 | "PI_BY_TWO" { count(); yylval.fval = F_PI_BY_TWO; return(FP_CONSTANT); } | ||
265 | "DEG_TO_RAD" { count(); yylval.fval = DEG_TO_RAD; return(FP_CONSTANT); } | ||
266 | "RAD_TO_DEG" { count(); yylval.fval = RAD_TO_DEG; return(FP_CONSTANT); } | ||
267 | "SQRT2" { count(); yylval.fval = F_SQRT2; return(FP_CONSTANT); } | ||
268 | |||
269 | "DEBUG_CHANNEL" { count(); yylval.ival = CHAT_CHANNEL_DEBUG; return(INTEGER_CONSTANT); } | ||
270 | "PUBLIC_CHANNEL" { count(); yylval.ival = 0; return(INTEGER_CONSTANT); } | ||
271 | |||
272 | "ZERO_VECTOR" { count(); return(ZERO_VECTOR); } | ||
273 | "ZERO_ROTATION" { count(); return(ZERO_ROTATION); } | ||
274 | |||
275 | "ATTACH_CHEST" { count(); yylval.ival = 1; return(INTEGER_CONSTANT); } | ||
276 | "ATTACH_HEAD" { count(); yylval.ival = 2; return(INTEGER_CONSTANT); } | ||
277 | "ATTACH_LSHOULDER" { count(); yylval.ival = 3; return(INTEGER_CONSTANT); } | ||
278 | "ATTACH_RSHOULDER" { count(); yylval.ival = 4; return(INTEGER_CONSTANT); } | ||
279 | "ATTACH_LHAND" { count(); yylval.ival = 5; return(INTEGER_CONSTANT); } | ||
280 | "ATTACH_RHAND" { count(); yylval.ival = 6; return(INTEGER_CONSTANT); } | ||
281 | "ATTACH_LFOOT" { count(); yylval.ival = 7; return(INTEGER_CONSTANT); } | ||
282 | "ATTACH_RFOOT" { count(); yylval.ival = 8; return(INTEGER_CONSTANT); } | ||
283 | "ATTACH_BACK" { count(); yylval.ival = 9; return(INTEGER_CONSTANT); } | ||
284 | "ATTACH_PELVIS" { count(); yylval.ival = 10; return(INTEGER_CONSTANT); } | ||
285 | "ATTACH_MOUTH" { count(); yylval.ival = 11; return(INTEGER_CONSTANT); } | ||
286 | "ATTACH_CHIN" { count(); yylval.ival = 12; return(INTEGER_CONSTANT); } | ||
287 | "ATTACH_LEAR" { count(); yylval.ival = 13; return(INTEGER_CONSTANT); } | ||
288 | "ATTACH_REAR" { count(); yylval.ival = 14; return(INTEGER_CONSTANT); } | ||
289 | "ATTACH_LEYE" { count(); yylval.ival = 15; return(INTEGER_CONSTANT); } | ||
290 | "ATTACH_REYE" { count(); yylval.ival = 16; return(INTEGER_CONSTANT); } | ||
291 | "ATTACH_NOSE" { count(); yylval.ival = 17; return(INTEGER_CONSTANT); } | ||
292 | "ATTACH_RUARM" { count(); yylval.ival = 18; return(INTEGER_CONSTANT); } | ||
293 | "ATTACH_RLARM" { count(); yylval.ival = 19; return(INTEGER_CONSTANT); } | ||
294 | "ATTACH_LUARM" { count(); yylval.ival = 20; return(INTEGER_CONSTANT); } | ||
295 | "ATTACH_LLARM" { count(); yylval.ival = 21; return(INTEGER_CONSTANT); } | ||
296 | "ATTACH_RHIP" { count(); yylval.ival = 22; return(INTEGER_CONSTANT); } | ||
297 | "ATTACH_RULEG" { count(); yylval.ival = 23; return(INTEGER_CONSTANT); } | ||
298 | "ATTACH_RLLEG" { count(); yylval.ival = 24; return(INTEGER_CONSTANT); } | ||
299 | "ATTACH_LHIP" { count(); yylval.ival = 25; return(INTEGER_CONSTANT); } | ||
300 | "ATTACH_LULEG" { count(); yylval.ival = 26; return(INTEGER_CONSTANT); } | ||
301 | "ATTACH_LLLEG" { count(); yylval.ival = 27; return(INTEGER_CONSTANT); } | ||
302 | "ATTACH_BELLY" { count(); yylval.ival = 28; return(INTEGER_CONSTANT); } | ||
303 | "ATTACH_RPEC" { count(); yylval.ival = 29; return(INTEGER_CONSTANT); } | ||
304 | "ATTACH_LPEC" { count(); yylval.ival = 30; return(INTEGER_CONSTANT); } | ||
305 | "ATTACH_HUD_CENTER_2" { count(); yylval.ival = 31; return(INTEGER_CONSTANT); } | ||
306 | "ATTACH_HUD_TOP_RIGHT" { count(); yylval.ival = 32; return(INTEGER_CONSTANT); } | ||
307 | "ATTACH_HUD_TOP_CENTER" { count(); yylval.ival = 33; return(INTEGER_CONSTANT); } | ||
308 | "ATTACH_HUD_TOP_LEFT" { count(); yylval.ival = 34; return(INTEGER_CONSTANT); } | ||
309 | "ATTACH_HUD_CENTER_1" { count(); yylval.ival = 35; return(INTEGER_CONSTANT); } | ||
310 | "ATTACH_HUD_BOTTOM_LEFT" { count(); yylval.ival = 36; return(INTEGER_CONSTANT); } | ||
311 | "ATTACH_HUD_BOTTOM" { count(); yylval.ival = 37; return(INTEGER_CONSTANT); } | ||
312 | "ATTACH_HUD_BOTTOM_RIGHT" { count(); yylval.ival = 38; return(INTEGER_CONSTANT); } | ||
313 | |||
314 | "LAND_LEVEL" { count(); yylval.ival = E_LANDBRUSH_LEVEL; return(INTEGER_CONSTANT); } | ||
315 | "LAND_RAISE" { count(); yylval.ival = E_LANDBRUSH_RAISE; return(INTEGER_CONSTANT); } | ||
316 | "LAND_LOWER" { count(); yylval.ival = E_LANDBRUSH_LOWER; return(INTEGER_CONSTANT); } | ||
317 | "LAND_SMOOTH" { count(); yylval.ival = E_LANDBRUSH_SMOOTH; return(INTEGER_CONSTANT); } | ||
318 | "LAND_NOISE" { count(); yylval.ival = E_LANDBRUSH_NOISE; return(INTEGER_CONSTANT); } | ||
319 | "LAND_REVERT" { count(); yylval.ival = E_LANDBRUSH_REVERT; return(INTEGER_CONSTANT); } | ||
320 | |||
321 | "LAND_SMALL_BRUSH" { count(); yylval.ival = 1; return(INTEGER_CONSTANT); } | ||
322 | "LAND_MEDIUM_BRUSH" { count(); yylval.ival = 2; return(INTEGER_CONSTANT); } | ||
323 | "LAND_LARGE_BRUSH" { count(); yylval.ival = 3; return(INTEGER_CONSTANT); } | ||
324 | |||
325 | "DATA_ONLINE" { count(); yylval.ival = 1; return(INTEGER_CONSTANT); } | ||
326 | "DATA_NAME" { count(); yylval.ival = 2; return(INTEGER_CONSTANT); } | ||
327 | "DATA_BORN" { count(); yylval.ival = 3; return(INTEGER_CONSTANT); } | ||
328 | "DATA_RATING" { count(); yylval.ival = 4; return(INTEGER_CONSTANT); } | ||
329 | "DATA_SIM_POS" { count(); yylval.ival = 5; return(INTEGER_CONSTANT); } | ||
330 | "DATA_SIM_STATUS" { count(); yylval.ival = 6; return(INTEGER_CONSTANT); } | ||
331 | "DATA_SIM_RATING" { count(); yylval.ival = 7; return(INTEGER_CONSTANT); } | ||
332 | "DATA_PAYINFO" { count(); yylval.ival = 8; return(INTEGER_CONSTANT); } | ||
333 | |||
334 | "PAYMENT_INFO_ON_FILE" { count(); yylval.ival = 1; return(INTEGER_CONSTANT); } | ||
335 | "PAYMENT_INFO_USED" { count(); yylval.ival = 2; return(INTEGER_CONSTANT); } | ||
336 | |||
337 | "REMOTE_DATA_CHANNEL" { count(); yylval.ival = LSL_REMOTE_DATA_CHANNEL; return(INTEGER_CONSTANT); } | ||
338 | "REMOTE_DATA_REQUEST" { count(); yylval.ival = LSL_REMOTE_DATA_REQUEST; return(INTEGER_CONSTANT); } | ||
339 | "REMOTE_DATA_REPLY" { count(); yylval.ival = LSL_REMOTE_DATA_REPLY; return(INTEGER_CONSTANT); } | ||
340 | |||
341 | |||
342 | "PSYS_PART_FLAGS" { count(); yylval.ival = LLPS_PART_FLAGS; return(INTEGER_CONSTANT); } | ||
343 | "PSYS_PART_START_COLOR" { count(); yylval.ival = LLPS_PART_START_COLOR; return (INTEGER_CONSTANT); } | ||
344 | "PSYS_PART_START_ALPHA" { count(); yylval.ival = LLPS_PART_START_ALPHA; return (INTEGER_CONSTANT); } | ||
345 | "PSYS_PART_START_SCALE" { count(); yylval.ival = LLPS_PART_START_SCALE; return (INTEGER_CONSTANT); } | ||
346 | "PSYS_PART_END_COLOR" { count(); yylval.ival = LLPS_PART_END_COLOR; return (INTEGER_CONSTANT); } | ||
347 | "PSYS_PART_END_ALPHA" { count(); yylval.ival = LLPS_PART_END_ALPHA; return (INTEGER_CONSTANT); } | ||
348 | "PSYS_PART_END_SCALE" { count(); yylval.ival = LLPS_PART_END_SCALE; return (INTEGER_CONSTANT); } | ||
349 | "PSYS_PART_MAX_AGE" { count(); yylval.ival = LLPS_PART_MAX_AGE; return (INTEGER_CONSTANT); } | ||
350 | |||
351 | |||
352 | "PSYS_PART_WIND_MASK" { count(); yylval.ival = LLPartData::LL_PART_WIND_MASK; return(INTEGER_CONSTANT); } | ||
353 | "PSYS_PART_INTERP_COLOR_MASK" { count(); yylval.ival = LLPartData::LL_PART_INTERP_COLOR_MASK; return(INTEGER_CONSTANT); } | ||
354 | "PSYS_PART_INTERP_SCALE_MASK" { count(); yylval.ival = LLPartData::LL_PART_INTERP_SCALE_MASK; return(INTEGER_CONSTANT); } | ||
355 | "PSYS_PART_BOUNCE_MASK" { count(); yylval.ival = LLPartData::LL_PART_BOUNCE_MASK; return(INTEGER_CONSTANT); } | ||
356 | "PSYS_PART_FOLLOW_SRC_MASK" { count(); yylval.ival = LLPartData::LL_PART_FOLLOW_SRC_MASK; return(INTEGER_CONSTANT); } | ||
357 | "PSYS_PART_FOLLOW_VELOCITY_MASK" { count(); yylval.ival = LLPartData::LL_PART_FOLLOW_VELOCITY_MASK; return(INTEGER_CONSTANT); } | ||
358 | "PSYS_PART_TARGET_POS_MASK" { count(); yylval.ival = LLPartData::LL_PART_TARGET_POS_MASK; return(INTEGER_CONSTANT); } | ||
359 | "PSYS_PART_EMISSIVE_MASK" { count(); yylval.ival = LLPartData::LL_PART_EMISSIVE_MASK; return(INTEGER_CONSTANT); } | ||
360 | "PSYS_PART_TARGET_LINEAR_MASK" { count(); yylval.ival = LLPartData::LL_PART_TARGET_LINEAR_MASK; return(INTEGER_CONSTANT); } | ||
361 | |||
362 | |||
363 | "PSYS_SRC_MAX_AGE" { count(); yylval.ival = LLPS_SRC_MAX_AGE; return(INTEGER_CONSTANT); } | ||
364 | "PSYS_SRC_PATTERN" { count(); yylval.ival = LLPS_SRC_PATTERN; return(INTEGER_CONSTANT); } | ||
365 | "PSYS_SRC_INNERANGLE" { count(); yylval.ival = LLPS_SRC_INNERANGLE; return(INTEGER_CONSTANT); } | ||
366 | "PSYS_SRC_OUTERANGLE" { count(); yylval.ival = LLPS_SRC_OUTERANGLE; return(INTEGER_CONSTANT); } | ||
367 | "PSYS_SRC_ANGLE_BEGIN" { count(); yylval.ival = LLPS_SRC_ANGLE_BEGIN; return(INTEGER_CONSTANT); } | ||
368 | "PSYS_SRC_ANGLE_END" { count(); yylval.ival = LLPS_SRC_ANGLE_END; return(INTEGER_CONSTANT); } | ||
369 | "PSYS_SRC_BURST_RATE" { count(); yylval.ival = LLPS_SRC_BURST_RATE; return(INTEGER_CONSTANT); } | ||
370 | "PSYS_SRC_BURST_PART_COUNT" { count(); yylval.ival = LLPS_SRC_BURST_PART_COUNT; return(INTEGER_CONSTANT); } | ||
371 | "PSYS_SRC_BURST_RADIUS" { count(); yylval.ival = LLPS_SRC_BURST_RADIUS; return(INTEGER_CONSTANT); } | ||
372 | "PSYS_SRC_BURST_SPEED_MIN" { count(); yylval.ival = LLPS_SRC_BURST_SPEED_MIN; return(INTEGER_CONSTANT); } | ||
373 | "PSYS_SRC_BURST_SPEED_MAX" { count(); yylval.ival = LLPS_SRC_BURST_SPEED_MAX; return(INTEGER_CONSTANT); } | ||
374 | "PSYS_SRC_ACCEL" { count(); yylval.ival = LLPS_SRC_ACCEL; return(INTEGER_CONSTANT); } | ||
375 | "PSYS_SRC_TEXTURE" { count(); yylval.ival = LLPS_SRC_TEXTURE; return(INTEGER_CONSTANT); } | ||
376 | "PSYS_SRC_TARGET_KEY" { count(); yylval.ival = LLPS_SRC_TARGET_UUID; return(INTEGER_CONSTANT); } | ||
377 | "PSYS_SRC_OMEGA" { count(); yylval.ival = LLPS_SRC_OMEGA; return(INTEGER_CONSTANT); } | ||
378 | |||
379 | "PSYS_SRC_OBJ_REL_MASK" { count(); yylval.ival = LLPartSysData::LL_PART_SRC_OBJ_REL_MASK; return(INTEGER_CONSTANT); } | ||
380 | |||
381 | "PSYS_SRC_PATTERN_DROP" { count(); yylval.ival = LLPartSysData::LL_PART_SRC_PATTERN_DROP; return(INTEGER_CONSTANT); } | ||
382 | "PSYS_SRC_PATTERN_EXPLODE" { count(); yylval.ival = LLPartSysData::LL_PART_SRC_PATTERN_EXPLODE; return(INTEGER_CONSTANT); } | ||
383 | "PSYS_SRC_PATTERN_ANGLE" { count(); yylval.ival = LLPartSysData::LL_PART_SRC_PATTERN_ANGLE; return(INTEGER_CONSTANT); } | ||
384 | "PSYS_SRC_PATTERN_ANGLE_CONE" { count(); yylval.ival = LLPartSysData::LL_PART_SRC_PATTERN_ANGLE_CONE; return(INTEGER_CONSTANT); } | ||
385 | "PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY" { count(); yylval.ival = LLPartSysData::LL_PART_SRC_PATTERN_ANGLE_CONE_EMPTY; return(INTEGER_CONSTANT); } | ||
386 | |||
387 | |||
388 | "VEHICLE_TYPE_NONE" { count(); yylval.ival = VEHICLE_TYPE_NONE; return(INTEGER_CONSTANT); } | ||
389 | "VEHICLE_TYPE_SLED" { count(); yylval.ival = VEHICLE_TYPE_SLED; return(INTEGER_CONSTANT); } | ||
390 | "VEHICLE_TYPE_CAR" { count(); yylval.ival = VEHICLE_TYPE_CAR; return(INTEGER_CONSTANT); } | ||
391 | "VEHICLE_TYPE_BOAT" { count(); yylval.ival = VEHICLE_TYPE_BOAT; return(INTEGER_CONSTANT); } | ||
392 | "VEHICLE_TYPE_AIRPLANE" { count(); yylval.ival = VEHICLE_TYPE_AIRPLANE; return(INTEGER_CONSTANT); } | ||
393 | "VEHICLE_TYPE_BALLOON" { count(); yylval.ival = VEHICLE_TYPE_BALLOON; return(INTEGER_CONSTANT); } | ||
394 | |||
395 | "VEHICLE_REFERENCE_FRAME" { count(); yylval.ival = VEHICLE_REFERENCE_FRAME; return(INTEGER_CONSTANT); } | ||
396 | "VEHICLE_LINEAR_FRICTION_TIMESCALE" { count(); yylval.ival = VEHICLE_LINEAR_FRICTION_TIMESCALE; return(INTEGER_CONSTANT); } | ||
397 | "VEHICLE_ANGULAR_FRICTION_TIMESCALE" { count(); yylval.ival = VEHICLE_ANGULAR_FRICTION_TIMESCALE; return(INTEGER_CONSTANT); } | ||
398 | "VEHICLE_LINEAR_MOTOR_DIRECTION" { count(); yylval.ival = VEHICLE_LINEAR_MOTOR_DIRECTION; return(INTEGER_CONSTANT); } | ||
399 | "VEHICLE_ANGULAR_MOTOR_DIRECTION" { count(); yylval.ival = VEHICLE_ANGULAR_MOTOR_DIRECTION; return(INTEGER_CONSTANT); } | ||
400 | "VEHICLE_LINEAR_MOTOR_OFFSET" { count(); yylval.ival = VEHICLE_LINEAR_MOTOR_OFFSET; return(INTEGER_CONSTANT); } | ||
401 | |||
402 | |||
403 | |||
404 | "VEHICLE_HOVER_HEIGHT" { count(); yylval.ival = VEHICLE_HOVER_HEIGHT; return(INTEGER_CONSTANT); } | ||
405 | "VEHICLE_HOVER_EFFICIENCY" { count(); yylval.ival = VEHICLE_HOVER_EFFICIENCY; return(INTEGER_CONSTANT); } | ||
406 | "VEHICLE_HOVER_TIMESCALE" { count(); yylval.ival = VEHICLE_HOVER_TIMESCALE; return(INTEGER_CONSTANT); } | ||
407 | "VEHICLE_BUOYANCY" { count(); yylval.ival = VEHICLE_BUOYANCY; return(INTEGER_CONSTANT); } | ||
408 | |||
409 | "VEHICLE_LINEAR_DEFLECTION_EFFICIENCY" { count(); yylval.ival = VEHICLE_LINEAR_DEFLECTION_EFFICIENCY; return(INTEGER_CONSTANT); } | ||
410 | "VEHICLE_LINEAR_DEFLECTION_TIMESCALE" { count(); yylval.ival = VEHICLE_LINEAR_DEFLECTION_TIMESCALE; return(INTEGER_CONSTANT); } | ||
411 | "VEHICLE_LINEAR_MOTOR_TIMESCALE" { count(); yylval.ival = VEHICLE_LINEAR_MOTOR_TIMESCALE; return(INTEGER_CONSTANT); } | ||
412 | "VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE" { count(); yylval.ival = VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE; return(INTEGER_CONSTANT); } | ||
413 | |||
414 | "VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY" { count(); yylval.ival = VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY; return(INTEGER_CONSTANT); } | ||
415 | "VEHICLE_ANGULAR_DEFLECTION_TIMESCALE" { count(); yylval.ival = VEHICLE_ANGULAR_DEFLECTION_TIMESCALE; return(INTEGER_CONSTANT); } | ||
416 | "VEHICLE_ANGULAR_MOTOR_TIMESCALE" { count(); yylval.ival = VEHICLE_ANGULAR_MOTOR_TIMESCALE; return(INTEGER_CONSTANT); } | ||
417 | "VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE" { count(); yylval.ival = VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE; return(INTEGER_CONSTANT); } | ||
418 | |||
419 | "VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY" { count(); yylval.ival = VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY; return(INTEGER_CONSTANT); } | ||
420 | "VEHICLE_VERTICAL_ATTRACTION_TIMESCALE" { count(); yylval.ival = VEHICLE_VERTICAL_ATTRACTION_TIMESCALE; return(INTEGER_CONSTANT); } | ||
421 | |||
422 | "VEHICLE_BANKING_EFFICIENCY" { count(); yylval.ival = VEHICLE_BANKING_EFFICIENCY; return(INTEGER_CONSTANT); } | ||
423 | "VEHICLE_BANKING_MIX" { count(); yylval.ival = VEHICLE_BANKING_MIX; return(INTEGER_CONSTANT); } | ||
424 | "VEHICLE_BANKING_TIMESCALE" { count(); yylval.ival = VEHICLE_BANKING_TIMESCALE; return(INTEGER_CONSTANT); } | ||
425 | |||
426 | "VEHICLE_FLAG_NO_FLY_UP" { count(); yylval.ival = VEHICLE_FLAG_NO_DEFLECTION_UP; return(INTEGER_CONSTANT); } | ||
427 | "VEHICLE_FLAG_NO_DEFLECTION_UP" { count(); yylval.ival = VEHICLE_FLAG_NO_DEFLECTION_UP; return(INTEGER_CONSTANT); } | ||
428 | "VEHICLE_FLAG_LIMIT_ROLL_ONLY" { count(); yylval.ival = VEHICLE_FLAG_LIMIT_ROLL_ONLY; return(INTEGER_CONSTANT); } | ||
429 | "VEHICLE_FLAG_HOVER_WATER_ONLY" { count(); yylval.ival = VEHICLE_FLAG_HOVER_WATER_ONLY; return(INTEGER_CONSTANT); } | ||
430 | "VEHICLE_FLAG_HOVER_TERRAIN_ONLY" { count(); yylval.ival = VEHICLE_FLAG_HOVER_TERRAIN_ONLY; return(INTEGER_CONSTANT); } | ||
431 | "VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT" { count(); yylval.ival = VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT; return(INTEGER_CONSTANT); } | ||
432 | "VEHICLE_FLAG_HOVER_UP_ONLY" { count(); yylval.ival = VEHICLE_FLAG_HOVER_UP_ONLY; return(INTEGER_CONSTANT); } | ||
433 | "VEHICLE_FLAG_LIMIT_MOTOR_UP" { count(); yylval.ival = VEHICLE_FLAG_LIMIT_MOTOR_UP; return(INTEGER_CONSTANT); } | ||
434 | "VEHICLE_FLAG_MOUSELOOK_STEER" { count(); yylval.ival = VEHICLE_FLAG_MOUSELOOK_STEER; return(INTEGER_CONSTANT); } | ||
435 | "VEHICLE_FLAG_MOUSELOOK_BANK" { count(); yylval.ival = VEHICLE_FLAG_MOUSELOOK_BANK; return(INTEGER_CONSTANT); } | ||
436 | "VEHICLE_FLAG_CAMERA_DECOUPLED" { count(); yylval.ival = VEHICLE_FLAG_CAMERA_DECOUPLED; return(INTEGER_CONSTANT); } | ||
437 | |||
438 | |||
439 | |||
440 | "PRIM_TYPE" { count(); yylval.ival = LSL_PRIM_TYPE; return(INTEGER_CONSTANT); } | ||
441 | "PRIM_MATERIAL" { count(); yylval.ival = LSL_PRIM_MATERIAL; return(INTEGER_CONSTANT); } | ||
442 | "PRIM_PHYSICS" { count(); yylval.ival = LSL_PRIM_PHYSICS; return(INTEGER_CONSTANT); } | ||
443 | "PRIM_FLEXIBLE" { count(); yylval.ival = LSL_PRIM_FLEXIBLE; return(INTEGER_CONSTANT); } | ||
444 | "PRIM_POINT_LIGHT" { count(); yylval.ival = LSL_PRIM_POINT_LIGHT; return(INTEGER_CONSTANT); } | ||
445 | "PRIM_TEMP_ON_REZ" { count(); yylval.ival = LSL_PRIM_TEMP_ON_REZ; return(INTEGER_CONSTANT); } | ||
446 | "PRIM_PHANTOM" { count(); yylval.ival = LSL_PRIM_PHANTOM; return(INTEGER_CONSTANT); } | ||
447 | "PRIM_CAST_SHADOWS" { count(); yylval.ival = LSL_PRIM_CAST_SHADOWS; return(INTEGER_CONSTANT); } | ||
448 | "PRIM_POSITION" { count(); yylval.ival = LSL_PRIM_POSITION; return(INTEGER_CONSTANT); } | ||
449 | "PRIM_SIZE" { count(); yylval.ival = LSL_PRIM_SIZE; return(INTEGER_CONSTANT); } | ||
450 | "PRIM_ROTATION" { count(); yylval.ival = LSL_PRIM_ROTATION; return(INTEGER_CONSTANT); } | ||
451 | "PRIM_TEXTURE" { count(); yylval.ival = LSL_PRIM_TEXTURE; return(INTEGER_CONSTANT); } | ||
452 | "PRIM_COLOR" { count(); yylval.ival = LSL_PRIM_COLOR; return(INTEGER_CONSTANT); } | ||
453 | "PRIM_BUMP_SHINY" { count(); yylval.ival = LSL_PRIM_BUMP_SHINY; return(INTEGER_CONSTANT); } | ||
454 | "PRIM_FULLBRIGHT" { count(); yylval.ival = LSL_PRIM_FULLBRIGHT; return(INTEGER_CONSTANT); } | ||
455 | "PRIM_TEXGEN" { count(); yylval.ival = LSL_PRIM_TEXGEN; return(INTEGER_CONSTANT); } | ||
456 | "PRIM_GLOW" { count(); yylval.ival = LSL_PRIM_GLOW; return(INTEGER_CONSTANT); } | ||
457 | "PRIM_TEXT" { count(); yylval.ival = LSL_PRIM_TEXT; return(INTEGER_CONSTANT); } | ||
458 | "PRIM_NAME" { count(); yylval.ival = LSL_PRIM_NAME; return(INTEGER_CONSTANT); } | ||
459 | "PRIM_DESC" { count(); yylval.ival = LSL_PRIM_DESC; return(INTEGER_CONSTANT); } | ||
460 | |||
461 | "PRIM_TYPE_BOX" { count(); yylval.ival = LSL_PRIM_TYPE_BOX; return(INTEGER_CONSTANT); } | ||
462 | "PRIM_TYPE_CYLINDER" { count(); yylval.ival = LSL_PRIM_TYPE_CYLINDER; return(INTEGER_CONSTANT); } | ||
463 | "PRIM_TYPE_PRISM" { count(); yylval.ival = LSL_PRIM_TYPE_PRISM; return(INTEGER_CONSTANT); } | ||
464 | "PRIM_TYPE_SPHERE" { count(); yylval.ival = LSL_PRIM_TYPE_SPHERE; return(INTEGER_CONSTANT); } | ||
465 | "PRIM_TYPE_TORUS" { count(); yylval.ival = LSL_PRIM_TYPE_TORUS; return(INTEGER_CONSTANT); } | ||
466 | "PRIM_TYPE_TUBE" { count(); yylval.ival = LSL_PRIM_TYPE_TUBE; return(INTEGER_CONSTANT); } | ||
467 | "PRIM_TYPE_RING" { count(); yylval.ival = LSL_PRIM_TYPE_RING; return(INTEGER_CONSTANT); } | ||
468 | "PRIM_TYPE_SCULPT" { count(); yylval.ival = LSL_PRIM_TYPE_SCULPT; return(INTEGER_CONSTANT); } | ||
469 | |||
470 | "PRIM_HOLE_DEFAULT" { count(); yylval.ival = LSL_PRIM_HOLE_DEFAULT; return(INTEGER_CONSTANT); } | ||
471 | "PRIM_HOLE_CIRCLE" { count(); yylval.ival = LSL_PRIM_HOLE_CIRCLE; return(INTEGER_CONSTANT); } | ||
472 | "PRIM_HOLE_SQUARE" { count(); yylval.ival = LSL_PRIM_HOLE_SQUARE; return(INTEGER_CONSTANT); } | ||
473 | "PRIM_HOLE_TRIANGLE" { count(); yylval.ival = LSL_PRIM_HOLE_TRIANGLE; return(INTEGER_CONSTANT); } | ||
474 | |||
475 | "PRIM_MATERIAL_STONE" { count(); yylval.ival = LSL_PRIM_MATERIAL_STONE; return(INTEGER_CONSTANT); } | ||
476 | "PRIM_MATERIAL_METAL" { count(); yylval.ival = LSL_PRIM_MATERIAL_METAL; return(INTEGER_CONSTANT); } | ||
477 | "PRIM_MATERIAL_GLASS" { count(); yylval.ival = LSL_PRIM_MATERIAL_GLASS; return(INTEGER_CONSTANT); } | ||
478 | "PRIM_MATERIAL_WOOD" { count(); yylval.ival = LSL_PRIM_MATERIAL_WOOD; return(INTEGER_CONSTANT); } | ||
479 | "PRIM_MATERIAL_FLESH" { count(); yylval.ival = LSL_PRIM_MATERIAL_FLESH; return(INTEGER_CONSTANT); } | ||
480 | "PRIM_MATERIAL_PLASTIC" { count(); yylval.ival = LSL_PRIM_MATERIAL_PLASTIC; return(INTEGER_CONSTANT); } | ||
481 | "PRIM_MATERIAL_RUBBER" { count(); yylval.ival = LSL_PRIM_MATERIAL_RUBBER; return(INTEGER_CONSTANT); } | ||
482 | "PRIM_MATERIAL_LIGHT" { count(); yylval.ival = LSL_PRIM_MATERIAL_LIGHT; return(INTEGER_CONSTANT); } | ||
483 | |||
484 | "PRIM_SHINY_NONE" { count(); yylval.ival = LSL_PRIM_SHINY_NONE; return(INTEGER_CONSTANT); } | ||
485 | "PRIM_SHINY_LOW" { count(); yylval.ival = LSL_PRIM_SHINY_LOW; return(INTEGER_CONSTANT); } | ||
486 | "PRIM_SHINY_MEDIUM" { count(); yylval.ival = LSL_PRIM_SHINY_MEDIUM; return(INTEGER_CONSTANT); } | ||
487 | "PRIM_SHINY_HIGH" { count(); yylval.ival = LSL_PRIM_SHINY_HIGH; return(INTEGER_CONSTANT); } | ||
488 | |||
489 | "PRIM_BUMP_NONE" { count(); yylval.ival = LSL_PRIM_BUMP_NONE; return(INTEGER_CONSTANT); } | ||
490 | "PRIM_BUMP_BRIGHT" { count(); yylval.ival = LSL_PRIM_BUMP_BRIGHT; return(INTEGER_CONSTANT); } | ||
491 | "PRIM_BUMP_DARK" { count(); yylval.ival = LSL_PRIM_BUMP_DARK; return(INTEGER_CONSTANT); } | ||
492 | "PRIM_BUMP_WOOD" { count(); yylval.ival = LSL_PRIM_BUMP_WOOD; return(INTEGER_CONSTANT); } | ||
493 | "PRIM_BUMP_BARK" { count(); yylval.ival = LSL_PRIM_BUMP_BARK; return(INTEGER_CONSTANT); } | ||
494 | "PRIM_BUMP_BRICKS" { count(); yylval.ival = LSL_PRIM_BUMP_BRICKS; return(INTEGER_CONSTANT); } | ||
495 | "PRIM_BUMP_CHECKER" { count(); yylval.ival = LSL_PRIM_BUMP_CHECKER; return(INTEGER_CONSTANT); } | ||
496 | "PRIM_BUMP_CONCRETE" { count(); yylval.ival = LSL_PRIM_BUMP_CONCRETE; return(INTEGER_CONSTANT); } | ||
497 | "PRIM_BUMP_TILE" { count(); yylval.ival = LSL_PRIM_BUMP_TILE; return(INTEGER_CONSTANT); } | ||
498 | "PRIM_BUMP_STONE" { count(); yylval.ival = LSL_PRIM_BUMP_STONE; return(INTEGER_CONSTANT); } | ||
499 | "PRIM_BUMP_DISKS" { count(); yylval.ival = LSL_PRIM_BUMP_DISKS; return(INTEGER_CONSTANT); } | ||
500 | "PRIM_BUMP_GRAVEL" { count(); yylval.ival = LSL_PRIM_BUMP_GRAVEL; return(INTEGER_CONSTANT); } | ||
501 | "PRIM_BUMP_BLOBS" { count(); yylval.ival = LSL_PRIM_BUMP_BLOBS; return(INTEGER_CONSTANT); } | ||
502 | "PRIM_BUMP_SIDING" { count(); yylval.ival = LSL_PRIM_BUMP_SIDING; return(INTEGER_CONSTANT); } | ||
503 | "PRIM_BUMP_LARGETILE" { count(); yylval.ival = LSL_PRIM_BUMP_LARGETILE; return(INTEGER_CONSTANT); } | ||
504 | "PRIM_BUMP_STUCCO" { count(); yylval.ival = LSL_PRIM_BUMP_STUCCO; return(INTEGER_CONSTANT); } | ||
505 | "PRIM_BUMP_SUCTION" { count(); yylval.ival = LSL_PRIM_BUMP_SUCTION; return(INTEGER_CONSTANT); } | ||
506 | "PRIM_BUMP_WEAVE" { count(); yylval.ival = LSL_PRIM_BUMP_WEAVE; return(INTEGER_CONSTANT); } | ||
507 | |||
508 | "PRIM_TEXGEN_DEFAULT" { count(); yylval.ival = LSL_PRIM_TEXGEN_DEFAULT; return(INTEGER_CONSTANT); } | ||
509 | "PRIM_TEXGEN_PLANAR" { count(); yylval.ival = LSL_PRIM_TEXGEN_PLANAR; return(INTEGER_CONSTANT); } | ||
510 | |||
511 | "PRIM_SCULPT_TYPE_SPHERE" { count(); yylval.ival = LSL_PRIM_SCULPT_TYPE_SPHERE; return(INTEGER_CONSTANT); } | ||
512 | "PRIM_SCULPT_TYPE_TORUS" { count(); yylval.ival = LSL_PRIM_SCULPT_TYPE_TORUS; return(INTEGER_CONSTANT); } | ||
513 | "PRIM_SCULPT_TYPE_PLANE" { count(); yylval.ival = LSL_PRIM_SCULPT_TYPE_PLANE; return(INTEGER_CONSTANT); } | ||
514 | "PRIM_SCULPT_TYPE_CYLINDER" { count(); yylval.ival = LSL_PRIM_SCULPT_TYPE_CYLINDER; return(INTEGER_CONSTANT); } | ||
515 | "PRIM_SCULPT_TYPE_MASK" { count(); yylval.ival = LSL_PRIM_SCULPT_TYPE_MASK; return(INTEGER_CONSTANT); } | ||
516 | "PRIM_SCULPT_FLAG_MIRROR" { count(); yylval.ival = LSL_PRIM_SCULPT_FLAG_MIRROR; return(INTEGER_CONSTANT); } | ||
517 | "PRIM_SCULPT_FLAG_INVERT" { count(); yylval.ival = LSL_PRIM_SCULPT_FLAG_INVERT; return(INTEGER_CONSTANT); } | ||
518 | |||
519 | "MASK_BASE" { count(); yylval.ival = 0; return(INTEGER_CONSTANT); } | ||
520 | "MASK_OWNER" { count(); yylval.ival = 1; return(INTEGER_CONSTANT); } | ||
521 | "MASK_GROUP" { count(); yylval.ival = 2; return(INTEGER_CONSTANT); } | ||
522 | "MASK_EVERYONE" { count(); yylval.ival = 3; return(INTEGER_CONSTANT); } | ||
523 | "MASK_NEXT" { count(); yylval.ival = 4; return(INTEGER_CONSTANT); } | ||
524 | |||
525 | "PERM_TRANSFER" { count(); yylval.ival = PERM_TRANSFER; return(INTEGER_CONSTANT); } | ||
526 | "PERM_MODIFY" { count(); yylval.ival = PERM_MODIFY; return(INTEGER_CONSTANT); } | ||
527 | "PERM_COPY" { count(); yylval.ival = PERM_COPY; return(INTEGER_CONSTANT); } | ||
528 | "PERM_MOVE" { count(); yylval.ival = PERM_MOVE; return(INTEGER_CONSTANT); } | ||
529 | "PERM_ALL" { count(); yylval.ival = PERM_ALL; return(INTEGER_CONSTANT); } | ||
530 | |||
531 | "PARCEL_MEDIA_COMMAND_STOP" { count(); yylval.ival = PARCEL_MEDIA_COMMAND_STOP; return(INTEGER_CONSTANT); } | ||
532 | "PARCEL_MEDIA_COMMAND_PAUSE" { count(); yylval.ival = PARCEL_MEDIA_COMMAND_PAUSE; return(INTEGER_CONSTANT); } | ||
533 | "PARCEL_MEDIA_COMMAND_PLAY" { count(); yylval.ival = PARCEL_MEDIA_COMMAND_PLAY; return(INTEGER_CONSTANT); } | ||
534 | "PARCEL_MEDIA_COMMAND_LOOP" { count(); yylval.ival = PARCEL_MEDIA_COMMAND_LOOP; return(INTEGER_CONSTANT); } | ||
535 | "PARCEL_MEDIA_COMMAND_TEXTURE" { count(); yylval.ival = PARCEL_MEDIA_COMMAND_TEXTURE; return(INTEGER_CONSTANT); } | ||
536 | "PARCEL_MEDIA_COMMAND_URL" { count(); yylval.ival = PARCEL_MEDIA_COMMAND_URL; return(INTEGER_CONSTANT); } | ||
537 | "PARCEL_MEDIA_COMMAND_TIME" { count(); yylval.ival = PARCEL_MEDIA_COMMAND_TIME; return(INTEGER_CONSTANT); } | ||
538 | "PARCEL_MEDIA_COMMAND_AGENT" { count(); yylval.ival = PARCEL_MEDIA_COMMAND_AGENT; return(INTEGER_CONSTANT); } | ||
539 | "PARCEL_MEDIA_COMMAND_UNLOAD" { count(); yylval.ival = PARCEL_MEDIA_COMMAND_UNLOAD; return(INTEGER_CONSTANT); } | ||
540 | "PARCEL_MEDIA_COMMAND_AUTO_ALIGN" { count(); yylval.ival = PARCEL_MEDIA_COMMAND_AUTO_ALIGN; return(INTEGER_CONSTANT); } | ||
541 | "PARCEL_MEDIA_COMMAND_TYPE" { count(); yylval.ival = PARCEL_MEDIA_COMMAND_TYPE; return(INTEGER_CONSTANT); } | ||
542 | "PARCEL_MEDIA_COMMAND_SIZE" { count(); yylval.ival = PARCEL_MEDIA_COMMAND_SIZE; return(INTEGER_CONSTANT); } | ||
543 | "PARCEL_MEDIA_COMMAND_DESC" { count(); yylval.ival = PARCEL_MEDIA_COMMAND_DESC; return(INTEGER_CONSTANT); } | ||
544 | "PARCEL_MEDIA_COMMAND_LOOP_SET" { count(); yylval.ival = PARCEL_MEDIA_COMMAND_LOOP_SET; return(INTEGER_CONSTANT); } | ||
545 | |||
546 | "LIST_STAT_MAX" { count(); yylval.ival = LIST_STAT_MAX; return(INTEGER_CONSTANT); } | ||
547 | "LIST_STAT_MIN" { count(); yylval.ival = LIST_STAT_MIN; return(INTEGER_CONSTANT); } | ||
548 | "LIST_STAT_MEAN" { count(); yylval.ival = LIST_STAT_MEAN; return(INTEGER_CONSTANT); } | ||
549 | "LIST_STAT_MEDIAN" { count(); yylval.ival = LIST_STAT_MEDIAN; return(INTEGER_CONSTANT); } | ||
550 | "LIST_STAT_STD_DEV" { count(); yylval.ival = LIST_STAT_STD_DEV; return(INTEGER_CONSTANT); } | ||
551 | "LIST_STAT_SUM" { count(); yylval.ival = LIST_STAT_SUM; return(INTEGER_CONSTANT); } | ||
552 | "LIST_STAT_SUM_SQUARES" { count(); yylval.ival = LIST_STAT_SUM_SQUARES; return(INTEGER_CONSTANT); } | ||
553 | "LIST_STAT_NUM_COUNT" { count(); yylval.ival = LIST_STAT_NUM_COUNT; return(INTEGER_CONSTANT); } | ||
554 | "LIST_STAT_GEOMETRIC_MEAN" { count(); yylval.ival = LIST_STAT_GEO_MEAN; return(INTEGER_CONSTANT); } | ||
555 | "LIST_STAT_RANGE" { count(); yylval.ival = LIST_STAT_RANGE; return(INTEGER_CONSTANT); } | ||
556 | |||
557 | "PAY_HIDE" { count(); yylval.ival = PAY_PRICE_HIDE; return(INTEGER_CONSTANT); } | ||
558 | "PAY_DEFAULT" { count(); yylval.ival = PAY_PRICE_DEFAULT; return(INTEGER_CONSTANT); } | ||
559 | |||
560 | "PARCEL_FLAG_ALLOW_FLY" { count(); yylval.ival = PF_ALLOW_FLY; return(INTEGER_CONSTANT); } | ||
561 | "PARCEL_FLAG_ALLOW_GROUP_SCRIPTS" { count(); yylval.ival = PF_ALLOW_GROUP_SCRIPTS; return(INTEGER_CONSTANT); } | ||
562 | "PARCEL_FLAG_ALLOW_SCRIPTS" { count(); yylval.ival = PF_ALLOW_OTHER_SCRIPTS; return(INTEGER_CONSTANT); } | ||
563 | "PARCEL_FLAG_ALLOW_LANDMARK" { count(); yylval.ival = PF_ALLOW_LANDMARK; return(INTEGER_CONSTANT); } | ||
564 | "PARCEL_FLAG_ALLOW_TERRAFORM" { count(); yylval.ival = PF_ALLOW_TERRAFORM; return(INTEGER_CONSTANT); } | ||
565 | "PARCEL_FLAG_ALLOW_DAMAGE" { count(); yylval.ival = PF_ALLOW_DAMAGE; return(INTEGER_CONSTANT); } | ||
566 | "PARCEL_FLAG_ALLOW_CREATE_OBJECTS" { count(); yylval.ival = PF_CREATE_OBJECTS; return(INTEGER_CONSTANT); } | ||
567 | "PARCEL_FLAG_ALLOW_CREATE_GROUP_OBJECTS" { count(); yylval.ival = PF_CREATE_GROUP_OBJECTS; return(INTEGER_CONSTANT); } | ||
568 | "PARCEL_FLAG_USE_ACCESS_GROUP" { count(); yylval.ival = PF_USE_ACCESS_GROUP; return(INTEGER_CONSTANT); } | ||
569 | "PARCEL_FLAG_USE_ACCESS_LIST" { count(); yylval.ival = PF_USE_ACCESS_LIST; return(INTEGER_CONSTANT); } | ||
570 | "PARCEL_FLAG_USE_BAN_LIST" { count(); yylval.ival = PF_USE_BAN_LIST; return(INTEGER_CONSTANT); } | ||
571 | "PARCEL_FLAG_USE_LAND_PASS_LIST" { count(); yylval.ival = PF_USE_PASS_LIST; return(INTEGER_CONSTANT); } | ||
572 | "PARCEL_FLAG_LOCAL_SOUND_ONLY" { count(); yylval.ival = PF_SOUND_LOCAL; return(INTEGER_CONSTANT); } | ||
573 | "PARCEL_FLAG_RESTRICT_PUSHOBJECT" { count(); yylval.ival = PF_RESTRICT_PUSHOBJECT; return(INTEGER_CONSTANT); } | ||
574 | "PARCEL_FLAG_ALLOW_GROUP_OBJECT_ENTRY" { count(); yylval.ival = PF_ALLOW_GROUP_OBJECT_ENTRY; return(INTEGER_CONSTANT); } | ||
575 | "PARCEL_FLAG_ALLOW_ALL_OBJECT_ENTRY" { count(); yylval.ival = PF_ALLOW_ALL_OBJECT_ENTRY; return(INTEGER_CONSTANT); } | ||
576 | |||
577 | "REGION_FLAG_ALLOW_DAMAGE" { count(); yylval.ival = REGION_FLAGS_ALLOW_DAMAGE; return(INTEGER_CONSTANT); } | ||
578 | "REGION_FLAG_FIXED_SUN" { count(); yylval.ival = REGION_FLAGS_SUN_FIXED; return(INTEGER_CONSTANT); } | ||
579 | "REGION_FLAG_BLOCK_TERRAFORM" { count(); yylval.ival = REGION_FLAGS_BLOCK_TERRAFORM; return(INTEGER_CONSTANT); } | ||
580 | "REGION_FLAG_SANDBOX" { count(); yylval.ival = REGION_FLAGS_SANDBOX; return(INTEGER_CONSTANT); } | ||
581 | "REGION_FLAG_DISABLE_COLLISIONS" { count(); yylval.ival = REGION_FLAGS_SKIP_COLLISIONS; return(INTEGER_CONSTANT); } | ||
582 | "REGION_FLAG_DISABLE_PHYSICS" { count(); yylval.ival = REGION_FLAGS_SKIP_PHYSICS; return(INTEGER_CONSTANT); } | ||
583 | "REGION_FLAG_BLOCK_FLY" { count(); yylval.ival = REGION_FLAGS_BLOCK_FLY; return(INTEGER_CONSTANT); } | ||
584 | "REGION_FLAG_ALLOW_DIRECT_TELEPORT" { count(); yylval.ival = REGION_FLAGS_ALLOW_DIRECT_TELEPORT; return(INTEGER_CONSTANT); } | ||
585 | "REGION_FLAG_RESTRICT_PUSHOBJECT" { count(); yylval.ival = REGION_FLAGS_RESTRICT_PUSHOBJECT; return(INTEGER_CONSTANT); } | ||
586 | |||
587 | "HTTP_METHOD" { count(); yylval.ival = HTTP_METHOD; return(INTEGER_CONSTANT); } | ||
588 | "HTTP_MIMETYPE" { count(); yylval.ival = HTTP_MIMETYPE; return(INTEGER_CONSTANT); } | ||
589 | "HTTP_BODY_MAXLENGTH" { count(); yylval.ival = HTTP_BODY_MAXLENGTH; return(INTEGER_CONSTANT); } | ||
590 | "HTTP_BODY_TRUNCATED" { count(); yylval.ival = HTTP_BODY_TRUNCATED; return(INTEGER_CONSTANT); } | ||
591 | "HTTP_VERIFY_CERT" { count(); yylval.ival = HTTP_VERIFY_CERT; return(INTEGER_CONSTANT); } | ||
592 | |||
593 | "PARCEL_COUNT_TOTAL" { count(); yylval.ival = OC_TOTAL; return(INTEGER_CONSTANT); } | ||
594 | "PARCEL_COUNT_OWNER" { count(); yylval.ival = OC_OWNER; return(INTEGER_CONSTANT); } | ||
595 | "PARCEL_COUNT_GROUP" { count(); yylval.ival = OC_GROUP; return(INTEGER_CONSTANT); } | ||
596 | "PARCEL_COUNT_OTHER" { count(); yylval.ival = OC_OTHER; return(INTEGER_CONSTANT); } | ||
597 | "PARCEL_COUNT_SELECTED" { count(); yylval.ival = OC_SELECTED; return(INTEGER_CONSTANT); } | ||
598 | "PARCEL_COUNT_TEMP" { count(); yylval.ival = OC_TEMP; return(INTEGER_CONSTANT); } | ||
599 | |||
600 | "PARCEL_DETAILS_NAME" { count(); yylval.ival = PARCEL_DETAILS_NAME; return(INTEGER_CONSTANT); } | ||
601 | "PARCEL_DETAILS_DESC" { count(); yylval.ival = PARCEL_DETAILS_DESC; return(INTEGER_CONSTANT); } | ||
602 | "PARCEL_DETAILS_OWNER" { count(); yylval.ival = PARCEL_DETAILS_OWNER; return(INTEGER_CONSTANT); } | ||
603 | "PARCEL_DETAILS_GROUP" { count(); yylval.ival = PARCEL_DETAILS_GROUP; return(INTEGER_CONSTANT); } | ||
604 | "PARCEL_DETAILS_AREA" { count(); yylval.ival = PARCEL_DETAILS_AREA; return(INTEGER_CONSTANT); } | ||
605 | |||
606 | "STRING_TRIM_HEAD" { count(); yylval.ival = STRING_TRIM_HEAD; return(INTEGER_CONSTANT); } | ||
607 | "STRING_TRIM_TAIL" { count(); yylval.ival = STRING_TRIM_TAIL; return(INTEGER_CONSTANT); } | ||
608 | "STRING_TRIM" { count(); yylval.ival = STRING_TRIM; return(INTEGER_CONSTANT); } | ||
609 | |||
610 | "CLICK_ACTION_NONE" { count(); yylval.ival = CLICK_ACTION_NONE; return(INTEGER_CONSTANT); } | ||
611 | "CLICK_ACTION_TOUCH" { count(); yylval.ival = CLICK_ACTION_TOUCH; return(INTEGER_CONSTANT); } | ||
612 | "CLICK_ACTION_SIT" { count(); yylval.ival = CLICK_ACTION_SIT; return(INTEGER_CONSTANT); } | ||
613 | "CLICK_ACTION_BUY" { count(); yylval.ival = CLICK_ACTION_BUY; return(INTEGER_CONSTANT); } | ||
614 | "CLICK_ACTION_PAY" { count(); yylval.ival = CLICK_ACTION_PAY; return(INTEGER_CONSTANT); } | ||
615 | "CLICK_ACTION_OPEN" { count(); yylval.ival = CLICK_ACTION_OPEN; return(INTEGER_CONSTANT); } | ||
616 | "CLICK_ACTION_PLAY" { count(); yylval.ival = CLICK_ACTION_PLAY; return(INTEGER_CONSTANT); } | ||
617 | "CLICK_ACTION_OPEN_MEDIA" { count(); yylval.ival = CLICK_ACTION_OPEN_MEDIA; return(INTEGER_CONSTANT); } | ||
618 | "CLICK_ACTION_ZOOM" { count(); yylval.ival = CLICK_ACTION_ZOOM; return(INTEGER_CONSTANT); } | ||
619 | |||
620 | "TEXTURE_BLANK" { yylval.sval = new char[UUID_STR_LENGTH]; strcpy(yylval.sval, "5748decc-f629-461c-9a36-a35a221fe21f"); return(STRING_CONSTANT); } | ||
621 | "TEXTURE_DEFAULT" { yylval.sval = new char[UUID_STR_LENGTH]; strcpy(yylval.sval, "89556747-24cb-43ed-920b-47caed15465f"); return(STRING_CONSTANT); } | ||
622 | "TEXTURE_MEDIA" { yylval.sval = new char[UUID_STR_LENGTH]; strcpy(yylval.sval, "8b5fec65-8d8d-9dc5-cda8-8fdf2716e361"); return(STRING_CONSTANT); } | ||
623 | "TEXTURE_PLYWOOD" { yylval.sval = new char[UUID_STR_LENGTH]; strcpy(yylval.sval, "89556747-24cb-43ed-920b-47caed15465f"); return(STRING_CONSTANT); } | ||
624 | "TEXTURE_TRANSPARENT" { yylval.sval = new char[UUID_STR_LENGTH]; strcpy(yylval.sval, "8dcd4a48-2d37-4909-9f78-f7a9eb4ef903"); return(STRING_CONSTANT); } | ||
625 | 110 | ||
626 | "TOUCH_INVALID_FACE" { count(); yylval.ival = -1; return(INTEGER_CONSTANT); } | 111 | "TOUCH_INVALID_FACE" { count(); yylval.ival = -1; return(INTEGER_CONSTANT); } |
627 | "TOUCH_INVALID_VECTOR" { count(); return(TOUCH_INVALID_VECTOR); } | 112 | "TOUCH_INVALID_VECTOR" { count(); return(TOUCH_INVALID_VECTOR); } |
628 | "TOUCH_INVALID_TEXCOORD" { count(); return(TOUCH_INVALID_TEXCOORD); } | 113 | "TOUCH_INVALID_TEXCOORD" { count(); return(TOUCH_INVALID_TEXCOORD); } |
629 | 114 | ||
630 | "PRIM_MEDIA_ALT_IMAGE_ENABLE" { count(); yylval.ival = 0; return(INTEGER_CONSTANT); } | ||
631 | "PRIM_MEDIA_CONTROLS" { count(); yylval.ival = 1; return(INTEGER_CONSTANT); } | ||
632 | "PRIM_MEDIA_CURRENT_URL" { count(); yylval.ival = 2; return(INTEGER_CONSTANT); } | ||
633 | "PRIM_MEDIA_HOME_URL" { count(); yylval.ival = 3; return(INTEGER_CONSTANT); } | ||
634 | "PRIM_MEDIA_AUTO_LOOP" { count(); yylval.ival = 4; return(INTEGER_CONSTANT); } | ||
635 | "PRIM_MEDIA_AUTO_PLAY" { count(); yylval.ival = 5; return(INTEGER_CONSTANT); } | ||
636 | "PRIM_MEDIA_AUTO_SCALE" { count(); yylval.ival = 6; return(INTEGER_CONSTANT); } | ||
637 | "PRIM_MEDIA_AUTO_ZOOM" { count(); yylval.ival = 7; return(INTEGER_CONSTANT); } | ||
638 | "PRIM_MEDIA_FIRST_CLICK_INTERACT" { count(); yylval.ival = 8; return(INTEGER_CONSTANT); } | ||
639 | "PRIM_MEDIA_WIDTH_PIXELS" { count(); yylval.ival = 9; return(INTEGER_CONSTANT); } | ||
640 | "PRIM_MEDIA_HEIGHT_PIXELS" { count(); yylval.ival = 10; return(INTEGER_CONSTANT); } | ||
641 | "PRIM_MEDIA_WHITELIST_ENABLE" { count(); yylval.ival = 11; return(INTEGER_CONSTANT); } | ||
642 | "PRIM_MEDIA_WHITELIST" { count(); yylval.ival = 12; return(INTEGER_CONSTANT); } | ||
643 | "PRIM_MEDIA_PERMS_INTERACT" { count(); yylval.ival = 13; return(INTEGER_CONSTANT); } | ||
644 | "PRIM_MEDIA_PERMS_CONTROL" { count(); yylval.ival = 14; return(INTEGER_CONSTANT); } | ||
645 | "PRIM_MEDIA_PARAM_MAX" { count(); yylval.ival = 14; return(INTEGER_CONSTANT); } | ||
646 | |||
647 | "PRIM_MEDIA_CONTROLS_STANDARD" { count(); yylval.ival = 0; return(INTEGER_CONSTANT); } | ||
648 | "PRIM_MEDIA_CONTROLS_MINI" { count(); yylval.ival = 1; return(INTEGER_CONSTANT); } | ||
649 | |||
650 | "PRIM_MEDIA_PERM_NONE" { count(); yylval.ival = 0x0; return(INTEGER_CONSTANT); } | ||
651 | "PRIM_MEDIA_PERM_OWNER" { count(); yylval.ival = 0x1; return(INTEGER_CONSTANT); } | ||
652 | "PRIM_MEDIA_PERM_GROUP" { count(); yylval.ival = 0x3; return(INTEGER_CONSTANT); } | ||
653 | "PRIM_MEDIA_PERM_ANYONE" { count(); yylval.ival = 0x4; return(INTEGER_CONSTANT); } | ||
654 | |||
655 | "PRIM_MEDIA_MAX_URL_LENGTH" { count(); yylval.ival = 1024; return(INTEGER_CONSTANT); } | ||
656 | "PRIM_MEDIA_MAX_WHITELIST_SIZE" { count(); yylval.ival = 1024; return(INTEGER_CONSTANT); } | ||
657 | "PRIM_MEDIA_MAX_WHITELIST_COUNT" { count(); yylval.ival = 64; return(INTEGER_CONSTANT); } | ||
658 | "PRIM_MEDIA_MAX_WIDTH_PIXELS" { count(); yylval.ival = 2048; return(INTEGER_CONSTANT); } | ||
659 | "PRIM_MEDIA_MAX_HEIGHT_PIXELS" { count(); yylval.ival = 2048; return(INTEGER_CONSTANT); } | ||
660 | |||
661 | "STATUS_OK" { count(); yylval.ival = LSL_STATUS_OK; return(INTEGER_CONSTANT); } | ||
662 | "STATUS_MALFORMED_PARAMS" { count(); yylval.ival = LSL_STATUS_MALFORMED_PARAMS; return(INTEGER_CONSTANT); } | ||
663 | "STATUS_TYPE_MISMATCH" { count(); yylval.ival = LSL_STATUS_TYPE_MISMATCH; return(INTEGER_CONSTANT); } | ||
664 | "STATUS_BOUNDS_ERROR" { count(); yylval.ival = LSL_STATUS_BOUNDS_ERROR; return(INTEGER_CONSTANT); } | ||
665 | "STATUS_NOT_FOUND" { count(); yylval.ival = LSL_STATUS_NOT_FOUND; return(INTEGER_CONSTANT); } | ||
666 | "STATUS_NOT_SUPPORTED" { count(); yylval.ival = LSL_STATUS_NOT_SUPPORTED; return(INTEGER_CONSTANT); } | ||
667 | "STATUS_INTERNAL_ERROR" { count(); yylval.ival = LSL_STATUS_INTERNAL_ERROR; return(INTEGER_CONSTANT); } | ||
668 | "STATUS_WHITELIST_FAILED" { count(); yylval.ival = LSL_STATUS_WHITELIST_FAILED; return(INTEGER_CONSTANT); } | ||
669 | |||
670 | {L}({L}|{N})* { count(); yylval.sval = new char[strlen(yytext) + 1]; strcpy(yylval.sval, yytext); return(IDENTIFIER); } | 115 | {L}({L}|{N})* { count(); yylval.sval = new char[strlen(yytext) + 1]; strcpy(yylval.sval, yytext); return(IDENTIFIER); } |
671 | 116 | ||
672 | {N}+{E} { count(); yylval.fval = (F32)atof(yytext); return(FP_CONSTANT); } | 117 | {N}+{E} { count(); yylval.fval = (F32)atof(yytext); return(FP_CONSTANT); } |
@@ -719,118 +164,10 @@ L?\"(\\.|[^\\"])*\" { parse_string(); count(); return(STRING_CONSTANT); } | |||
719 | 164 | ||
720 | %% | 165 | %% |
721 | 166 | ||
722 | LLScriptAllocationManager *gAllocationManager; | ||
723 | LLScriptScript *gScriptp; | ||
724 | 167 | ||
725 | // Prototype for the yacc parser entry point | 168 | // Prototype for the yacc parser entry point |
726 | int yyparse(void); | 169 | int yyparse(void); |
727 | 170 | ||
728 | int yyerror(const char *fmt, ...) | ||
729 | { | ||
730 | gErrorToText.writeError(yyout, gLine, gColumn, LSERROR_SYNTAX_ERROR); | ||
731 | return 0; | ||
732 | } | ||
733 | |||
734 | //#define EMERGENCY_DEBUG_PRINTOUTS | ||
735 | //#define EMIT_CIL_ASSEMBLER | ||
736 | |||
737 | BOOL lscript_compile(const char* src_filename, const char* dst_filename, | ||
738 | const char* err_filename, BOOL compile_to_mono, const char* class_name, BOOL is_god_like) | ||
739 | { | ||
740 | BOOL b_parse_ok = FALSE; | ||
741 | BOOL b_dummy = FALSE; | ||
742 | U64 b_dummy_count = FALSE; | ||
743 | LSCRIPTType type = LST_NULL; | ||
744 | |||
745 | gInternalColumn = 0; | ||
746 | gInternalLine = 0; | ||
747 | gScriptp = NULL; | ||
748 | |||
749 | gErrorToText.init(); | ||
750 | init_supported_expressions(); | ||
751 | init_temp_jumps(); | ||
752 | gAllocationManager = new LLScriptAllocationManager(); | ||
753 | |||
754 | yyin = LLFile::fopen(std::string(src_filename), "r"); | ||
755 | if (yyin) | ||
756 | { | ||
757 | yyout = LLFile::fopen(std::string(err_filename), "w"); | ||
758 | |||
759 | // Reset the lexer's internal buffering. | ||
760 | |||
761 | yyrestart(yyin); | ||
762 | |||
763 | b_parse_ok = !yyparse(); | ||
764 | |||
765 | if (b_parse_ok) | ||
766 | { | ||
767 | #ifdef EMERGENCY_DEBUG_PRINTOUTS | ||
768 | char compiled[256]; | ||
769 | sprintf(compiled, "%s.o", src_filename); | ||
770 | LLFILE* compfile; | ||
771 | compfile = LLFile::fopen(compiled, "w"); | ||
772 | #endif | ||
773 | |||
774 | if(dst_filename) | ||
775 | { | ||
776 | gScriptp->setBytecodeDest(dst_filename); | ||
777 | } | ||
778 | |||
779 | gScriptp->mGodLike = is_god_like; | ||
780 | |||
781 | gScriptp->setClassName(class_name); | ||
782 | |||
783 | gScopeStringTable = new LLStringTable(16384); | ||
784 | #ifdef EMERGENCY_DEBUG_PRINTOUTS | ||
785 | gScriptp->recurse(compfile, 0, 4, LSCP_PRETTY_PRINT, LSPRUNE_INVALID, b_dummy, NULL, type, type, b_dummy_count, NULL, NULL, 0, NULL, 0, NULL); | ||
786 | #endif | ||
787 | gScriptp->recurse(yyout, 0, 0, LSCP_PRUNE, LSPRUNE_INVALID, b_dummy, NULL, type, type, b_dummy_count, NULL, NULL, 0, NULL, 0, NULL); | ||
788 | gScriptp->recurse(yyout, 0, 0, LSCP_SCOPE_PASS1, LSPRUNE_INVALID, b_dummy, NULL, type, type, b_dummy_count, NULL, NULL, 0, NULL, 0, NULL); | ||
789 | gScriptp->recurse(yyout, 0, 0, LSCP_SCOPE_PASS2, LSPRUNE_INVALID, b_dummy, NULL, type, type, b_dummy_count, NULL, NULL, 0, NULL, 0, NULL); | ||
790 | gScriptp->recurse(yyout, 0, 0, LSCP_TYPE, LSPRUNE_INVALID, b_dummy, NULL, type, type, b_dummy_count, NULL, NULL, 0, NULL, 0, NULL); | ||
791 | if (!gErrorToText.getErrors()) | ||
792 | { | ||
793 | gScriptp->recurse(yyout, 0, 0, LSCP_RESOURCE, LSPRUNE_INVALID, b_dummy, NULL, type, type, b_dummy_count, NULL, NULL, 0, NULL, 0, NULL); | ||
794 | #ifdef EMERGENCY_DEBUG_PRINTOUTS | ||
795 | gScriptp->recurse(yyout, 0, 0, LSCP_EMIT_ASSEMBLY, LSPRUNE_INVALID, b_dummy, NULL, type, type, b_dummy_count, NULL, NULL, 0, NULL, 0, NULL); | ||
796 | #endif | ||
797 | if(TRUE == compile_to_mono) | ||
798 | { | ||
799 | gScriptp->recurse(yyout, 0, 0, LSCP_EMIT_CIL_ASSEMBLY, LSPRUNE_INVALID, b_dummy, NULL, type, type, b_dummy_count, NULL, NULL, 0, NULL, 0, NULL); | ||
800 | } | ||
801 | else | ||
802 | { | ||
803 | gScriptp->recurse(yyout, 0, 0, LSCP_EMIT_BYTE_CODE, LSPRUNE_INVALID, b_dummy, NULL, type, type, b_dummy_count, NULL, NULL, 0, NULL, 0, NULL); | ||
804 | } | ||
805 | } | ||
806 | delete gScopeStringTable; | ||
807 | gScopeStringTable = NULL; | ||
808 | #ifdef EMERGENCY_DEBUG_PRINTOUTS | ||
809 | fclose(compfile); | ||
810 | #endif | ||
811 | } | ||
812 | fclose(yyout); | ||
813 | fclose(yyin); | ||
814 | } | ||
815 | |||
816 | delete gAllocationManager; | ||
817 | delete gScopeStringTable; | ||
818 | |||
819 | return b_parse_ok && !gErrorToText.getErrors(); | ||
820 | } | ||
821 | |||
822 | |||
823 | BOOL lscript_compile(char *filename, BOOL compile_to_mono, BOOL is_god_like = FALSE) | ||
824 | { | ||
825 | char src_filename[MAX_STRING]; | ||
826 | sprintf(src_filename, "%s.lsl", filename); | ||
827 | char err_filename[MAX_STRING]; | ||
828 | sprintf(err_filename, "%s.out", filename); | ||
829 | char class_name[MAX_STRING]; | ||
830 | sprintf(class_name, "%s", filename); | ||
831 | return lscript_compile(src_filename, NULL, err_filename, compile_to_mono, class_name, is_god_like); | ||
832 | } | ||
833 | |||
834 | 171 | ||
835 | S32 yywrap() | 172 | S32 yywrap() |
836 | { | 173 | { |
diff --git a/LuaSL/src/LuaSL_LSL_yaccer.y b/LuaSL/src/LuaSL_LSL_yaccer.y index e4b10ff..1583b0b 100644 --- a/LuaSL/src/LuaSL_LSL_yaccer.y +++ b/LuaSL/src/LuaSL_LSL_yaccer.y | |||
@@ -25,26 +25,6 @@ | |||
25 | #endif | 25 | #endif |
26 | %} | 26 | %} |
27 | 27 | ||
28 | %union | ||
29 | { | ||
30 | S32 ival; | ||
31 | F32 fval; | ||
32 | char *sval; | ||
33 | class LLScriptType *type; | ||
34 | class LLScriptConstant *constant; | ||
35 | class LLScriptIdentifier *identifier; | ||
36 | class LLScriptSimpleAssignable *assignable; | ||
37 | class LLScriptGlobalVariable *global; | ||
38 | class LLScriptEvent *event; | ||
39 | class LLScriptEventHandler *handler; | ||
40 | class LLScriptExpression *expression; | ||
41 | class LLScriptStatement *statement; | ||
42 | class LLScriptGlobalFunctions *global_funcs; | ||
43 | class LLScriptFunctionDec *global_decl; | ||
44 | class LLScriptState *state; | ||
45 | class LLScritpGlobalStorage *global_store; | ||
46 | class LLScriptScript *script; | ||
47 | }; | ||
48 | 28 | ||
49 | %token INTEGER | 29 | %token INTEGER |
50 | %token FLOAT_TYPE | 30 | %token FLOAT_TYPE |
@@ -275,13 +255,11 @@ lscript_program | |||
275 | : globals states | 255 | : globals states |
276 | { | 256 | { |
277 | $$ = new LLScriptScript($1, $2); | 257 | $$ = new LLScriptScript($1, $2); |
278 | gAllocationManager->addAllocation($$); | ||
279 | gScriptp = $$; | 258 | gScriptp = $$; |
280 | } | 259 | } |
281 | | states | 260 | | states |
282 | { | 261 | { |
283 | $$ = new LLScriptScript(NULL, $1); | 262 | $$ = new LLScriptScript(NULL, $1); |
284 | gAllocationManager->addAllocation($$); | ||
285 | gScriptp = $$; | 263 | gScriptp = $$; |
286 | } | 264 | } |
287 | ; | 265 | ; |
@@ -302,12 +280,10 @@ global | |||
302 | : global_variable | 280 | : global_variable |
303 | { | 281 | { |
304 | $$ = new LLScritpGlobalStorage($1); | 282 | $$ = new LLScritpGlobalStorage($1); |
305 | gAllocationManager->addAllocation($$); | ||
306 | } | 283 | } |
307 | | global_function | 284 | | global_function |
308 | { | 285 | { |
309 | $$ = new LLScritpGlobalStorage($1); | 286 | $$ = new LLScritpGlobalStorage($1); |
310 | gAllocationManager->addAllocation($$); | ||
311 | } | 287 | } |
312 | ; | 288 | ; |
313 | 289 | ||
@@ -315,7 +291,6 @@ name_type | |||
315 | : typename IDENTIFIER | 291 | : typename IDENTIFIER |
316 | { | 292 | { |
317 | $$ = new LLScriptIdentifier(gLine, gColumn, $2, $1); | 293 | $$ = new LLScriptIdentifier(gLine, gColumn, $2, $1); |
318 | gAllocationManager->addAllocation($$); | ||
319 | } | 294 | } |
320 | ; | 295 | ; |
321 | 296 | ||
@@ -323,12 +298,10 @@ global_variable | |||
323 | : name_type ';' | 298 | : name_type ';' |
324 | { | 299 | { |
325 | $$ = new LLScriptGlobalVariable(gLine, gColumn, $1->mType, $1, NULL); | 300 | $$ = new LLScriptGlobalVariable(gLine, gColumn, $1->mType, $1, NULL); |
326 | gAllocationManager->addAllocation($$); | ||
327 | } | 301 | } |
328 | | name_type '=' simple_assignable ';' | 302 | | name_type '=' simple_assignable ';' |
329 | { | 303 | { |
330 | $$ = new LLScriptGlobalVariable(gLine, gColumn, $1->mType, $1, $3); | 304 | $$ = new LLScriptGlobalVariable(gLine, gColumn, $1->mType, $1, $3); |
331 | gAllocationManager->addAllocation($$); | ||
332 | } | 305 | } |
333 | ; | 306 | ; |
334 | 307 | ||
@@ -347,14 +320,11 @@ simple_assignable_no_list | |||
347 | : IDENTIFIER | 320 | : IDENTIFIER |
348 | { | 321 | { |
349 | LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $1); | 322 | LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $1); |
350 | gAllocationManager->addAllocation(id); | ||
351 | $$ = new LLScriptSAIdentifier(gLine, gColumn, id); | 323 | $$ = new LLScriptSAIdentifier(gLine, gColumn, id); |
352 | gAllocationManager->addAllocation($$); | ||
353 | } | 324 | } |
354 | | constant | 325 | | constant |
355 | { | 326 | { |
356 | $$ = new LLScriptSAConstant(gLine, gColumn, $1); | 327 | $$ = new LLScriptSAConstant(gLine, gColumn, $1); |
357 | gAllocationManager->addAllocation($$); | ||
358 | } | 328 | } |
359 | | special_constant | 329 | | special_constant |
360 | { | 330 | { |
@@ -366,17 +336,14 @@ constant | |||
366 | : integer_constant | 336 | : integer_constant |
367 | { | 337 | { |
368 | $$ = new LLScriptConstantInteger(gLine, gColumn, $1); | 338 | $$ = new LLScriptConstantInteger(gLine, gColumn, $1); |
369 | gAllocationManager->addAllocation($$); | ||
370 | } | 339 | } |
371 | | fp_constant | 340 | | fp_constant |
372 | { | 341 | { |
373 | $$ = new LLScriptConstantFloat(gLine, gColumn, $1); | 342 | $$ = new LLScriptConstantFloat(gLine, gColumn, $1); |
374 | gAllocationManager->addAllocation($$); | ||
375 | } | 343 | } |
376 | | STRING_CONSTANT | 344 | | STRING_CONSTANT |
377 | { | 345 | { |
378 | $$ = new LLScriptConstantString(gLine, gColumn, $1); | 346 | $$ = new LLScriptConstantString(gLine, gColumn, $1); |
379 | gAllocationManager->addAllocation($$); | ||
380 | } | 347 | } |
381 | ; | 348 | ; |
382 | 349 | ||
@@ -425,58 +392,36 @@ vector_constant | |||
425 | : '<' simple_assignable ',' simple_assignable ',' simple_assignable '>' | 392 | : '<' simple_assignable ',' simple_assignable ',' simple_assignable '>' |
426 | { | 393 | { |
427 | $$ = new LLScriptSAVector(gLine, gColumn, $2, $4, $6); | 394 | $$ = new LLScriptSAVector(gLine, gColumn, $2, $4, $6); |
428 | gAllocationManager->addAllocation($$); | ||
429 | } | 395 | } |
430 | | ZERO_VECTOR | 396 | | ZERO_VECTOR |
431 | { | 397 | { |
432 | LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, 0.f); | 398 | LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, 0.f); |
433 | gAllocationManager->addAllocation(cf0); | ||
434 | LLScriptSAConstant *sa0 = new LLScriptSAConstant(gLine, gColumn, cf0); | 399 | LLScriptSAConstant *sa0 = new LLScriptSAConstant(gLine, gColumn, cf0); |
435 | gAllocationManager->addAllocation(sa0); | ||
436 | LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, 0.f); | 400 | LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, 0.f); |
437 | gAllocationManager->addAllocation(cf1); | ||
438 | LLScriptSAConstant *sa1 = new LLScriptSAConstant(gLine, gColumn, cf1); | 401 | LLScriptSAConstant *sa1 = new LLScriptSAConstant(gLine, gColumn, cf1); |
439 | gAllocationManager->addAllocation(sa1); | ||
440 | LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f); | 402 | LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f); |
441 | gAllocationManager->addAllocation(cf2); | ||
442 | LLScriptSAConstant *sa2 = new LLScriptSAConstant(gLine, gColumn, cf2); | 403 | LLScriptSAConstant *sa2 = new LLScriptSAConstant(gLine, gColumn, cf2); |
443 | gAllocationManager->addAllocation(sa2); | ||
444 | $$ = new LLScriptSAVector(gLine, gColumn, sa0, sa1, sa2); | 404 | $$ = new LLScriptSAVector(gLine, gColumn, sa0, sa1, sa2); |
445 | gAllocationManager->addAllocation($$); | ||
446 | } | 405 | } |
447 | | TOUCH_INVALID_VECTOR | 406 | | TOUCH_INVALID_VECTOR |
448 | { | 407 | { |
449 | LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, 0.f); | 408 | LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, 0.f); |
450 | gAllocationManager->addAllocation(cf0); | ||
451 | LLScriptSAConstant *sa0 = new LLScriptSAConstant(gLine, gColumn, cf0); | 409 | LLScriptSAConstant *sa0 = new LLScriptSAConstant(gLine, gColumn, cf0); |
452 | gAllocationManager->addAllocation(sa0); | ||
453 | LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, 0.f); | 410 | LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, 0.f); |
454 | gAllocationManager->addAllocation(cf1); | ||
455 | LLScriptSAConstant *sa1 = new LLScriptSAConstant(gLine, gColumn, cf1); | 411 | LLScriptSAConstant *sa1 = new LLScriptSAConstant(gLine, gColumn, cf1); |
456 | gAllocationManager->addAllocation(sa1); | ||
457 | LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f); | 412 | LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f); |
458 | gAllocationManager->addAllocation(cf2); | ||
459 | LLScriptSAConstant *sa2 = new LLScriptSAConstant(gLine, gColumn, cf2); | 413 | LLScriptSAConstant *sa2 = new LLScriptSAConstant(gLine, gColumn, cf2); |
460 | gAllocationManager->addAllocation(sa2); | ||
461 | $$ = new LLScriptSAVector(gLine, gColumn, sa0, sa1, sa2); | 414 | $$ = new LLScriptSAVector(gLine, gColumn, sa0, sa1, sa2); |
462 | gAllocationManager->addAllocation($$); | ||
463 | } | 415 | } |
464 | | TOUCH_INVALID_TEXCOORD | 416 | | TOUCH_INVALID_TEXCOORD |
465 | { | 417 | { |
466 | LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, -1.f); | 418 | LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, -1.f); |
467 | gAllocationManager->addAllocation(cf0); | ||
468 | LLScriptSAConstant *sa0 = new LLScriptSAConstant(gLine, gColumn, cf0); | 419 | LLScriptSAConstant *sa0 = new LLScriptSAConstant(gLine, gColumn, cf0); |
469 | gAllocationManager->addAllocation(sa0); | ||
470 | LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, -1.f); | 420 | LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, -1.f); |
471 | gAllocationManager->addAllocation(cf1); | ||
472 | LLScriptSAConstant *sa1 = new LLScriptSAConstant(gLine, gColumn, cf1); | 421 | LLScriptSAConstant *sa1 = new LLScriptSAConstant(gLine, gColumn, cf1); |
473 | gAllocationManager->addAllocation(sa1); | ||
474 | LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f); | 422 | LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f); |
475 | gAllocationManager->addAllocation(cf2); | ||
476 | LLScriptSAConstant *sa2 = new LLScriptSAConstant(gLine, gColumn, cf2); | 423 | LLScriptSAConstant *sa2 = new LLScriptSAConstant(gLine, gColumn, cf2); |
477 | gAllocationManager->addAllocation(sa2); | ||
478 | $$ = new LLScriptSAVector(gLine, gColumn, sa0, sa1, sa2); | 424 | $$ = new LLScriptSAVector(gLine, gColumn, sa0, sa1, sa2); |
479 | gAllocationManager->addAllocation($$); | ||
480 | } | 425 | } |
481 | ; | 426 | ; |
482 | 427 | ||
@@ -484,28 +429,18 @@ quaternion_constant | |||
484 | : '<' simple_assignable ',' simple_assignable ',' simple_assignable ',' simple_assignable '>' | 429 | : '<' simple_assignable ',' simple_assignable ',' simple_assignable ',' simple_assignable '>' |
485 | { | 430 | { |
486 | $$ = new LLScriptSAQuaternion(gLine, gColumn, $2, $4, $6, $8); | 431 | $$ = new LLScriptSAQuaternion(gLine, gColumn, $2, $4, $6, $8); |
487 | gAllocationManager->addAllocation($$); | ||
488 | } | 432 | } |
489 | | ZERO_ROTATION | 433 | | ZERO_ROTATION |
490 | { | 434 | { |
491 | LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, 0.f); | 435 | LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, 0.f); |
492 | gAllocationManager->addAllocation(cf0); | ||
493 | LLScriptSAConstant *sa0 = new LLScriptSAConstant(gLine, gColumn, cf0); | 436 | LLScriptSAConstant *sa0 = new LLScriptSAConstant(gLine, gColumn, cf0); |
494 | gAllocationManager->addAllocation(sa0); | ||
495 | LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, 0.f); | 437 | LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, 0.f); |
496 | gAllocationManager->addAllocation(cf1); | ||
497 | LLScriptSAConstant *sa1 = new LLScriptSAConstant(gLine, gColumn, cf1); | 438 | LLScriptSAConstant *sa1 = new LLScriptSAConstant(gLine, gColumn, cf1); |
498 | gAllocationManager->addAllocation(sa1); | ||
499 | LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f); | 439 | LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f); |
500 | gAllocationManager->addAllocation(cf2); | ||
501 | LLScriptSAConstant *sa2 = new LLScriptSAConstant(gLine, gColumn, cf2); | 440 | LLScriptSAConstant *sa2 = new LLScriptSAConstant(gLine, gColumn, cf2); |
502 | gAllocationManager->addAllocation(sa2); | ||
503 | LLScriptConstantFloat *cf3 = new LLScriptConstantFloat(gLine, gColumn, 1.f); | 441 | LLScriptConstantFloat *cf3 = new LLScriptConstantFloat(gLine, gColumn, 1.f); |
504 | gAllocationManager->addAllocation(cf3); | ||
505 | LLScriptSAConstant *sa3 = new LLScriptSAConstant(gLine, gColumn, cf3); | 442 | LLScriptSAConstant *sa3 = new LLScriptSAConstant(gLine, gColumn, cf3); |
506 | gAllocationManager->addAllocation(sa3); | ||
507 | $$ = new LLScriptSAQuaternion(gLine, gColumn, sa0, sa1, sa2, sa3); | 443 | $$ = new LLScriptSAQuaternion(gLine, gColumn, sa0, sa1, sa2, sa3); |
508 | gAllocationManager->addAllocation($$); | ||
509 | } | 444 | } |
510 | ; | 445 | ; |
511 | 446 | ||
@@ -513,12 +448,10 @@ list_constant | |||
513 | : '[' list_entries ']' | 448 | : '[' list_entries ']' |
514 | { | 449 | { |
515 | $$ = new LLScriptSAList(gLine, gColumn, $2); | 450 | $$ = new LLScriptSAList(gLine, gColumn, $2); |
516 | gAllocationManager->addAllocation($$); | ||
517 | } | 451 | } |
518 | | '[' ']' | 452 | | '[' ']' |
519 | { | 453 | { |
520 | $$ = new LLScriptSAList(gLine, gColumn, NULL); | 454 | $$ = new LLScriptSAList(gLine, gColumn, NULL); |
521 | gAllocationManager->addAllocation($$); | ||
522 | } | 455 | } |
523 | ; | 456 | ; |
524 | 457 | ||
@@ -545,37 +478,30 @@ typename | |||
545 | : INTEGER | 478 | : INTEGER |
546 | { | 479 | { |
547 | $$ = new LLScriptType(gLine, gColumn, LST_INTEGER); | 480 | $$ = new LLScriptType(gLine, gColumn, LST_INTEGER); |
548 | gAllocationManager->addAllocation($$); | ||
549 | } | 481 | } |
550 | | FLOAT_TYPE | 482 | | FLOAT_TYPE |
551 | { | 483 | { |
552 | $$ = new LLScriptType(gLine, gColumn, LST_FLOATINGPOINT); | 484 | $$ = new LLScriptType(gLine, gColumn, LST_FLOATINGPOINT); |
553 | gAllocationManager->addAllocation($$); | ||
554 | } | 485 | } |
555 | | STRING | 486 | | STRING |
556 | { | 487 | { |
557 | $$ = new LLScriptType(gLine, gColumn, LST_STRING); | 488 | $$ = new LLScriptType(gLine, gColumn, LST_STRING); |
558 | gAllocationManager->addAllocation($$); | ||
559 | } | 489 | } |
560 | | LLKEY | 490 | | LLKEY |
561 | { | 491 | { |
562 | $$ = new LLScriptType(gLine, gColumn, LST_KEY); | 492 | $$ = new LLScriptType(gLine, gColumn, LST_KEY); |
563 | gAllocationManager->addAllocation($$); | ||
564 | } | 493 | } |
565 | | VECTOR | 494 | | VECTOR |
566 | { | 495 | { |
567 | $$ = new LLScriptType(gLine, gColumn, LST_VECTOR); | 496 | $$ = new LLScriptType(gLine, gColumn, LST_VECTOR); |
568 | gAllocationManager->addAllocation($$); | ||
569 | } | 497 | } |
570 | | QUATERNION | 498 | | QUATERNION |
571 | { | 499 | { |
572 | $$ = new LLScriptType(gLine, gColumn, LST_QUATERNION); | 500 | $$ = new LLScriptType(gLine, gColumn, LST_QUATERNION); |
573 | gAllocationManager->addAllocation($$); | ||
574 | } | 501 | } |
575 | | LIST | 502 | | LIST |
576 | { | 503 | { |
577 | $$ = new LLScriptType(gLine, gColumn, LST_LIST); | 504 | $$ = new LLScriptType(gLine, gColumn, LST_LIST); |
578 | gAllocationManager->addAllocation($$); | ||
579 | } | 505 | } |
580 | ; | 506 | ; |
581 | 507 | ||
@@ -583,26 +509,20 @@ global_function | |||
583 | : IDENTIFIER '(' ')' compound_statement | 509 | : IDENTIFIER '(' ')' compound_statement |
584 | { | 510 | { |
585 | LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $1); | 511 | LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $1); |
586 | gAllocationManager->addAllocation(id); | ||
587 | $$ = new LLScriptGlobalFunctions(gLine, gColumn, NULL, id, NULL, $4); | 512 | $$ = new LLScriptGlobalFunctions(gLine, gColumn, NULL, id, NULL, $4); |
588 | gAllocationManager->addAllocation($$); | ||
589 | } | 513 | } |
590 | | name_type '(' ')' compound_statement | 514 | | name_type '(' ')' compound_statement |
591 | { | 515 | { |
592 | $$ = new LLScriptGlobalFunctions(gLine, gColumn, $1->mType, $1, NULL, $4); | 516 | $$ = new LLScriptGlobalFunctions(gLine, gColumn, $1->mType, $1, NULL, $4); |
593 | gAllocationManager->addAllocation($$); | ||
594 | } | 517 | } |
595 | | IDENTIFIER '(' function_parameters ')' compound_statement | 518 | | IDENTIFIER '(' function_parameters ')' compound_statement |
596 | { | 519 | { |
597 | LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $1); | 520 | LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $1); |
598 | gAllocationManager->addAllocation(id); | ||
599 | $$ = new LLScriptGlobalFunctions(gLine, gColumn, NULL, id, $3, $5); | 521 | $$ = new LLScriptGlobalFunctions(gLine, gColumn, NULL, id, $3, $5); |
600 | gAllocationManager->addAllocation($$); | ||
601 | } | 522 | } |
602 | | name_type '(' function_parameters ')' compound_statement | 523 | | name_type '(' function_parameters ')' compound_statement |
603 | { | 524 | { |
604 | $$ = new LLScriptGlobalFunctions(gLine, gColumn, $1->mType, $1, $3, $5); | 525 | $$ = new LLScriptGlobalFunctions(gLine, gColumn, $1->mType, $1, $3, $5); |
605 | gAllocationManager->addAllocation($$); | ||
606 | } | 526 | } |
607 | ; | 527 | ; |
608 | 528 | ||
@@ -622,9 +542,7 @@ function_parameter | |||
622 | : typename IDENTIFIER | 542 | : typename IDENTIFIER |
623 | { | 543 | { |
624 | LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $2); | 544 | LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $2); |
625 | gAllocationManager->addAllocation(id); | ||
626 | $$ = new LLScriptFunctionDec(gLine, gColumn, $1, id); | 545 | $$ = new LLScriptFunctionDec(gLine, gColumn, $1, id); |
627 | gAllocationManager->addAllocation($$); | ||
628 | } | 546 | } |
629 | ; | 547 | ; |
630 | 548 | ||
@@ -656,9 +574,7 @@ default | |||
656 | : STATE_DEFAULT '{' state_body '}' | 574 | : STATE_DEFAULT '{' state_body '}' |
657 | { | 575 | { |
658 | LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $1); | 576 | LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $1); |
659 | gAllocationManager->addAllocation(id); | ||
660 | $$ = new LLScriptState(gLine, gColumn, LSSTYPE_DEFAULT, id, $3); | 577 | $$ = new LLScriptState(gLine, gColumn, LSSTYPE_DEFAULT, id, $3); |
661 | gAllocationManager->addAllocation($$); | ||
662 | } | 578 | } |
663 | ; | 579 | ; |
664 | 580 | ||
@@ -666,9 +582,7 @@ state | |||
666 | : STATE IDENTIFIER '{' state_body '}' | 582 | : STATE IDENTIFIER '{' state_body '}' |
667 | { | 583 | { |
668 | LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $2); | 584 | LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $2); |
669 | gAllocationManager->addAllocation(id); | ||
670 | $$ = new LLScriptState(gLine, gColumn, LSSTYPE_USER, id, $4); | 585 | $$ = new LLScriptState(gLine, gColumn, LSSTYPE_USER, id, $4); |
671 | gAllocationManager->addAllocation($$); | ||
672 | } | 586 | } |
673 | ; | 587 | ; |
674 | 588 | ||
@@ -688,172 +602,138 @@ event | |||
688 | : state_entry compound_statement | 602 | : state_entry compound_statement |
689 | { | 603 | { |
690 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); | 604 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); |
691 | gAllocationManager->addAllocation($$); | ||
692 | } | 605 | } |
693 | | state_exit compound_statement | 606 | | state_exit compound_statement |
694 | { | 607 | { |
695 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); | 608 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); |
696 | gAllocationManager->addAllocation($$); | ||
697 | } | 609 | } |
698 | | touch_start compound_statement | 610 | | touch_start compound_statement |
699 | { | 611 | { |
700 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); | 612 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); |
701 | gAllocationManager->addAllocation($$); | ||
702 | } | 613 | } |
703 | | touch compound_statement | 614 | | touch compound_statement |
704 | { | 615 | { |
705 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); | 616 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); |
706 | gAllocationManager->addAllocation($$); | ||
707 | } | 617 | } |
708 | | touch_end compound_statement | 618 | | touch_end compound_statement |
709 | { | 619 | { |
710 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); | 620 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); |
711 | gAllocationManager->addAllocation($$); | ||
712 | } | 621 | } |
713 | | collision_start compound_statement | 622 | | collision_start compound_statement |
714 | { | 623 | { |
715 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); | 624 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); |
716 | gAllocationManager->addAllocation($$); | ||
717 | } | 625 | } |
718 | | collision compound_statement | 626 | | collision compound_statement |
719 | { | 627 | { |
720 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); | 628 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); |
721 | gAllocationManager->addAllocation($$); | ||
722 | } | 629 | } |
723 | | collision_end compound_statement | 630 | | collision_end compound_statement |
724 | { | 631 | { |
725 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); | 632 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); |
726 | gAllocationManager->addAllocation($$); | ||
727 | } | 633 | } |
728 | | land_collision_start compound_statement | 634 | | land_collision_start compound_statement |
729 | { | 635 | { |
730 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); | 636 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); |
731 | gAllocationManager->addAllocation($$); | ||
732 | } | 637 | } |
733 | | land_collision compound_statement | 638 | | land_collision compound_statement |
734 | { | 639 | { |
735 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); | 640 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); |
736 | gAllocationManager->addAllocation($$); | ||
737 | } | 641 | } |
738 | | land_collision_end compound_statement | 642 | | land_collision_end compound_statement |
739 | { | 643 | { |
740 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); | 644 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); |
741 | gAllocationManager->addAllocation($$); | ||
742 | } | 645 | } |
743 | | timer compound_statement | 646 | | timer compound_statement |
744 | { | 647 | { |
745 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); | 648 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); |
746 | gAllocationManager->addAllocation($$); | ||
747 | } | 649 | } |
748 | | chat compound_statement | 650 | | chat compound_statement |
749 | { | 651 | { |
750 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); | 652 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); |
751 | gAllocationManager->addAllocation($$); | ||
752 | } | 653 | } |
753 | | sensor compound_statement | 654 | | sensor compound_statement |
754 | { | 655 | { |
755 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); | 656 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); |
756 | gAllocationManager->addAllocation($$); | ||
757 | } | 657 | } |
758 | | no_sensor compound_statement | 658 | | no_sensor compound_statement |
759 | { | 659 | { |
760 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); | 660 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); |
761 | gAllocationManager->addAllocation($$); | ||
762 | } | 661 | } |
763 | | at_target compound_statement | 662 | | at_target compound_statement |
764 | { | 663 | { |
765 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); | 664 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); |
766 | gAllocationManager->addAllocation($$); | ||
767 | } | 665 | } |
768 | | not_at_target compound_statement | 666 | | not_at_target compound_statement |
769 | { | 667 | { |
770 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); | 668 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); |
771 | gAllocationManager->addAllocation($$); | ||
772 | } | 669 | } |
773 | | at_rot_target compound_statement | 670 | | at_rot_target compound_statement |
774 | { | 671 | { |
775 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); | 672 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); |
776 | gAllocationManager->addAllocation($$); | ||
777 | } | 673 | } |
778 | | not_at_rot_target compound_statement | 674 | | not_at_rot_target compound_statement |
779 | { | 675 | { |
780 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); | 676 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); |
781 | gAllocationManager->addAllocation($$); | ||
782 | } | 677 | } |
783 | | money compound_statement | 678 | | money compound_statement |
784 | { | 679 | { |
785 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); | 680 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); |
786 | gAllocationManager->addAllocation($$); | ||
787 | } | 681 | } |
788 | | email compound_statement | 682 | | email compound_statement |
789 | { | 683 | { |
790 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); | 684 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); |
791 | gAllocationManager->addAllocation($$); | ||
792 | } | 685 | } |
793 | | run_time_permissions compound_statement | 686 | | run_time_permissions compound_statement |
794 | { | 687 | { |
795 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); | 688 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); |
796 | gAllocationManager->addAllocation($$); | ||
797 | } | 689 | } |
798 | | inventory compound_statement | 690 | | inventory compound_statement |
799 | { | 691 | { |
800 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); | 692 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); |
801 | gAllocationManager->addAllocation($$); | ||
802 | } | 693 | } |
803 | | attach compound_statement | 694 | | attach compound_statement |
804 | { | 695 | { |
805 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); | 696 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); |
806 | gAllocationManager->addAllocation($$); | ||
807 | } | 697 | } |
808 | | dataserver compound_statement | 698 | | dataserver compound_statement |
809 | { | 699 | { |
810 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); | 700 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); |
811 | gAllocationManager->addAllocation($$); | ||
812 | } | 701 | } |
813 | | control compound_statement | 702 | | control compound_statement |
814 | { | 703 | { |
815 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); | 704 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); |
816 | gAllocationManager->addAllocation($$); | ||
817 | } | 705 | } |
818 | | moving_start compound_statement | 706 | | moving_start compound_statement |
819 | { | 707 | { |
820 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); | 708 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); |
821 | gAllocationManager->addAllocation($$); | ||
822 | } | 709 | } |
823 | | moving_end compound_statement | 710 | | moving_end compound_statement |
824 | { | 711 | { |
825 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); | 712 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); |
826 | gAllocationManager->addAllocation($$); | ||
827 | } | 713 | } |
828 | | rez compound_statement | 714 | | rez compound_statement |
829 | { | 715 | { |
830 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); | 716 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); |
831 | gAllocationManager->addAllocation($$); | ||
832 | } | 717 | } |
833 | | object_rez compound_statement | 718 | | object_rez compound_statement |
834 | { | 719 | { |
835 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); | 720 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); |
836 | gAllocationManager->addAllocation($$); | ||
837 | } | 721 | } |
838 | | link_message compound_statement | 722 | | link_message compound_statement |
839 | { | 723 | { |
840 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); | 724 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); |
841 | gAllocationManager->addAllocation($$); | ||
842 | } | 725 | } |
843 | | remote_data compound_statement | 726 | | remote_data compound_statement |
844 | { | 727 | { |
845 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); | 728 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); |
846 | gAllocationManager->addAllocation($$); | ||
847 | } | 729 | } |
848 | | http_response compound_statement | 730 | | http_response compound_statement |
849 | { | 731 | { |
850 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); | 732 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); |
851 | gAllocationManager->addAllocation($$); | ||
852 | } | 733 | } |
853 | | http_request compound_statement | 734 | | http_request compound_statement |
854 | { | 735 | { |
855 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); | 736 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); |
856 | gAllocationManager->addAllocation($$); | ||
857 | } | 737 | } |
858 | ; | 738 | ; |
859 | 739 | ||
@@ -861,7 +741,6 @@ state_entry | |||
861 | : STATE_ENTRY '(' ')' | 741 | : STATE_ENTRY '(' ')' |
862 | { | 742 | { |
863 | $$ = new LLScriptStateEntryEvent(gLine, gColumn); | 743 | $$ = new LLScriptStateEntryEvent(gLine, gColumn); |
864 | gAllocationManager->addAllocation($$); | ||
865 | } | 744 | } |
866 | ; | 745 | ; |
867 | 746 | ||
@@ -869,7 +748,6 @@ state_exit | |||
869 | : STATE_EXIT '(' ')' | 748 | : STATE_EXIT '(' ')' |
870 | { | 749 | { |
871 | $$ = new LLScriptStateExitEvent(gLine, gColumn); | 750 | $$ = new LLScriptStateExitEvent(gLine, gColumn); |
872 | gAllocationManager->addAllocation($$); | ||
873 | } | 751 | } |
874 | ; | 752 | ; |
875 | 753 | ||
@@ -877,9 +755,7 @@ touch_start | |||
877 | : TOUCH_START '(' INTEGER IDENTIFIER ')' | 755 | : TOUCH_START '(' INTEGER IDENTIFIER ')' |
878 | { | 756 | { |
879 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); | 757 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); |
880 | gAllocationManager->addAllocation(id1); | ||
881 | $$ = new LLScriptTouchStartEvent(gLine, gColumn, id1); | 758 | $$ = new LLScriptTouchStartEvent(gLine, gColumn, id1); |
882 | gAllocationManager->addAllocation($$); | ||
883 | } | 759 | } |
884 | ; | 760 | ; |
885 | 761 | ||
@@ -887,9 +763,7 @@ touch | |||
887 | : TOUCH '(' INTEGER IDENTIFIER ')' | 763 | : TOUCH '(' INTEGER IDENTIFIER ')' |
888 | { | 764 | { |
889 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); | 765 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); |
890 | gAllocationManager->addAllocation(id1); | ||
891 | $$ = new LLScriptTouchEvent(gLine, gColumn, id1); | 766 | $$ = new LLScriptTouchEvent(gLine, gColumn, id1); |
892 | gAllocationManager->addAllocation($$); | ||
893 | } | 767 | } |
894 | ; | 768 | ; |
895 | 769 | ||
@@ -897,9 +771,7 @@ touch_end | |||
897 | : TOUCH_END '(' INTEGER IDENTIFIER ')' | 771 | : TOUCH_END '(' INTEGER IDENTIFIER ')' |
898 | { | 772 | { |
899 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); | 773 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); |
900 | gAllocationManager->addAllocation(id1); | ||
901 | $$ = new LLScriptTouchEndEvent(gLine, gColumn, id1); | 774 | $$ = new LLScriptTouchEndEvent(gLine, gColumn, id1); |
902 | gAllocationManager->addAllocation($$); | ||
903 | } | 775 | } |
904 | ; | 776 | ; |
905 | 777 | ||
@@ -907,9 +779,7 @@ collision_start | |||
907 | : COLLISION_START '(' INTEGER IDENTIFIER ')' | 779 | : COLLISION_START '(' INTEGER IDENTIFIER ')' |
908 | { | 780 | { |
909 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); | 781 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); |
910 | gAllocationManager->addAllocation(id1); | ||
911 | $$ = new LLScriptCollisionStartEvent(gLine, gColumn, id1); | 782 | $$ = new LLScriptCollisionStartEvent(gLine, gColumn, id1); |
912 | gAllocationManager->addAllocation($$); | ||
913 | } | 783 | } |
914 | ; | 784 | ; |
915 | 785 | ||
@@ -917,9 +787,7 @@ collision | |||
917 | : COLLISION '(' INTEGER IDENTIFIER ')' | 787 | : COLLISION '(' INTEGER IDENTIFIER ')' |
918 | { | 788 | { |
919 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); | 789 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); |
920 | gAllocationManager->addAllocation(id1); | ||
921 | $$ = new LLScriptCollisionEvent(gLine, gColumn, id1); | 790 | $$ = new LLScriptCollisionEvent(gLine, gColumn, id1); |
922 | gAllocationManager->addAllocation($$); | ||
923 | } | 791 | } |
924 | ; | 792 | ; |
925 | 793 | ||
@@ -927,9 +795,7 @@ collision_end | |||
927 | : COLLISION_END '(' INTEGER IDENTIFIER ')' | 795 | : COLLISION_END '(' INTEGER IDENTIFIER ')' |
928 | { | 796 | { |
929 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); | 797 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); |
930 | gAllocationManager->addAllocation(id1); | ||
931 | $$ = new LLScriptCollisionEndEvent(gLine, gColumn, id1); | 798 | $$ = new LLScriptCollisionEndEvent(gLine, gColumn, id1); |
932 | gAllocationManager->addAllocation($$); | ||
933 | } | 799 | } |
934 | ; | 800 | ; |
935 | 801 | ||
@@ -937,9 +803,7 @@ land_collision_start | |||
937 | : LAND_COLLISION_START '(' VECTOR IDENTIFIER ')' | 803 | : LAND_COLLISION_START '(' VECTOR IDENTIFIER ')' |
938 | { | 804 | { |
939 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); | 805 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); |
940 | gAllocationManager->addAllocation(id1); | ||
941 | $$ = new LLScriptLandCollisionStartEvent(gLine, gColumn, id1); | 806 | $$ = new LLScriptLandCollisionStartEvent(gLine, gColumn, id1); |
942 | gAllocationManager->addAllocation($$); | ||
943 | } | 807 | } |
944 | ; | 808 | ; |
945 | 809 | ||
@@ -947,9 +811,7 @@ land_collision | |||
947 | : LAND_COLLISION '(' VECTOR IDENTIFIER ')' | 811 | : LAND_COLLISION '(' VECTOR IDENTIFIER ')' |
948 | { | 812 | { |
949 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); | 813 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); |
950 | gAllocationManager->addAllocation(id1); | ||
951 | $$ = new LLScriptLandCollisionEvent(gLine, gColumn, id1); | 814 | $$ = new LLScriptLandCollisionEvent(gLine, gColumn, id1); |
952 | gAllocationManager->addAllocation($$); | ||
953 | } | 815 | } |
954 | ; | 816 | ; |
955 | 817 | ||
@@ -957,9 +819,7 @@ land_collision_end | |||
957 | : LAND_COLLISION_END '(' VECTOR IDENTIFIER ')' | 819 | : LAND_COLLISION_END '(' VECTOR IDENTIFIER ')' |
958 | { | 820 | { |
959 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); | 821 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); |
960 | gAllocationManager->addAllocation(id1); | ||
961 | $$ = new LLScriptLandCollisionEndEvent(gLine, gColumn, id1); | 822 | $$ = new LLScriptLandCollisionEndEvent(gLine, gColumn, id1); |
962 | gAllocationManager->addAllocation($$); | ||
963 | } | 823 | } |
964 | ; | 824 | ; |
965 | 825 | ||
@@ -967,13 +827,9 @@ at_target | |||
967 | : AT_TARGET '(' INTEGER IDENTIFIER ',' VECTOR IDENTIFIER ',' VECTOR IDENTIFIER ')' | 827 | : AT_TARGET '(' INTEGER IDENTIFIER ',' VECTOR IDENTIFIER ',' VECTOR IDENTIFIER ')' |
968 | { | 828 | { |
969 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); | 829 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); |
970 | gAllocationManager->addAllocation(id1); | ||
971 | LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); | 830 | LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); |
972 | gAllocationManager->addAllocation(id2); | ||
973 | LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10); | 831 | LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10); |
974 | gAllocationManager->addAllocation(id3); | ||
975 | $$ = new LLScriptAtTarget(gLine, gColumn, id1, id2, id3); | 832 | $$ = new LLScriptAtTarget(gLine, gColumn, id1, id2, id3); |
976 | gAllocationManager->addAllocation($$); | ||
977 | } | 833 | } |
978 | ; | 834 | ; |
979 | 835 | ||
@@ -981,7 +837,6 @@ not_at_target | |||
981 | : NOT_AT_TARGET '(' ')' | 837 | : NOT_AT_TARGET '(' ')' |
982 | { | 838 | { |
983 | $$ = new LLScriptNotAtTarget(gLine, gColumn); | 839 | $$ = new LLScriptNotAtTarget(gLine, gColumn); |
984 | gAllocationManager->addAllocation($$); | ||
985 | } | 840 | } |
986 | ; | 841 | ; |
987 | 842 | ||
@@ -989,13 +844,9 @@ at_rot_target | |||
989 | : AT_ROT_TARGET '(' INTEGER IDENTIFIER ',' QUATERNION IDENTIFIER ',' QUATERNION IDENTIFIER ')' | 844 | : AT_ROT_TARGET '(' INTEGER IDENTIFIER ',' QUATERNION IDENTIFIER ',' QUATERNION IDENTIFIER ')' |
990 | { | 845 | { |
991 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); | 846 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); |
992 | gAllocationManager->addAllocation(id1); | ||
993 | LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); | 847 | LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); |
994 | gAllocationManager->addAllocation(id2); | ||
995 | LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10); | 848 | LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10); |
996 | gAllocationManager->addAllocation(id3); | ||
997 | $$ = new LLScriptAtRotTarget(gLine, gColumn, id1, id2, id3); | 849 | $$ = new LLScriptAtRotTarget(gLine, gColumn, id1, id2, id3); |
998 | gAllocationManager->addAllocation($$); | ||
999 | } | 850 | } |
1000 | ; | 851 | ; |
1001 | 852 | ||
@@ -1003,7 +854,6 @@ not_at_rot_target | |||
1003 | : NOT_AT_ROT_TARGET '(' ')' | 854 | : NOT_AT_ROT_TARGET '(' ')' |
1004 | { | 855 | { |
1005 | $$ = new LLScriptNotAtRotTarget(gLine, gColumn); | 856 | $$ = new LLScriptNotAtRotTarget(gLine, gColumn); |
1006 | gAllocationManager->addAllocation($$); | ||
1007 | } | 857 | } |
1008 | ; | 858 | ; |
1009 | 859 | ||
@@ -1011,11 +861,8 @@ money | |||
1011 | : MONEY '(' LLKEY IDENTIFIER ',' INTEGER IDENTIFIER ')' | 861 | : MONEY '(' LLKEY IDENTIFIER ',' INTEGER IDENTIFIER ')' |
1012 | { | 862 | { |
1013 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); | 863 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); |
1014 | gAllocationManager->addAllocation(id1); | ||
1015 | LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); | 864 | LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); |
1016 | gAllocationManager->addAllocation(id2); | ||
1017 | $$ = new LLScriptMoneyEvent(gLine, gColumn, id1, id2); | 865 | $$ = new LLScriptMoneyEvent(gLine, gColumn, id1, id2); |
1018 | gAllocationManager->addAllocation($$); | ||
1019 | } | 866 | } |
1020 | ; | 867 | ; |
1021 | 868 | ||
@@ -1023,17 +870,11 @@ email | |||
1023 | : EMAIL '(' STRING IDENTIFIER ',' STRING IDENTIFIER ',' STRING IDENTIFIER ',' STRING IDENTIFIER ',' INTEGER IDENTIFIER ')' | 870 | : EMAIL '(' STRING IDENTIFIER ',' STRING IDENTIFIER ',' STRING IDENTIFIER ',' STRING IDENTIFIER ',' INTEGER IDENTIFIER ')' |
1024 | { | 871 | { |
1025 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); | 872 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); |
1026 | gAllocationManager->addAllocation(id1); | ||
1027 | LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); | 873 | LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); |
1028 | gAllocationManager->addAllocation(id2); | ||
1029 | LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10); | 874 | LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10); |
1030 | gAllocationManager->addAllocation(id3); | ||
1031 | LLScriptIdentifier *id4 = new LLScriptIdentifier(gLine, gColumn, $13); | 875 | LLScriptIdentifier *id4 = new LLScriptIdentifier(gLine, gColumn, $13); |
1032 | gAllocationManager->addAllocation(id4); | ||
1033 | LLScriptIdentifier *id5 = new LLScriptIdentifier(gLine, gColumn, $16); | 876 | LLScriptIdentifier *id5 = new LLScriptIdentifier(gLine, gColumn, $16); |
1034 | gAllocationManager->addAllocation(id5); | ||
1035 | $$ = new LLScriptEmailEvent(gLine, gColumn, id1, id2, id3, id4, id5); | 877 | $$ = new LLScriptEmailEvent(gLine, gColumn, id1, id2, id3, id4, id5); |
1036 | gAllocationManager->addAllocation($$); | ||
1037 | } | 878 | } |
1038 | ; | 879 | ; |
1039 | 880 | ||
@@ -1041,9 +882,7 @@ run_time_permissions | |||
1041 | : RUN_TIME_PERMISSIONS '(' INTEGER IDENTIFIER ')' | 882 | : RUN_TIME_PERMISSIONS '(' INTEGER IDENTIFIER ')' |
1042 | { | 883 | { |
1043 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); | 884 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); |
1044 | gAllocationManager->addAllocation(id1); | ||
1045 | $$ = new LLScriptRTPEvent(gLine, gColumn, id1); | 885 | $$ = new LLScriptRTPEvent(gLine, gColumn, id1); |
1046 | gAllocationManager->addAllocation($$); | ||
1047 | } | 886 | } |
1048 | ; | 887 | ; |
1049 | 888 | ||
@@ -1051,9 +890,7 @@ inventory | |||
1051 | : INVENTORY '(' INTEGER IDENTIFIER ')' | 890 | : INVENTORY '(' INTEGER IDENTIFIER ')' |
1052 | { | 891 | { |
1053 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); | 892 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); |
1054 | gAllocationManager->addAllocation(id1); | ||
1055 | $$ = new LLScriptInventoryEvent(gLine, gColumn, id1); | 893 | $$ = new LLScriptInventoryEvent(gLine, gColumn, id1); |
1056 | gAllocationManager->addAllocation($$); | ||
1057 | } | 894 | } |
1058 | ; | 895 | ; |
1059 | 896 | ||
@@ -1061,9 +898,7 @@ attach | |||
1061 | : ATTACH '(' LLKEY IDENTIFIER ')' | 898 | : ATTACH '(' LLKEY IDENTIFIER ')' |
1062 | { | 899 | { |
1063 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); | 900 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); |
1064 | gAllocationManager->addAllocation(id1); | ||
1065 | $$ = new LLScriptAttachEvent(gLine, gColumn, id1); | 901 | $$ = new LLScriptAttachEvent(gLine, gColumn, id1); |
1066 | gAllocationManager->addAllocation($$); | ||
1067 | } | 902 | } |
1068 | ; | 903 | ; |
1069 | 904 | ||
@@ -1071,11 +906,8 @@ dataserver | |||
1071 | : DATASERVER '(' LLKEY IDENTIFIER ',' STRING IDENTIFIER')' | 906 | : DATASERVER '(' LLKEY IDENTIFIER ',' STRING IDENTIFIER')' |
1072 | { | 907 | { |
1073 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); | 908 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); |
1074 | gAllocationManager->addAllocation(id1); | ||
1075 | LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); | 909 | LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); |
1076 | gAllocationManager->addAllocation(id2); | ||
1077 | $$ = new LLScriptDataserverEvent(gLine, gColumn, id1, id2); | 910 | $$ = new LLScriptDataserverEvent(gLine, gColumn, id1, id2); |
1078 | gAllocationManager->addAllocation($$); | ||
1079 | } | 911 | } |
1080 | ; | 912 | ; |
1081 | 913 | ||
@@ -1083,7 +915,6 @@ moving_start | |||
1083 | : MOVING_START '(' ')' | 915 | : MOVING_START '(' ')' |
1084 | { | 916 | { |
1085 | $$ = new LLScriptMovingStartEvent(gLine, gColumn); | 917 | $$ = new LLScriptMovingStartEvent(gLine, gColumn); |
1086 | gAllocationManager->addAllocation($$); | ||
1087 | } | 918 | } |
1088 | ; | 919 | ; |
1089 | 920 | ||
@@ -1091,7 +922,6 @@ moving_end | |||
1091 | : MOVING_END '(' ')' | 922 | : MOVING_END '(' ')' |
1092 | { | 923 | { |
1093 | $$ = new LLScriptMovingEndEvent(gLine, gColumn); | 924 | $$ = new LLScriptMovingEndEvent(gLine, gColumn); |
1094 | gAllocationManager->addAllocation($$); | ||
1095 | } | 925 | } |
1096 | ; | 926 | ; |
1097 | 927 | ||
@@ -1099,7 +929,6 @@ timer | |||
1099 | : TIMER '(' ')' | 929 | : TIMER '(' ')' |
1100 | { | 930 | { |
1101 | $$ = new LLScriptTimerEvent(gLine, gColumn); | 931 | $$ = new LLScriptTimerEvent(gLine, gColumn); |
1102 | gAllocationManager->addAllocation($$); | ||
1103 | } | 932 | } |
1104 | ; | 933 | ; |
1105 | 934 | ||
@@ -1107,15 +936,10 @@ chat | |||
1107 | : CHAT '(' INTEGER IDENTIFIER ',' STRING IDENTIFIER ',' LLKEY IDENTIFIER ',' STRING IDENTIFIER ')' | 936 | : CHAT '(' INTEGER IDENTIFIER ',' STRING IDENTIFIER ',' LLKEY IDENTIFIER ',' STRING IDENTIFIER ')' |
1108 | { | 937 | { |
1109 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); | 938 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); |
1110 | gAllocationManager->addAllocation(id1); | ||
1111 | LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); | 939 | LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); |
1112 | gAllocationManager->addAllocation(id2); | ||
1113 | LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10); | 940 | LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10); |
1114 | gAllocationManager->addAllocation(id3); | ||
1115 | LLScriptIdentifier *id4 = new LLScriptIdentifier(gLine, gColumn, $13); | 941 | LLScriptIdentifier *id4 = new LLScriptIdentifier(gLine, gColumn, $13); |
1116 | gAllocationManager->addAllocation(id4); | ||
1117 | $$ = new LLScriptChatEvent(gLine, gColumn, id1, id2, id3, id4); | 942 | $$ = new LLScriptChatEvent(gLine, gColumn, id1, id2, id3, id4); |
1118 | gAllocationManager->addAllocation($$); | ||
1119 | } | 943 | } |
1120 | ; | 944 | ; |
1121 | 945 | ||
@@ -1123,9 +947,7 @@ sensor | |||
1123 | : SENSOR '(' INTEGER IDENTIFIER ')' | 947 | : SENSOR '(' INTEGER IDENTIFIER ')' |
1124 | { | 948 | { |
1125 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); | 949 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); |
1126 | gAllocationManager->addAllocation(id1); | ||
1127 | $$ = new LLScriptSensorEvent(gLine, gColumn, id1); | 950 | $$ = new LLScriptSensorEvent(gLine, gColumn, id1); |
1128 | gAllocationManager->addAllocation($$); | ||
1129 | } | 951 | } |
1130 | ; | 952 | ; |
1131 | 953 | ||
@@ -1133,7 +955,6 @@ no_sensor | |||
1133 | : NO_SENSOR '(' ')' | 955 | : NO_SENSOR '(' ')' |
1134 | { | 956 | { |
1135 | $$ = new LLScriptNoSensorEvent(gLine, gColumn); | 957 | $$ = new LLScriptNoSensorEvent(gLine, gColumn); |
1136 | gAllocationManager->addAllocation($$); | ||
1137 | } | 958 | } |
1138 | ; | 959 | ; |
1139 | 960 | ||
@@ -1141,13 +962,9 @@ control | |||
1141 | : CONTROL '(' LLKEY IDENTIFIER ',' INTEGER IDENTIFIER ',' INTEGER IDENTIFIER ')' | 962 | : CONTROL '(' LLKEY IDENTIFIER ',' INTEGER IDENTIFIER ',' INTEGER IDENTIFIER ')' |
1142 | { | 963 | { |
1143 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); | 964 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); |
1144 | gAllocationManager->addAllocation(id1); | ||
1145 | LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); | 965 | LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); |
1146 | gAllocationManager->addAllocation(id2); | ||
1147 | LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10); | 966 | LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10); |
1148 | gAllocationManager->addAllocation(id3); | ||
1149 | $$ = new LLScriptControlEvent(gLine, gColumn, id1, id2, id3); | 967 | $$ = new LLScriptControlEvent(gLine, gColumn, id1, id2, id3); |
1150 | gAllocationManager->addAllocation($$); | ||
1151 | } | 968 | } |
1152 | ; | 969 | ; |
1153 | 970 | ||
@@ -1155,9 +972,7 @@ rez | |||
1155 | : REZ '(' INTEGER IDENTIFIER ')' | 972 | : REZ '(' INTEGER IDENTIFIER ')' |
1156 | { | 973 | { |
1157 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); | 974 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); |
1158 | gAllocationManager->addAllocation(id1); | ||
1159 | $$ = new LLScriptRezEvent(gLine, gColumn, id1); | 975 | $$ = new LLScriptRezEvent(gLine, gColumn, id1); |
1160 | gAllocationManager->addAllocation($$); | ||
1161 | } | 976 | } |
1162 | ; | 977 | ; |
1163 | 978 | ||
@@ -1165,9 +980,7 @@ object_rez | |||
1165 | : OBJECT_REZ '(' LLKEY IDENTIFIER ')' | 980 | : OBJECT_REZ '(' LLKEY IDENTIFIER ')' |
1166 | { | 981 | { |
1167 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); | 982 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); |
1168 | gAllocationManager->addAllocation(id1); | ||
1169 | $$ = new LLScriptObjectRezEvent(gLine, gColumn, id1); | 983 | $$ = new LLScriptObjectRezEvent(gLine, gColumn, id1); |
1170 | gAllocationManager->addAllocation($$); | ||
1171 | } | 984 | } |
1172 | ; | 985 | ; |
1173 | 986 | ||
@@ -1175,15 +988,10 @@ link_message | |||
1175 | : LINK_MESSAGE '(' INTEGER IDENTIFIER ',' INTEGER IDENTIFIER ',' STRING IDENTIFIER ',' LLKEY IDENTIFIER ')' | 988 | : LINK_MESSAGE '(' INTEGER IDENTIFIER ',' INTEGER IDENTIFIER ',' STRING IDENTIFIER ',' LLKEY IDENTIFIER ')' |
1176 | { | 989 | { |
1177 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); | 990 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); |
1178 | gAllocationManager->addAllocation(id1); | ||
1179 | LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); | 991 | LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); |
1180 | gAllocationManager->addAllocation(id2); | ||
1181 | LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10); | 992 | LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10); |
1182 | gAllocationManager->addAllocation(id3); | ||
1183 | LLScriptIdentifier *id4 = new LLScriptIdentifier(gLine, gColumn, $13); | 993 | LLScriptIdentifier *id4 = new LLScriptIdentifier(gLine, gColumn, $13); |
1184 | gAllocationManager->addAllocation(id4); | ||
1185 | $$ = new LLScriptLinkMessageEvent(gLine, gColumn, id1, id2, id3, id4); | 994 | $$ = new LLScriptLinkMessageEvent(gLine, gColumn, id1, id2, id3, id4); |
1186 | gAllocationManager->addAllocation($$); | ||
1187 | } | 995 | } |
1188 | ; | 996 | ; |
1189 | 997 | ||
@@ -1191,19 +999,12 @@ remote_data | |||
1191 | : REMOTE_DATA '(' INTEGER IDENTIFIER ',' LLKEY IDENTIFIER ',' LLKEY IDENTIFIER ',' STRING IDENTIFIER ',' INTEGER IDENTIFIER ',' STRING IDENTIFIER ')' | 999 | : REMOTE_DATA '(' INTEGER IDENTIFIER ',' LLKEY IDENTIFIER ',' LLKEY IDENTIFIER ',' STRING IDENTIFIER ',' INTEGER IDENTIFIER ',' STRING IDENTIFIER ')' |
1192 | { | 1000 | { |
1193 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); | 1001 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); |
1194 | gAllocationManager->addAllocation(id1); | ||
1195 | LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); | 1002 | LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); |
1196 | gAllocationManager->addAllocation(id2); | ||
1197 | LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10); | 1003 | LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10); |
1198 | gAllocationManager->addAllocation(id3); | ||
1199 | LLScriptIdentifier *id4 = new LLScriptIdentifier(gLine, gColumn, $13); | 1004 | LLScriptIdentifier *id4 = new LLScriptIdentifier(gLine, gColumn, $13); |
1200 | gAllocationManager->addAllocation(id4); | ||
1201 | LLScriptIdentifier *id5 = new LLScriptIdentifier(gLine, gColumn, $16); | 1005 | LLScriptIdentifier *id5 = new LLScriptIdentifier(gLine, gColumn, $16); |
1202 | gAllocationManager->addAllocation(id4); | ||
1203 | LLScriptIdentifier *id6 = new LLScriptIdentifier(gLine, gColumn, $19); | 1006 | LLScriptIdentifier *id6 = new LLScriptIdentifier(gLine, gColumn, $19); |
1204 | gAllocationManager->addAllocation(id4); | ||
1205 | $$ = new LLScriptRemoteEvent(gLine, gColumn, id1, id2, id3, id4, id5, id6); | 1007 | $$ = new LLScriptRemoteEvent(gLine, gColumn, id1, id2, id3, id4, id5, id6); |
1206 | gAllocationManager->addAllocation($$); | ||
1207 | } | 1008 | } |
1208 | ; | 1009 | ; |
1209 | 1010 | ||
@@ -1211,15 +1012,10 @@ http_response | |||
1211 | : HTTP_RESPONSE '(' LLKEY IDENTIFIER ',' INTEGER IDENTIFIER ',' LIST IDENTIFIER ',' STRING IDENTIFIER ')' | 1012 | : HTTP_RESPONSE '(' LLKEY IDENTIFIER ',' INTEGER IDENTIFIER ',' LIST IDENTIFIER ',' STRING IDENTIFIER ')' |
1212 | { | 1013 | { |
1213 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); | 1014 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); |
1214 | gAllocationManager->addAllocation(id1); | ||
1215 | LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); | 1015 | LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); |
1216 | gAllocationManager->addAllocation(id2); | ||
1217 | LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10); | 1016 | LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10); |
1218 | gAllocationManager->addAllocation(id3); | ||
1219 | LLScriptIdentifier *id4 = new LLScriptIdentifier(gLine, gColumn, $13); | 1017 | LLScriptIdentifier *id4 = new LLScriptIdentifier(gLine, gColumn, $13); |
1220 | gAllocationManager->addAllocation(id4); | ||
1221 | $$ = new LLScriptHTTPResponseEvent(gLine, gColumn, id1, id2, id3, id4); | 1018 | $$ = new LLScriptHTTPResponseEvent(gLine, gColumn, id1, id2, id3, id4); |
1222 | gAllocationManager->addAllocation($$); | ||
1223 | } | 1019 | } |
1224 | ; | 1020 | ; |
1225 | 1021 | ||
@@ -1227,13 +1023,9 @@ http_request | |||
1227 | : HTTP_REQUEST '(' LLKEY IDENTIFIER ',' STRING IDENTIFIER ',' STRING IDENTIFIER ')' | 1023 | : HTTP_REQUEST '(' LLKEY IDENTIFIER ',' STRING IDENTIFIER ',' STRING IDENTIFIER ')' |
1228 | { | 1024 | { |
1229 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); | 1025 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); |
1230 | gAllocationManager->addAllocation(id1); | ||
1231 | LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); | 1026 | LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); |
1232 | gAllocationManager->addAllocation(id2); | ||
1233 | LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10); | 1027 | LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10); |
1234 | gAllocationManager->addAllocation(id3); | ||
1235 | $$ = new LLScriptHTTPRequestEvent(gLine, gColumn, id1, id2, id3); | 1028 | $$ = new LLScriptHTTPRequestEvent(gLine, gColumn, id1, id2, id3); |
1236 | gAllocationManager->addAllocation($$); | ||
1237 | } | 1029 | } |
1238 | ; | 1030 | ; |
1239 | 1031 | ||
@@ -1241,12 +1033,10 @@ compound_statement | |||
1241 | : '{' '}' | 1033 | : '{' '}' |
1242 | { | 1034 | { |
1243 | $$ = new LLScriptCompoundStatement(gLine, gColumn, NULL); | 1035 | $$ = new LLScriptCompoundStatement(gLine, gColumn, NULL); |
1244 | gAllocationManager->addAllocation($$); | ||
1245 | } | 1036 | } |
1246 | | '{' statements '}' | 1037 | | '{' statements '}' |
1247 | { | 1038 | { |
1248 | $$ = new LLScriptCompoundStatement(gLine, gColumn, $2); | 1039 | $$ = new LLScriptCompoundStatement(gLine, gColumn, $2); |
1249 | gAllocationManager->addAllocation($$); | ||
1250 | } | 1040 | } |
1251 | ; | 1041 | ; |
1252 | 1042 | ||
@@ -1258,7 +1048,6 @@ statements | |||
1258 | | statements statement | 1048 | | statements statement |
1259 | { | 1049 | { |
1260 | $$ = new LLScriptStatementSequence(gLine, gColumn, $1, $2); | 1050 | $$ = new LLScriptStatementSequence(gLine, gColumn, $1, $2); |
1261 | gAllocationManager->addAllocation($$); | ||
1262 | } | 1051 | } |
1263 | ; | 1052 | ; |
1264 | 1053 | ||
@@ -1266,50 +1055,38 @@ statement | |||
1266 | : ';' | 1055 | : ';' |
1267 | { | 1056 | { |
1268 | $$ = new LLScriptNOOP(gLine, gColumn); | 1057 | $$ = new LLScriptNOOP(gLine, gColumn); |
1269 | gAllocationManager->addAllocation($$); | ||
1270 | } | 1058 | } |
1271 | | STATE IDENTIFIER ';' | 1059 | | STATE IDENTIFIER ';' |
1272 | { | 1060 | { |
1273 | LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $2); | 1061 | LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $2); |
1274 | gAllocationManager->addAllocation(id); | ||
1275 | $$ = new LLScriptStateChange(gLine, gColumn, id); | 1062 | $$ = new LLScriptStateChange(gLine, gColumn, id); |
1276 | gAllocationManager->addAllocation($$); | ||
1277 | } | 1063 | } |
1278 | | STATE STATE_DEFAULT ';' | 1064 | | STATE STATE_DEFAULT ';' |
1279 | { | 1065 | { |
1280 | LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $2); | 1066 | LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $2); |
1281 | gAllocationManager->addAllocation(id); | ||
1282 | $$ = new LLScriptStateChange(gLine, gColumn, id); | 1067 | $$ = new LLScriptStateChange(gLine, gColumn, id); |
1283 | gAllocationManager->addAllocation($$); | ||
1284 | } | 1068 | } |
1285 | | JUMP IDENTIFIER ';' | 1069 | | JUMP IDENTIFIER ';' |
1286 | { | 1070 | { |
1287 | LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $2); | 1071 | LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $2); |
1288 | gAllocationManager->addAllocation(id); | ||
1289 | $$ = new LLScriptJump(gLine, gColumn, id); | 1072 | $$ = new LLScriptJump(gLine, gColumn, id); |
1290 | gAllocationManager->addAllocation($$); | ||
1291 | } | 1073 | } |
1292 | | '@' IDENTIFIER ';' | 1074 | | '@' IDENTIFIER ';' |
1293 | { | 1075 | { |
1294 | LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $2); | 1076 | LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $2); |
1295 | gAllocationManager->addAllocation(id); | ||
1296 | $$ = new LLScriptLabel(gLine, gColumn, id); | 1077 | $$ = new LLScriptLabel(gLine, gColumn, id); |
1297 | gAllocationManager->addAllocation($$); | ||
1298 | } | 1078 | } |
1299 | | RETURN expression ';' | 1079 | | RETURN expression ';' |
1300 | { | 1080 | { |
1301 | $$ = new LLScriptReturn(gLine, gColumn, $2); | 1081 | $$ = new LLScriptReturn(gLine, gColumn, $2); |
1302 | gAllocationManager->addAllocation($$); | ||
1303 | } | 1082 | } |
1304 | | RETURN ';' | 1083 | | RETURN ';' |
1305 | { | 1084 | { |
1306 | $$ = new LLScriptReturn(gLine, gColumn, NULL); | 1085 | $$ = new LLScriptReturn(gLine, gColumn, NULL); |
1307 | gAllocationManager->addAllocation($$); | ||
1308 | } | 1086 | } |
1309 | | expression ';' | 1087 | | expression ';' |
1310 | { | 1088 | { |
1311 | $$ = new LLScriptExpressionStatement(gLine, gColumn, $1); | 1089 | $$ = new LLScriptExpressionStatement(gLine, gColumn, $1); |
1312 | gAllocationManager->addAllocation($$); | ||
1313 | } | 1090 | } |
1314 | | declaration ';' | 1091 | | declaration ';' |
1315 | { | 1092 | { |
@@ -1323,32 +1100,27 @@ statement | |||
1323 | { | 1100 | { |
1324 | $$ = new LLScriptIf(gLine, gColumn, $3, $5); | 1101 | $$ = new LLScriptIf(gLine, gColumn, $3, $5); |
1325 | $5->mAllowDeclarations = FALSE; | 1102 | $5->mAllowDeclarations = FALSE; |
1326 | gAllocationManager->addAllocation($$); | ||
1327 | } | 1103 | } |
1328 | | IF '(' expression ')' statement ELSE statement | 1104 | | IF '(' expression ')' statement ELSE statement |
1329 | { | 1105 | { |
1330 | $$ = new LLScriptIfElse(gLine, gColumn, $3, $5, $7); | 1106 | $$ = new LLScriptIfElse(gLine, gColumn, $3, $5, $7); |
1331 | $5->mAllowDeclarations = FALSE; | 1107 | $5->mAllowDeclarations = FALSE; |
1332 | $7->mAllowDeclarations = FALSE; | 1108 | $7->mAllowDeclarations = FALSE; |
1333 | gAllocationManager->addAllocation($$); | ||
1334 | } | 1109 | } |
1335 | | FOR '(' forexpressionlist ';' expression ';' forexpressionlist ')' statement | 1110 | | FOR '(' forexpressionlist ';' expression ';' forexpressionlist ')' statement |
1336 | { | 1111 | { |
1337 | $$ = new LLScriptFor(gLine, gColumn, $3, $5, $7, $9); | 1112 | $$ = new LLScriptFor(gLine, gColumn, $3, $5, $7, $9); |
1338 | $9->mAllowDeclarations = FALSE; | 1113 | $9->mAllowDeclarations = FALSE; |
1339 | gAllocationManager->addAllocation($$); | ||
1340 | } | 1114 | } |
1341 | | DO statement WHILE '(' expression ')' ';' | 1115 | | DO statement WHILE '(' expression ')' ';' |
1342 | { | 1116 | { |
1343 | $$ = new LLScriptDoWhile(gLine, gColumn, $2, $5); | 1117 | $$ = new LLScriptDoWhile(gLine, gColumn, $2, $5); |
1344 | $2->mAllowDeclarations = FALSE; | 1118 | $2->mAllowDeclarations = FALSE; |
1345 | gAllocationManager->addAllocation($$); | ||
1346 | } | 1119 | } |
1347 | | WHILE '(' expression ')' statement | 1120 | | WHILE '(' expression ')' statement |
1348 | { | 1121 | { |
1349 | $$ = new LLScriptWhile(gLine, gColumn, $3, $5); | 1122 | $$ = new LLScriptWhile(gLine, gColumn, $3, $5); |
1350 | $5->mAllowDeclarations = FALSE; | 1123 | $5->mAllowDeclarations = FALSE; |
1351 | gAllocationManager->addAllocation($$); | ||
1352 | } | 1124 | } |
1353 | ; | 1125 | ; |
1354 | 1126 | ||
@@ -1356,16 +1128,12 @@ declaration | |||
1356 | : typename IDENTIFIER | 1128 | : typename IDENTIFIER |
1357 | { | 1129 | { |
1358 | LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $2); | 1130 | LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $2); |
1359 | gAllocationManager->addAllocation(id); | ||
1360 | $$ = new LLScriptDeclaration(gLine, gColumn, $1, id, NULL); | 1131 | $$ = new LLScriptDeclaration(gLine, gColumn, $1, id, NULL); |
1361 | gAllocationManager->addAllocation($$); | ||
1362 | } | 1132 | } |
1363 | | typename IDENTIFIER '=' expression | 1133 | | typename IDENTIFIER '=' expression |
1364 | { | 1134 | { |
1365 | LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $2); | 1135 | LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $2); |
1366 | gAllocationManager->addAllocation(id); | ||
1367 | $$ = new LLScriptDeclaration(gLine, gColumn, $1, id, $4); | 1136 | $$ = new LLScriptDeclaration(gLine, gColumn, $1, id, $4); |
1368 | gAllocationManager->addAllocation($$); | ||
1369 | } | 1137 | } |
1370 | ; | 1138 | ; |
1371 | 1139 | ||
@@ -1384,12 +1152,10 @@ nextforexpressionlist | |||
1384 | : expression | 1152 | : expression |
1385 | { | 1153 | { |
1386 | $$ = new LLScriptForExpressionList(gLine, gColumn, $1, NULL); | 1154 | $$ = new LLScriptForExpressionList(gLine, gColumn, $1, NULL); |
1387 | gAllocationManager->addAllocation($$); | ||
1388 | } | 1155 | } |
1389 | | expression ',' nextforexpressionlist | 1156 | | expression ',' nextforexpressionlist |
1390 | { | 1157 | { |
1391 | $$ = new LLScriptForExpressionList(gLine, gColumn, $1, $3); | 1158 | $$ = new LLScriptForExpressionList(gLine, gColumn, $1, $3); |
1392 | gAllocationManager->addAllocation($$); | ||
1393 | } | 1159 | } |
1394 | ; | 1160 | ; |
1395 | 1161 | ||
@@ -1408,12 +1174,10 @@ nextfuncexpressionlist | |||
1408 | : expression | 1174 | : expression |
1409 | { | 1175 | { |
1410 | $$ = new LLScriptFuncExpressionList(gLine, gColumn, $1, NULL); | 1176 | $$ = new LLScriptFuncExpressionList(gLine, gColumn, $1, NULL); |
1411 | gAllocationManager->addAllocation($$); | ||
1412 | } | 1177 | } |
1413 | | expression ',' nextfuncexpressionlist | 1178 | | expression ',' nextfuncexpressionlist |
1414 | { | 1179 | { |
1415 | $$ = new LLScriptFuncExpressionList(gLine, gColumn, $1, $3); | 1180 | $$ = new LLScriptFuncExpressionList(gLine, gColumn, $1, $3); |
1416 | gAllocationManager->addAllocation($$); | ||
1417 | } | 1181 | } |
1418 | ; | 1182 | ; |
1419 | 1183 | ||
@@ -1432,12 +1196,10 @@ nextlistexpressionlist | |||
1432 | : expression | 1196 | : expression |
1433 | { | 1197 | { |
1434 | $$ = new LLScriptListExpressionList(gLine, gColumn, $1, NULL); | 1198 | $$ = new LLScriptListExpressionList(gLine, gColumn, $1, NULL); |
1435 | gAllocationManager->addAllocation($$); | ||
1436 | } | 1199 | } |
1437 | | expression ',' nextlistexpressionlist | 1200 | | expression ',' nextlistexpressionlist |
1438 | { | 1201 | { |
1439 | $$ = new LLScriptListExpressionList(gLine, gColumn, $1, $3); | 1202 | $$ = new LLScriptListExpressionList(gLine, gColumn, $1, $3); |
1440 | gAllocationManager->addAllocation($$); | ||
1441 | } | 1203 | } |
1442 | ; | 1204 | ; |
1443 | 1205 | ||
@@ -1449,122 +1211,98 @@ expression | |||
1449 | | lvalue '=' expression | 1211 | | lvalue '=' expression |
1450 | { | 1212 | { |
1451 | $$ = new LLScriptAssignment(gLine, gColumn, $1, $3); | 1213 | $$ = new LLScriptAssignment(gLine, gColumn, $1, $3); |
1452 | gAllocationManager->addAllocation($$); | ||
1453 | } | 1214 | } |
1454 | | lvalue ADD_ASSIGN expression | 1215 | | lvalue ADD_ASSIGN expression |
1455 | { | 1216 | { |
1456 | $$ = new LLScriptAddAssignment(gLine, gColumn, $1, $3); | 1217 | $$ = new LLScriptAddAssignment(gLine, gColumn, $1, $3); |
1457 | gAllocationManager->addAllocation($$); | ||
1458 | } | 1218 | } |
1459 | | lvalue SUB_ASSIGN expression | 1219 | | lvalue SUB_ASSIGN expression |
1460 | { | 1220 | { |
1461 | $$ = new LLScriptSubAssignment(gLine, gColumn, $1, $3); | 1221 | $$ = new LLScriptSubAssignment(gLine, gColumn, $1, $3); |
1462 | gAllocationManager->addAllocation($$); | ||
1463 | } | 1222 | } |
1464 | | lvalue MUL_ASSIGN expression | 1223 | | lvalue MUL_ASSIGN expression |
1465 | { | 1224 | { |
1466 | $$ = new LLScriptMulAssignment(gLine, gColumn, $1, $3); | 1225 | $$ = new LLScriptMulAssignment(gLine, gColumn, $1, $3); |
1467 | gAllocationManager->addAllocation($$); | ||
1468 | } | 1226 | } |
1469 | | lvalue DIV_ASSIGN expression | 1227 | | lvalue DIV_ASSIGN expression |
1470 | { | 1228 | { |
1471 | $$ = new LLScriptDivAssignment(gLine, gColumn, $1, $3); | 1229 | $$ = new LLScriptDivAssignment(gLine, gColumn, $1, $3); |
1472 | gAllocationManager->addAllocation($$); | ||
1473 | } | 1230 | } |
1474 | | lvalue MOD_ASSIGN expression | 1231 | | lvalue MOD_ASSIGN expression |
1475 | { | 1232 | { |
1476 | $$ = new LLScriptModAssignment(gLine, gColumn, $1, $3); | 1233 | $$ = new LLScriptModAssignment(gLine, gColumn, $1, $3); |
1477 | gAllocationManager->addAllocation($$); | ||
1478 | } | 1234 | } |
1479 | | expression EQ expression | 1235 | | expression EQ expression |
1480 | { | 1236 | { |
1481 | $$ = new LLScriptEquality(gLine, gColumn, $1, $3); | 1237 | $$ = new LLScriptEquality(gLine, gColumn, $1, $3); |
1482 | gAllocationManager->addAllocation($$); | ||
1483 | } | 1238 | } |
1484 | | expression NEQ expression | 1239 | | expression NEQ expression |
1485 | { | 1240 | { |
1486 | $$ = new LLScriptNotEquals(gLine, gColumn, $1, $3); | 1241 | $$ = new LLScriptNotEquals(gLine, gColumn, $1, $3); |
1487 | gAllocationManager->addAllocation($$); | ||
1488 | } | 1242 | } |
1489 | | expression LEQ expression | 1243 | | expression LEQ expression |
1490 | { | 1244 | { |
1491 | $$ = new LLScriptLessEquals(gLine, gColumn, $1, $3); | 1245 | $$ = new LLScriptLessEquals(gLine, gColumn, $1, $3); |
1492 | gAllocationManager->addAllocation($$); | ||
1493 | } | 1246 | } |
1494 | | expression GEQ expression | 1247 | | expression GEQ expression |
1495 | { | 1248 | { |
1496 | $$ = new LLScriptGreaterEquals(gLine, gColumn, $1, $3); | 1249 | $$ = new LLScriptGreaterEquals(gLine, gColumn, $1, $3); |
1497 | gAllocationManager->addAllocation($$); | ||
1498 | } | 1250 | } |
1499 | | expression '<' expression | 1251 | | expression '<' expression |
1500 | { | 1252 | { |
1501 | $$ = new LLScriptLessThan(gLine, gColumn, $1, $3); | 1253 | $$ = new LLScriptLessThan(gLine, gColumn, $1, $3); |
1502 | gAllocationManager->addAllocation($$); | ||
1503 | } | 1254 | } |
1504 | | expression '>' expression | 1255 | | expression '>' expression |
1505 | { | 1256 | { |
1506 | $$ = new LLScriptGreaterThan(gLine, gColumn, $1, $3); | 1257 | $$ = new LLScriptGreaterThan(gLine, gColumn, $1, $3); |
1507 | gAllocationManager->addAllocation($$); | ||
1508 | } | 1258 | } |
1509 | | expression '+' expression | 1259 | | expression '+' expression |
1510 | { | 1260 | { |
1511 | $$ = new LLScriptPlus(gLine, gColumn, $1, $3); | 1261 | $$ = new LLScriptPlus(gLine, gColumn, $1, $3); |
1512 | gAllocationManager->addAllocation($$); | ||
1513 | } | 1262 | } |
1514 | | expression '-' expression | 1263 | | expression '-' expression |
1515 | { | 1264 | { |
1516 | $$ = new LLScriptMinus(gLine, gColumn, $1, $3); | 1265 | $$ = new LLScriptMinus(gLine, gColumn, $1, $3); |
1517 | gAllocationManager->addAllocation($$); | ||
1518 | } | 1266 | } |
1519 | | expression '*' expression | 1267 | | expression '*' expression |
1520 | { | 1268 | { |
1521 | $$ = new LLScriptTimes(gLine, gColumn, $1, $3); | 1269 | $$ = new LLScriptTimes(gLine, gColumn, $1, $3); |
1522 | gAllocationManager->addAllocation($$); | ||
1523 | } | 1270 | } |
1524 | | expression '/' expression | 1271 | | expression '/' expression |
1525 | { | 1272 | { |
1526 | $$ = new LLScriptDivide(gLine, gColumn, $1, $3); | 1273 | $$ = new LLScriptDivide(gLine, gColumn, $1, $3); |
1527 | gAllocationManager->addAllocation($$); | ||
1528 | } | 1274 | } |
1529 | | expression '%' expression | 1275 | | expression '%' expression |
1530 | { | 1276 | { |
1531 | $$ = new LLScriptMod(gLine, gColumn, $1, $3); | 1277 | $$ = new LLScriptMod(gLine, gColumn, $1, $3); |
1532 | gAllocationManager->addAllocation($$); | ||
1533 | } | 1278 | } |
1534 | | expression '&' expression | 1279 | | expression '&' expression |
1535 | { | 1280 | { |
1536 | $$ = new LLScriptBitAnd(gLine, gColumn, $1, $3); | 1281 | $$ = new LLScriptBitAnd(gLine, gColumn, $1, $3); |
1537 | gAllocationManager->addAllocation($$); | ||
1538 | } | 1282 | } |
1539 | | expression '|' expression | 1283 | | expression '|' expression |
1540 | { | 1284 | { |
1541 | $$ = new LLScriptBitOr(gLine, gColumn, $1, $3); | 1285 | $$ = new LLScriptBitOr(gLine, gColumn, $1, $3); |
1542 | gAllocationManager->addAllocation($$); | ||
1543 | } | 1286 | } |
1544 | | expression '^' expression | 1287 | | expression '^' expression |
1545 | { | 1288 | { |
1546 | $$ = new LLScriptBitXor(gLine, gColumn, $1, $3); | 1289 | $$ = new LLScriptBitXor(gLine, gColumn, $1, $3); |
1547 | gAllocationManager->addAllocation($$); | ||
1548 | } | 1290 | } |
1549 | | expression BOOLEAN_AND expression | 1291 | | expression BOOLEAN_AND expression |
1550 | { | 1292 | { |
1551 | $$ = new LLScriptBooleanAnd(gLine, gColumn, $1, $3); | 1293 | $$ = new LLScriptBooleanAnd(gLine, gColumn, $1, $3); |
1552 | gAllocationManager->addAllocation($$); | ||
1553 | } | 1294 | } |
1554 | | expression BOOLEAN_OR expression | 1295 | | expression BOOLEAN_OR expression |
1555 | { | 1296 | { |
1556 | $$ = new LLScriptBooleanOr(gLine, gColumn, $1, $3); | 1297 | $$ = new LLScriptBooleanOr(gLine, gColumn, $1, $3); |
1557 | gAllocationManager->addAllocation($$); | ||
1558 | } | 1298 | } |
1559 | | expression SHIFT_LEFT expression | 1299 | | expression SHIFT_LEFT expression |
1560 | { | 1300 | { |
1561 | $$ = new LLScriptShiftLeft(gLine, gColumn, $1, $3); | 1301 | $$ = new LLScriptShiftLeft(gLine, gColumn, $1, $3); |
1562 | gAllocationManager->addAllocation($$); | ||
1563 | } | 1302 | } |
1564 | | expression SHIFT_RIGHT expression | 1303 | | expression SHIFT_RIGHT expression |
1565 | { | 1304 | { |
1566 | $$ = new LLScriptShiftRight(gLine, gColumn, $1, $3); | 1305 | $$ = new LLScriptShiftRight(gLine, gColumn, $1, $3); |
1567 | gAllocationManager->addAllocation($$); | ||
1568 | } | 1306 | } |
1569 | ; | 1307 | ; |
1570 | 1308 | ||
@@ -1572,27 +1310,22 @@ unaryexpression | |||
1572 | : '-' expression | 1310 | : '-' expression |
1573 | { | 1311 | { |
1574 | $$ = new LLScriptUnaryMinus(gLine, gColumn, $2); | 1312 | $$ = new LLScriptUnaryMinus(gLine, gColumn, $2); |
1575 | gAllocationManager->addAllocation($$); | ||
1576 | } | 1313 | } |
1577 | | '!' expression | 1314 | | '!' expression |
1578 | { | 1315 | { |
1579 | $$ = new LLScriptBooleanNot(gLine, gColumn, $2); | 1316 | $$ = new LLScriptBooleanNot(gLine, gColumn, $2); |
1580 | gAllocationManager->addAllocation($$); | ||
1581 | } | 1317 | } |
1582 | | '~' expression | 1318 | | '~' expression |
1583 | { | 1319 | { |
1584 | $$ = new LLScriptBitNot(gLine, gColumn, $2); | 1320 | $$ = new LLScriptBitNot(gLine, gColumn, $2); |
1585 | gAllocationManager->addAllocation($$); | ||
1586 | } | 1321 | } |
1587 | | INC_OP lvalue | 1322 | | INC_OP lvalue |
1588 | { | 1323 | { |
1589 | $$ = new LLScriptPreIncrement(gLine, gColumn, $2); | 1324 | $$ = new LLScriptPreIncrement(gLine, gColumn, $2); |
1590 | gAllocationManager->addAllocation($$); | ||
1591 | } | 1325 | } |
1592 | | DEC_OP lvalue | 1326 | | DEC_OP lvalue |
1593 | { | 1327 | { |
1594 | $$ = new LLScriptPreDecrement(gLine, gColumn, $2); | 1328 | $$ = new LLScriptPreDecrement(gLine, gColumn, $2); |
1595 | gAllocationManager->addAllocation($$); | ||
1596 | } | 1329 | } |
1597 | | typecast | 1330 | | typecast |
1598 | { | 1331 | { |
@@ -1605,7 +1338,6 @@ unaryexpression | |||
1605 | | '(' expression ')' | 1338 | | '(' expression ')' |
1606 | { | 1339 | { |
1607 | $$ = new LLScriptParenthesis(gLine, gColumn, $2); | 1340 | $$ = new LLScriptParenthesis(gLine, gColumn, $2); |
1608 | gAllocationManager->addAllocation($$); | ||
1609 | } | 1341 | } |
1610 | ; | 1342 | ; |
1611 | 1343 | ||
@@ -1613,24 +1345,19 @@ typecast | |||
1613 | : '(' typename ')' lvalue | 1345 | : '(' typename ')' lvalue |
1614 | { | 1346 | { |
1615 | $$ = new LLScriptTypeCast(gLine, gColumn, $2, $4); | 1347 | $$ = new LLScriptTypeCast(gLine, gColumn, $2, $4); |
1616 | gAllocationManager->addAllocation($$); | ||
1617 | } | 1348 | } |
1618 | | '(' typename ')' constant | 1349 | | '(' typename ')' constant |
1619 | { | 1350 | { |
1620 | LLScriptConstantExpression *temp = new LLScriptConstantExpression(gLine, gColumn, $4); | 1351 | LLScriptConstantExpression *temp = new LLScriptConstantExpression(gLine, gColumn, $4); |
1621 | gAllocationManager->addAllocation(temp); | ||
1622 | $$ = new LLScriptTypeCast(gLine, gColumn, $2, temp); | 1352 | $$ = new LLScriptTypeCast(gLine, gColumn, $2, temp); |
1623 | gAllocationManager->addAllocation($$); | ||
1624 | } | 1353 | } |
1625 | | '(' typename ')' unarypostfixexpression | 1354 | | '(' typename ')' unarypostfixexpression |
1626 | { | 1355 | { |
1627 | $$ = new LLScriptTypeCast(gLine, gColumn, $2, $4); | 1356 | $$ = new LLScriptTypeCast(gLine, gColumn, $2, $4); |
1628 | gAllocationManager->addAllocation($$); | ||
1629 | } | 1357 | } |
1630 | | '(' typename ')' '(' expression ')' | 1358 | | '(' typename ')' '(' expression ')' |
1631 | { | 1359 | { |
1632 | $$ = new LLScriptTypeCast(gLine, gColumn, $2, $5); | 1360 | $$ = new LLScriptTypeCast(gLine, gColumn, $2, $5); |
1633 | gAllocationManager->addAllocation($$); | ||
1634 | } | 1361 | } |
1635 | ; | 1362 | ; |
1636 | 1363 | ||
@@ -1654,29 +1381,23 @@ unarypostfixexpression | |||
1654 | | lvalue INC_OP | 1381 | | lvalue INC_OP |
1655 | { | 1382 | { |
1656 | $$ = new LLScriptPostIncrement(gLine, gColumn, $1); | 1383 | $$ = new LLScriptPostIncrement(gLine, gColumn, $1); |
1657 | gAllocationManager->addAllocation($$); | ||
1658 | } | 1384 | } |
1659 | | lvalue DEC_OP | 1385 | | lvalue DEC_OP |
1660 | { | 1386 | { |
1661 | $$ = new LLScriptPostDecrement(gLine, gColumn, $1); | 1387 | $$ = new LLScriptPostDecrement(gLine, gColumn, $1); |
1662 | gAllocationManager->addAllocation($$); | ||
1663 | } | 1388 | } |
1664 | | IDENTIFIER '(' funcexpressionlist ')' | 1389 | | IDENTIFIER '(' funcexpressionlist ')' |
1665 | { | 1390 | { |
1666 | LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $1); | 1391 | LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $1); |
1667 | gAllocationManager->addAllocation(id); | ||
1668 | $$ = new LLScriptFunctionCall(gLine, gColumn, id, $3); | 1392 | $$ = new LLScriptFunctionCall(gLine, gColumn, id, $3); |
1669 | gAllocationManager->addAllocation($$); | ||
1670 | } | 1393 | } |
1671 | | PRINT '(' expression ')' | 1394 | | PRINT '(' expression ')' |
1672 | { | 1395 | { |
1673 | $$ = new LLScriptPrint(gLine, gColumn, $3); | 1396 | $$ = new LLScriptPrint(gLine, gColumn, $3); |
1674 | gAllocationManager->addAllocation($$); | ||
1675 | } | 1397 | } |
1676 | | constant | 1398 | | constant |
1677 | { | 1399 | { |
1678 | $$ = new LLScriptConstantExpression(gLine, gColumn, $1); | 1400 | $$ = new LLScriptConstantExpression(gLine, gColumn, $1); |
1679 | gAllocationManager->addAllocation($$); | ||
1680 | } | 1401 | } |
1681 | ; | 1402 | ; |
1682 | 1403 | ||
@@ -1684,58 +1405,36 @@ vector_initializer | |||
1684 | : '<' expression ',' expression ',' expression '>' %prec INITIALIZER | 1405 | : '<' expression ',' expression ',' expression '>' %prec INITIALIZER |
1685 | { | 1406 | { |
1686 | $$ = new LLScriptVectorInitializer(gLine, gColumn, $2, $4, $6); | 1407 | $$ = new LLScriptVectorInitializer(gLine, gColumn, $2, $4, $6); |
1687 | gAllocationManager->addAllocation($$); | ||
1688 | } | 1408 | } |
1689 | | ZERO_VECTOR | 1409 | | ZERO_VECTOR |
1690 | { | 1410 | { |
1691 | LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, 0.f); | 1411 | LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, 0.f); |
1692 | gAllocationManager->addAllocation(cf0); | ||
1693 | LLScriptConstantExpression *sa0 = new LLScriptConstantExpression(gLine, gColumn, cf0); | 1412 | LLScriptConstantExpression *sa0 = new LLScriptConstantExpression(gLine, gColumn, cf0); |
1694 | gAllocationManager->addAllocation(sa0); | ||
1695 | LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, 0.f); | 1413 | LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, 0.f); |
1696 | gAllocationManager->addAllocation(cf1); | ||
1697 | LLScriptConstantExpression *sa1 = new LLScriptConstantExpression(gLine, gColumn, cf1); | 1414 | LLScriptConstantExpression *sa1 = new LLScriptConstantExpression(gLine, gColumn, cf1); |
1698 | gAllocationManager->addAllocation(sa1); | ||
1699 | LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f); | 1415 | LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f); |
1700 | gAllocationManager->addAllocation(cf2); | ||
1701 | LLScriptConstantExpression *sa2 = new LLScriptConstantExpression(gLine, gColumn, cf2); | 1416 | LLScriptConstantExpression *sa2 = new LLScriptConstantExpression(gLine, gColumn, cf2); |
1702 | gAllocationManager->addAllocation(sa2); | ||
1703 | $$ = new LLScriptVectorInitializer(gLine, gColumn, sa0, sa1, sa2); | 1417 | $$ = new LLScriptVectorInitializer(gLine, gColumn, sa0, sa1, sa2); |
1704 | gAllocationManager->addAllocation($$); | ||
1705 | } | 1418 | } |
1706 | | TOUCH_INVALID_VECTOR | 1419 | | TOUCH_INVALID_VECTOR |
1707 | { | 1420 | { |
1708 | LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, 0.f); | 1421 | LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, 0.f); |
1709 | gAllocationManager->addAllocation(cf0); | ||
1710 | LLScriptConstantExpression *sa0 = new LLScriptConstantExpression(gLine, gColumn, cf0); | 1422 | LLScriptConstantExpression *sa0 = new LLScriptConstantExpression(gLine, gColumn, cf0); |
1711 | gAllocationManager->addAllocation(sa0); | ||
1712 | LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, 0.f); | 1423 | LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, 0.f); |
1713 | gAllocationManager->addAllocation(cf1); | ||
1714 | LLScriptConstantExpression *sa1 = new LLScriptConstantExpression(gLine, gColumn, cf1); | 1424 | LLScriptConstantExpression *sa1 = new LLScriptConstantExpression(gLine, gColumn, cf1); |
1715 | gAllocationManager->addAllocation(sa1); | ||
1716 | LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f); | 1425 | LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f); |
1717 | gAllocationManager->addAllocation(cf2); | ||
1718 | LLScriptConstantExpression *sa2 = new LLScriptConstantExpression(gLine, gColumn, cf2); | 1426 | LLScriptConstantExpression *sa2 = new LLScriptConstantExpression(gLine, gColumn, cf2); |
1719 | gAllocationManager->addAllocation(sa2); | ||
1720 | $$ = new LLScriptVectorInitializer(gLine, gColumn, sa0, sa1, sa2); | 1427 | $$ = new LLScriptVectorInitializer(gLine, gColumn, sa0, sa1, sa2); |
1721 | gAllocationManager->addAllocation($$); | ||
1722 | } | 1428 | } |
1723 | | TOUCH_INVALID_TEXCOORD | 1429 | | TOUCH_INVALID_TEXCOORD |
1724 | { | 1430 | { |
1725 | LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, -1.f); | 1431 | LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, -1.f); |
1726 | gAllocationManager->addAllocation(cf0); | ||
1727 | LLScriptConstantExpression *sa0 = new LLScriptConstantExpression(gLine, gColumn, cf0); | 1432 | LLScriptConstantExpression *sa0 = new LLScriptConstantExpression(gLine, gColumn, cf0); |
1728 | gAllocationManager->addAllocation(sa0); | ||
1729 | LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, -1.f); | 1433 | LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, -1.f); |
1730 | gAllocationManager->addAllocation(cf1); | ||
1731 | LLScriptConstantExpression *sa1 = new LLScriptConstantExpression(gLine, gColumn, cf1); | 1434 | LLScriptConstantExpression *sa1 = new LLScriptConstantExpression(gLine, gColumn, cf1); |
1732 | gAllocationManager->addAllocation(sa1); | ||
1733 | LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f); | 1435 | LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f); |
1734 | gAllocationManager->addAllocation(cf2); | ||
1735 | LLScriptConstantExpression *sa2 = new LLScriptConstantExpression(gLine, gColumn, cf2); | 1436 | LLScriptConstantExpression *sa2 = new LLScriptConstantExpression(gLine, gColumn, cf2); |
1736 | gAllocationManager->addAllocation(sa2); | ||
1737 | $$ = new LLScriptVectorInitializer(gLine, gColumn, sa0, sa1, sa2); | 1437 | $$ = new LLScriptVectorInitializer(gLine, gColumn, sa0, sa1, sa2); |
1738 | gAllocationManager->addAllocation($$); | ||
1739 | } | 1438 | } |
1740 | ; | 1439 | ; |
1741 | 1440 | ||
@@ -1743,28 +1442,18 @@ quaternion_initializer | |||
1743 | : '<' expression ',' expression ',' expression ',' expression '>' %prec INITIALIZER | 1442 | : '<' expression ',' expression ',' expression ',' expression '>' %prec INITIALIZER |
1744 | { | 1443 | { |
1745 | $$ = new LLScriptQuaternionInitializer(gLine, gColumn, $2, $4, $6, $8); | 1444 | $$ = new LLScriptQuaternionInitializer(gLine, gColumn, $2, $4, $6, $8); |
1746 | gAllocationManager->addAllocation($$); | ||
1747 | } | 1445 | } |
1748 | | ZERO_ROTATION | 1446 | | ZERO_ROTATION |
1749 | { | 1447 | { |
1750 | LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, 0.f); | 1448 | LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, 0.f); |
1751 | gAllocationManager->addAllocation(cf0); | ||
1752 | LLScriptConstantExpression *sa0 = new LLScriptConstantExpression(gLine, gColumn, cf0); | 1449 | LLScriptConstantExpression *sa0 = new LLScriptConstantExpression(gLine, gColumn, cf0); |
1753 | gAllocationManager->addAllocation(sa0); | ||
1754 | LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, 0.f); | 1450 | LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, 0.f); |
1755 | gAllocationManager->addAllocation(cf1); | ||
1756 | LLScriptConstantExpression *sa1 = new LLScriptConstantExpression(gLine, gColumn, cf1); | 1451 | LLScriptConstantExpression *sa1 = new LLScriptConstantExpression(gLine, gColumn, cf1); |
1757 | gAllocationManager->addAllocation(sa1); | ||
1758 | LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f); | 1452 | LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f); |
1759 | gAllocationManager->addAllocation(cf2); | ||
1760 | LLScriptConstantExpression *sa2 = new LLScriptConstantExpression(gLine, gColumn, cf2); | 1453 | LLScriptConstantExpression *sa2 = new LLScriptConstantExpression(gLine, gColumn, cf2); |
1761 | gAllocationManager->addAllocation(sa2); | ||
1762 | LLScriptConstantFloat *cf3 = new LLScriptConstantFloat(gLine, gColumn, 1.f); | 1454 | LLScriptConstantFloat *cf3 = new LLScriptConstantFloat(gLine, gColumn, 1.f); |
1763 | gAllocationManager->addAllocation(cf3); | ||
1764 | LLScriptConstantExpression *sa3 = new LLScriptConstantExpression(gLine, gColumn, cf3); | 1455 | LLScriptConstantExpression *sa3 = new LLScriptConstantExpression(gLine, gColumn, cf3); |
1765 | gAllocationManager->addAllocation(sa3); | ||
1766 | $$ = new LLScriptQuaternionInitializer(gLine, gColumn, sa0, sa1, sa2, sa3); | 1456 | $$ = new LLScriptQuaternionInitializer(gLine, gColumn, sa0, sa1, sa2, sa3); |
1767 | gAllocationManager->addAllocation($$); | ||
1768 | } | 1457 | } |
1769 | ; | 1458 | ; |
1770 | 1459 | ||
@@ -1772,7 +1461,6 @@ list_initializer | |||
1772 | : '[' listexpressionlist ']' %prec INITIALIZER | 1461 | : '[' listexpressionlist ']' %prec INITIALIZER |
1773 | { | 1462 | { |
1774 | $$ = new LLScriptListInitializer(gLine, gColumn, $2); | 1463 | $$ = new LLScriptListInitializer(gLine, gColumn, $2); |
1775 | gAllocationManager->addAllocation($$); | ||
1776 | } | 1464 | } |
1777 | ; | 1465 | ; |
1778 | 1466 | ||
@@ -1780,18 +1468,13 @@ lvalue | |||
1780 | : IDENTIFIER | 1468 | : IDENTIFIER |
1781 | { | 1469 | { |
1782 | LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $1); | 1470 | LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $1); |
1783 | gAllocationManager->addAllocation(id); | ||
1784 | $$ = new LLScriptLValue(gLine, gColumn, id, NULL); | 1471 | $$ = new LLScriptLValue(gLine, gColumn, id, NULL); |
1785 | gAllocationManager->addAllocation($$); | ||
1786 | } | 1472 | } |
1787 | | IDENTIFIER PERIOD IDENTIFIER | 1473 | | IDENTIFIER PERIOD IDENTIFIER |
1788 | { | 1474 | { |
1789 | LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $1); | 1475 | LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $1); |
1790 | gAllocationManager->addAllocation(id); | ||
1791 | LLScriptIdentifier *ac = new LLScriptIdentifier(gLine, gColumn, $3); | 1476 | LLScriptIdentifier *ac = new LLScriptIdentifier(gLine, gColumn, $3); |
1792 | gAllocationManager->addAllocation(id); | ||
1793 | $$ = new LLScriptLValue(gLine, gColumn, id, ac); | 1477 | $$ = new LLScriptLValue(gLine, gColumn, id, ac); |
1794 | gAllocationManager->addAllocation($$); | ||
1795 | } | 1478 | } |
1796 | ; | 1479 | ; |
1797 | 1480 | ||
diff --git a/LuaSL/src/LuaSL_compile.c b/LuaSL/src/LuaSL_compile.c index f4aa0c6..679af3d 100644 --- a/LuaSL/src/LuaSL_compile.c +++ b/LuaSL/src/LuaSL_compile.c | |||
@@ -6,6 +6,7 @@ Eina_Bool compileLSL(gameGlobals *game, char *script) | |||
6 | Eina_Bool result = EINA_FALSE; | 6 | Eina_Bool result = EINA_FALSE; |
7 | 7 | ||
8 | // Parse the LSL script, validating it and reporting errors. | 8 | // Parse the LSL script, validating it and reporting errors. |
9 | // Just pass all constants and function names through to Lua, assume they are globals there. | ||
9 | 10 | ||
10 | // Take the result of the parse, and convert it into Lua source. | 11 | // Take the result of the parse, and convert it into Lua source. |
11 | // Each LSL script becomes a Lua state. | 12 | // Each LSL script becomes a Lua state. |
diff --git a/LuaSL/src/LuaSL_type_parser.h b/LuaSL/src/LuaSL_type_parser.h index 66c3f5d..76842db 100644 --- a/LuaSL/src/LuaSL_type_parser.h +++ b/LuaSL/src/LuaSL_type_parser.h | |||
@@ -14,8 +14,25 @@ | |||
14 | */ | 14 | */ |
15 | typedef union tagTypeParser | 15 | typedef union tagTypeParser |
16 | { | 16 | { |
17 | SExpression *expression; | 17 | SExpression *expression; |
18 | int value; | 18 | int value; |
19 | int ival; | ||
20 | float fval; | ||
21 | char *sval; | ||
22 | // class LLScriptType *type; | ||
23 | // class LLScriptConstant *constant; | ||
24 | // class LLScriptIdentifier *identifier; | ||
25 | // class LLScriptSimpleAssignable *assignable; | ||
26 | // class LLScriptGlobalVariable *global; | ||
27 | // class LLScriptEvent *event; | ||
28 | // class LLScriptEventHandler *handler; | ||
29 | // class LLScriptExpression *expression; | ||
30 | // class LLScriptStatement *statement; | ||
31 | // class LLScriptGlobalFunctions *global_funcs; | ||
32 | // class LLScriptFunctionDec *global_decl; | ||
33 | // class LLScriptState *state; | ||
34 | // class LLScritpGlobalStorage *global_store; | ||
35 | // class LLScriptScript *script; | ||
19 | }STypeParser; | 36 | }STypeParser; |
20 | 37 | ||
21 | // define the type for flex and bison | 38 | // define the type for flex and bison |
@@ -26,4 +43,3 @@ int yyerror(const char *msg); | |||
26 | 43 | ||
27 | #endif // __TYPE_PARSER_H__ | 44 | #endif // __TYPE_PARSER_H__ |
28 | 45 | ||
29 | |||