aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/LuaSL
diff options
context:
space:
mode:
authorDavid Walter Seikel2012-01-05 08:19:20 +1000
committerDavid Walter Seikel2012-01-05 08:19:20 +1000
commita4b910c8c78242ebbc157ceb164e8fadfc805b27 (patch)
treeca0eb090fc2449e7a8be8685c4e2a06867d417e8 /LuaSL
parentAdded the unadulterated flex and bison source files from the SL viewer. (diff)
downloadSledjHamr-a4b910c8c78242ebbc157ceb164e8fadfc805b27.zip
SledjHamr-a4b910c8c78242ebbc157ceb164e8fadfc805b27.tar.gz
SledjHamr-a4b910c8c78242ebbc157ceb164e8fadfc805b27.tar.bz2
SledjHamr-a4b910c8c78242ebbc157ceb164e8fadfc805b27.tar.xz
Remove most of the constants, we can put them in Lua globals later. Make the LSL parner more like the test one.
Diffstat (limited to 'LuaSL')
-rw-r--r--LuaSL/src/LuaSL_LSL_lexer.l679
-rw-r--r--LuaSL/src/LuaSL_LSL_yaccer.y317
-rw-r--r--LuaSL/src/LuaSL_compile.c1
-rw-r--r--LuaSL/src/LuaSL_type_parser.h22
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
38void count(); 23void count();
39void line_comment(); 24void 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)
56extern "C" { int yylex( void ); }
57extern "C" { int yyparse( void ); }
58extern "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
1250[xX]{H}+ { count(); yylval.ival = strtoul(yytext, NULL, 0); return(INTEGER_CONSTANT); } 1060[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
722LLScriptAllocationManager *gAllocationManager;
723LLScriptScript *gScriptp;
724 167
725// Prototype for the yacc parser entry point 168// Prototype for the yacc parser entry point
726int yyparse(void); 169int yyparse(void);
727 170
728int 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
737BOOL 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
823BOOL 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
835S32 yywrap() 172S32 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 */
15typedef union tagTypeParser 15typedef 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