From a4b910c8c78242ebbc157ceb164e8fadfc805b27 Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Thu, 5 Jan 2012 08:19:20 +1000 Subject: Remove most of the constants, we can put them in Lua globals later. Make the LSL parner more like the test one. --- LuaSL/src/LuaSL_LSL_lexer.l | 679 +----------------------------------------- LuaSL/src/LuaSL_LSL_yaccer.y | 317 -------------------- LuaSL/src/LuaSL_compile.c | 1 + LuaSL/src/LuaSL_type_parser.h | 22 +- 4 files changed, 28 insertions(+), 991 deletions(-) (limited to 'LuaSL') 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) %p 5000 %{ -#include "linden_common.h" + +#include "LuaSL_type_parser.h" +#include "LuaSL_LSLS_yaccer.tab.h" + + // Deal with the fact that lex/yacc generates unreachable code #ifdef LL_WINDOWS #pragma warning (disable : 4018) // warning C4018: signed/unsigned mismatch #pragma warning (disable : 4702) // warning C4702: unreachable code #endif // LL_WINDOWS -#include "llmath.h" -#include "lscript_tree.h" -#include "lscript_typecheck.h" -#include "lscript_resource.h" -#include "indra.y.hpp" -#include "lltimer.h" -#include "indra_constants.h" -#include "llagentconstants.h" -#include "lllslconstants.h" -#include "lluuid.h" -#include "llassetstorage.h" -#include "llpartdata.h" -#include "llvehicleparams.h" -#include "llpermissionsflags.h" -#include "llfollowcamparams.h" -#include "llparcelflags.h" -#include "llregionflags.h" -#include "lscript_http.h" -#include "llclickaction.h" void count(); void line_comment(); @@ -52,14 +37,11 @@ void parse_string(); #define ECHO do { } while (0) -#if defined(__cplusplus) -extern "C" { int yylex( void ); } -extern "C" { int yyparse( void ); } -extern "C" { int yyerror(const char *fmt, ...); } -#endif - %} +%option reentrant noyywrap never-interactive nounistd +%option bison-bridge + %% "//" { gInternalLine++; gInternalColumn = 0; line_comment(); } "/*" { block_comment(); } @@ -121,552 +103,15 @@ extern "C" { int yyerror(const char *fmt, ...); } "http_request" { count(); return(HTTP_REQUEST); } "." { count(); return(PERIOD); } - 0[xX]{H}+ { count(); yylval.ival = strtoul(yytext, NULL, 0); return(INTEGER_CONSTANT); } {N}+ { count(); yylval.ival = strtoul(yytext, NULL, 10); return(INTEGER_CONSTANT); } "TRUE" { count(); yylval.ival = 1; return(INTEGER_TRUE); } "FALSE" { count(); yylval.ival = 0; return(INTEGER_FALSE); } -"STATUS_PHYSICS" { count(); yylval.ival = 0x1; return(INTEGER_CONSTANT); } -"STATUS_ROTATE_X" { count(); yylval.ival = 0x2; return(INTEGER_CONSTANT); } -"STATUS_ROTATE_Y" { count(); yylval.ival = 0x4; return(INTEGER_CONSTANT); } -"STATUS_ROTATE_Z" { count(); yylval.ival = 0x8; return(INTEGER_CONSTANT); } -"STATUS_PHANTOM" { count(); yylval.ival = 0x10; return(INTEGER_CONSTANT); } -"STATUS_SANDBOX" { count(); yylval.ival = 0x20; return(INTEGER_CONSTANT); } -"STATUS_BLOCK_GRAB" { count(); yylval.ival = 0x40; return(INTEGER_CONSTANT); } -"STATUS_DIE_AT_EDGE" { count(); yylval.ival = 0x80; return(INTEGER_CONSTANT); } -"STATUS_RETURN_AT_EDGE" { count(); yylval.ival = 0x100; return(INTEGER_CONSTANT); } -"STATUS_CAST_SHADOWS" { count(); yylval.ival = 0x200; return(INTEGER_CONSTANT); } - -"AGENT_FLYING" { count(); yylval.ival = AGENT_FLYING; return(INTEGER_CONSTANT); } -"AGENT_ATTACHMENTS" { count(); yylval.ival = AGENT_ATTACHMENTS; return(INTEGER_CONSTANT); } -"AGENT_SCRIPTED" { count(); yylval.ival = AGENT_SCRIPTED; return(INTEGER_CONSTANT); } -"AGENT_MOUSELOOK" { count(); yylval.ival = AGENT_MOUSELOOK; return(INTEGER_CONSTANT); } -"AGENT_SITTING" { count(); yylval.ival = AGENT_SITTING; return(INTEGER_CONSTANT); } -"AGENT_ON_OBJECT" { count(); yylval.ival = AGENT_ON_OBJECT; return(INTEGER_CONSTANT); } -"AGENT_AWAY" { count(); yylval.ival = AGENT_AWAY; return(INTEGER_CONSTANT); } -"AGENT_WALKING" { count(); yylval.ival = AGENT_WALKING; return(INTEGER_CONSTANT); } -"AGENT_IN_AIR" { count(); yylval.ival = AGENT_IN_AIR; return(INTEGER_CONSTANT); } -"AGENT_TYPING" { count(); yylval.ival = AGENT_TYPING; return(INTEGER_CONSTANT); } -"AGENT_CROUCHING" { count(); yylval.ival = AGENT_CROUCHING; return(INTEGER_CONSTANT); } -"AGENT_BUSY" { count(); yylval.ival = AGENT_BUSY; return(INTEGER_CONSTANT); } -"AGENT_ALWAYS_RUN" { count(); yylval.ival = AGENT_ALWAYS_RUN; return(INTEGER_CONSTANT); } -"AGENT_AUTOPILOT" { count(); yylval.ival = AGENT_AUTOPILOT; return(INTEGER_CONSTANT); } - -"CAMERA_PITCH" { count(); yylval.ival = FOLLOWCAM_PITCH; return(INTEGER_CONSTANT); } -"CAMERA_FOCUS_OFFSET" { count(); yylval.ival = FOLLOWCAM_FOCUS_OFFSET; return (INTEGER_CONSTANT); } -"CAMERA_POSITION_LAG" { count(); yylval.ival = FOLLOWCAM_POSITION_LAG; return (INTEGER_CONSTANT); } -"CAMERA_FOCUS_LAG" { count(); yylval.ival = FOLLOWCAM_FOCUS_LAG; return (INTEGER_CONSTANT); } -"CAMERA_DISTANCE" { count(); yylval.ival = FOLLOWCAM_DISTANCE; return (INTEGER_CONSTANT); } -"CAMERA_BEHINDNESS_ANGLE" { count(); yylval.ival = FOLLOWCAM_BEHINDNESS_ANGLE; return (INTEGER_CONSTANT); } -"CAMERA_BEHINDNESS_LAG" { count(); yylval.ival = FOLLOWCAM_BEHINDNESS_LAG; return (INTEGER_CONSTANT); } -"CAMERA_POSITION_THRESHOLD" { count(); yylval.ival = FOLLOWCAM_POSITION_THRESHOLD; return (INTEGER_CONSTANT); } -"CAMERA_FOCUS_THRESHOLD" { count(); yylval.ival = FOLLOWCAM_FOCUS_THRESHOLD; return (INTEGER_CONSTANT); } -"CAMERA_ACTIVE" { count(); yylval.ival = FOLLOWCAM_ACTIVE; return (INTEGER_CONSTANT); } -"CAMERA_POSITION" { count(); yylval.ival = FOLLOWCAM_POSITION; return (INTEGER_CONSTANT); } -"CAMERA_FOCUS" { count(); yylval.ival = FOLLOWCAM_FOCUS; return (INTEGER_CONSTANT); } -"CAMERA_POSITION_LOCKED" { count(); yylval.ival = FOLLOWCAM_POSITION_LOCKED; return (INTEGER_CONSTANT); } -"CAMERA_FOCUS_LOCKED" { count(); yylval.ival = FOLLOWCAM_FOCUS_LOCKED; return (INTEGER_CONSTANT); } - -"ANIM_ON" { count(); yylval.ival = 0x1; return(INTEGER_CONSTANT); } -"LOOP" { count(); yylval.ival = 0x2; return(INTEGER_CONSTANT); } -"REVERSE" { count(); yylval.ival = 0x4; return(INTEGER_CONSTANT); } -"PING_PONG" { count(); yylval.ival = 0x8; return(INTEGER_CONSTANT); } -"SMOOTH" { count(); yylval.ival = 0x10; return(INTEGER_CONSTANT); } -"ROTATE" { count(); yylval.ival = 0x20; return(INTEGER_CONSTANT); } -"SCALE" { count(); yylval.ival = 0x40; return(INTEGER_CONSTANT); } - -"ALL_SIDES" { count(); yylval.ival = LSL_ALL_SIDES; return(INTEGER_CONSTANT); } -"LINK_ROOT" { count(); yylval.ival = LSL_LINK_ROOT; return(INTEGER_CONSTANT); } -"LINK_SET" { count(); yylval.ival = LSL_LINK_SET; return(INTEGER_CONSTANT); } -"LINK_ALL_OTHERS" { count(); yylval.ival = LSL_LINK_ALL_OTHERS; return(INTEGER_CONSTANT); } -"LINK_ALL_CHILDREN" { count(); yylval.ival = LSL_LINK_ALL_CHILDREN; return(INTEGER_CONSTANT); } -"LINK_THIS" { count(); yylval.ival = LSL_LINK_THIS; return(INTEGER_CONSTANT); } - -"AGENT" { count(); yylval.ival = 0x1; return(INTEGER_CONSTANT); } -"ACTIVE" { count(); yylval.ival = 0x2; return(INTEGER_CONSTANT); } -"PASSIVE" { count(); yylval.ival = 0x4; return(INTEGER_CONSTANT); } -"SCRIPTED" { count(); yylval.ival = 0x8; return(INTEGER_CONSTANT); } - -"CONTROL_FWD" { count(); yylval.ival = AGENT_CONTROL_AT_POS; return(INTEGER_CONSTANT); } -"CONTROL_BACK" { count(); yylval.ival = AGENT_CONTROL_AT_NEG; return(INTEGER_CONSTANT); } -"CONTROL_LEFT" { count(); yylval.ival = AGENT_CONTROL_LEFT_POS; return(INTEGER_CONSTANT); } -"CONTROL_RIGHT" { count(); yylval.ival = AGENT_CONTROL_LEFT_NEG; return(INTEGER_CONSTANT); } -"CONTROL_ROT_LEFT" { count(); yylval.ival = AGENT_CONTROL_YAW_POS; return(INTEGER_CONSTANT); } -"CONTROL_ROT_RIGHT" { count(); yylval.ival = AGENT_CONTROL_YAW_NEG; return(INTEGER_CONSTANT); } -"CONTROL_UP" { count(); yylval.ival = AGENT_CONTROL_UP_POS; return(INTEGER_CONSTANT); } -"CONTROL_DOWN" { count(); yylval.ival = AGENT_CONTROL_UP_NEG; return(INTEGER_CONSTANT); } -"CONTROL_LBUTTON" { count(); yylval.ival = AGENT_CONTROL_LBUTTON_DOWN; return(INTEGER_CONSTANT); } -"CONTROL_ML_LBUTTON" { count(); yylval.ival = AGENT_CONTROL_ML_LBUTTON_DOWN; return(INTEGER_CONSTANT); } - -"PERMISSION_DEBIT" { count(); yylval.ival = LSCRIPTRunTimePermissionBits[SCRIPT_PERMISSION_DEBIT]; return(INTEGER_CONSTANT); } -"PERMISSION_TAKE_CONTROLS" { count(); yylval.ival = LSCRIPTRunTimePermissionBits[SCRIPT_PERMISSION_TAKE_CONTROLS]; return(INTEGER_CONSTANT); } -"PERMISSION_REMAP_CONTROLS" { count(); yylval.ival = LSCRIPTRunTimePermissionBits[SCRIPT_PERMISSION_REMAP_CONTROLS]; return(INTEGER_CONSTANT); } -"PERMISSION_TRIGGER_ANIMATION" { count(); yylval.ival = LSCRIPTRunTimePermissionBits[SCRIPT_PERMISSION_TRIGGER_ANIMATION]; return(INTEGER_CONSTANT); } -"PERMISSION_ATTACH" { count(); yylval.ival = LSCRIPTRunTimePermissionBits[SCRIPT_PERMISSION_ATTACH]; return(INTEGER_CONSTANT); } -"PERMISSION_RELEASE_OWNERSHIP" { count(); yylval.ival = LSCRIPTRunTimePermissionBits[SCRIPT_PERMISSION_RELEASE_OWNERSHIP]; return(INTEGER_CONSTANT); } -"PERMISSION_CHANGE_LINKS" { count(); yylval.ival = LSCRIPTRunTimePermissionBits[SCRIPT_PERMISSION_CHANGE_LINKS]; return(INTEGER_CONSTANT); } -"PERMISSION_CHANGE_JOINTS" { count(); yylval.ival = LSCRIPTRunTimePermissionBits[SCRIPT_PERMISSION_CHANGE_JOINTS]; return(INTEGER_CONSTANT); } -"PERMISSION_CHANGE_PERMISSIONS" { count(); yylval.ival = LSCRIPTRunTimePermissionBits[SCRIPT_PERMISSION_CHANGE_PERMISSIONS]; return(INTEGER_CONSTANT); } -"PERMISSION_TRACK_CAMERA" { count(); yylval.ival = LSCRIPTRunTimePermissionBits[SCRIPT_PERMISSION_TRACK_CAMERA]; return(INTEGER_CONSTANT); } -"PERMISSION_CONTROL_CAMERA" { count(); yylval.ival = LSCRIPTRunTimePermissionBits[SCRIPT_PERMISSION_CONTROL_CAMERA]; return(INTEGER_CONSTANT); } - -"INVENTORY_TEXTURE" { count(); yylval.ival = LLAssetType::AT_TEXTURE; return(INTEGER_CONSTANT); } -"INVENTORY_SOUND" { count(); yylval.ival = LLAssetType::AT_SOUND; return(INTEGER_CONSTANT); } -"INVENTORY_OBJECT" { count(); yylval.ival = LLAssetType::AT_OBJECT; return(INTEGER_CONSTANT); } -"INVENTORY_SCRIPT" { count(); yylval.ival = LLAssetType::AT_LSL_TEXT; return(INTEGER_CONSTANT); } -"INVENTORY_LANDMARK" { count(); yylval.ival = LLAssetType::AT_LANDMARK; return(INTEGER_CONSTANT); } -"INVENTORY_CLOTHING" { count(); yylval.ival = LLAssetType::AT_CLOTHING; return(INTEGER_CONSTANT); } -"INVENTORY_NOTECARD" { count(); yylval.ival = LLAssetType::AT_NOTECARD; return(INTEGER_CONSTANT); } -"INVENTORY_BODYPART" { count(); yylval.ival = LLAssetType::AT_BODYPART; return(INTEGER_CONSTANT); } -"INVENTORY_ANIMATION" { count(); yylval.ival = LLAssetType::AT_ANIMATION; return(INTEGER_CONSTANT); } -"INVENTORY_GESTURE" { count(); yylval.ival = LLAssetType::AT_GESTURE; return(INTEGER_CONSTANT); } -"INVENTORY_ALL" { count(); yylval.ival = LLAssetType::AT_NONE; return(INTEGER_CONSTANT); } -"INVENTORY_NONE" { count(); yylval.ival = LLAssetType::AT_NONE; return(INTEGER_CONSTANT); } - -"CHANGED_INVENTORY" { count(); yylval.ival = CHANGED_INVENTORY; return(INTEGER_CONSTANT); } -"CHANGED_COLOR" { count(); yylval.ival = CHANGED_COLOR; return(INTEGER_CONSTANT); } -"CHANGED_SHAPE" { count(); yylval.ival = CHANGED_SHAPE; return(INTEGER_CONSTANT); } -"CHANGED_SCALE" { count(); yylval.ival = CHANGED_SCALE; return(INTEGER_CONSTANT); } -"CHANGED_TEXTURE" { count(); yylval.ival = CHANGED_TEXTURE; return(INTEGER_CONSTANT); } -"CHANGED_LINK" { count(); yylval.ival = CHANGED_LINK; return(INTEGER_CONSTANT); } -"CHANGED_ALLOWED_DROP" { count(); yylval.ival = CHANGED_ALLOWED_DROP; return(INTEGER_CONSTANT); } -"CHANGED_OWNER" { count(); yylval.ival = CHANGED_OWNER; return(INTEGER_CONSTANT); } -"CHANGED_REGION" { count(); yylval.ival = CHANGED_REGION; return(INTEGER_CONSTANT); } -"CHANGED_TELEPORT" { count(); yylval.ival = CHANGED_TELEPORT; return(INTEGER_CONSTANT); } -"CHANGED_REGION_START" { count(); yylval.ival = CHANGED_REGION_START; return(INTEGER_CONSTANT); } -"CHANGED_MEDIA" { count(); yylval.ival = CHANGED_MEDIA; return(INTEGER_CONSTANT); } - -"OBJECT_UNKNOWN_DETAIL" { count(); yylval.ival = OBJECT_UNKNOWN_DETAIL; return(INTEGER_CONSTANT); } -"OBJECT_NAME" { count(); yylval.ival = OBJECT_NAME; return(INTEGER_CONSTANT); } -"OBJECT_DESC" { count(); yylval.ival = OBJECT_DESC; return(INTEGER_CONSTANT); } -"OBJECT_POS" { count(); yylval.ival = OBJECT_POS; return(INTEGER_CONSTANT); } -"OBJECT_ROT" { count(); yylval.ival = OBJECT_ROT; return(INTEGER_CONSTANT); } -"OBJECT_VELOCITY" { count(); yylval.ival = OBJECT_VELOCITY; return(INTEGER_CONSTANT); } -"OBJECT_OWNER" { count(); yylval.ival = OBJECT_OWNER; return(INTEGER_CONSTANT); } -"OBJECT_GROUP" { count(); yylval.ival = OBJECT_GROUP; return(INTEGER_CONSTANT); } -"OBJECT_CREATOR" { count(); yylval.ival = OBJECT_CREATOR; return(INTEGER_CONSTANT); } - -"TYPE_INTEGER" { count(); yylval.ival = LST_INTEGER; return(INTEGER_CONSTANT); } -"TYPE_FLOAT" { count(); yylval.ival = LST_FLOATINGPOINT; return(INTEGER_CONSTANT); } -"TYPE_STRING" { count(); yylval.ival = LST_STRING; return(INTEGER_CONSTANT); } -"TYPE_KEY" { count(); yylval.ival = LST_KEY; return(INTEGER_CONSTANT); } -"TYPE_VECTOR" { count(); yylval.ival = LST_VECTOR; return(INTEGER_CONSTANT); } -"TYPE_ROTATION" { count(); yylval.ival = LST_QUATERNION; return(INTEGER_CONSTANT); } -"TYPE_INVALID" { count(); yylval.ival = LST_NULL; return(INTEGER_CONSTANT); } - -"NULL_KEY" { yylval.sval = new char[UUID_STR_LENGTH]; strcpy(yylval.sval, "00000000-0000-0000-0000-000000000000"); return(STRING_CONSTANT); } -"EOF" { yylval.sval = new char[UUID_STR_LENGTH]; strcpy(yylval.sval, "\n\n\n"); return(STRING_CONSTANT); } -"URL_REQUEST_GRANTED" { yylval.sval = new char[UUID_STR_LENGTH]; strcpy(yylval.sval, URL_REQUEST_GRANTED); return(STRING_CONSTANT); } -"URL_REQUEST_DENIED" { yylval.sval = new char[UUID_STR_LENGTH]; strcpy(yylval.sval, URL_REQUEST_DENIED); return(STRING_CONSTANT); } - -"PI" { count(); yylval.fval = F_PI; return(FP_CONSTANT); } -"TWO_PI" { count(); yylval.fval = F_TWO_PI; return(FP_CONSTANT); } -"PI_BY_TWO" { count(); yylval.fval = F_PI_BY_TWO; return(FP_CONSTANT); } -"DEG_TO_RAD" { count(); yylval.fval = DEG_TO_RAD; return(FP_CONSTANT); } -"RAD_TO_DEG" { count(); yylval.fval = RAD_TO_DEG; return(FP_CONSTANT); } -"SQRT2" { count(); yylval.fval = F_SQRT2; return(FP_CONSTANT); } - -"DEBUG_CHANNEL" { count(); yylval.ival = CHAT_CHANNEL_DEBUG; return(INTEGER_CONSTANT); } -"PUBLIC_CHANNEL" { count(); yylval.ival = 0; return(INTEGER_CONSTANT); } - -"ZERO_VECTOR" { count(); return(ZERO_VECTOR); } -"ZERO_ROTATION" { count(); return(ZERO_ROTATION); } - -"ATTACH_CHEST" { count(); yylval.ival = 1; return(INTEGER_CONSTANT); } -"ATTACH_HEAD" { count(); yylval.ival = 2; return(INTEGER_CONSTANT); } -"ATTACH_LSHOULDER" { count(); yylval.ival = 3; return(INTEGER_CONSTANT); } -"ATTACH_RSHOULDER" { count(); yylval.ival = 4; return(INTEGER_CONSTANT); } -"ATTACH_LHAND" { count(); yylval.ival = 5; return(INTEGER_CONSTANT); } -"ATTACH_RHAND" { count(); yylval.ival = 6; return(INTEGER_CONSTANT); } -"ATTACH_LFOOT" { count(); yylval.ival = 7; return(INTEGER_CONSTANT); } -"ATTACH_RFOOT" { count(); yylval.ival = 8; return(INTEGER_CONSTANT); } -"ATTACH_BACK" { count(); yylval.ival = 9; return(INTEGER_CONSTANT); } -"ATTACH_PELVIS" { count(); yylval.ival = 10; return(INTEGER_CONSTANT); } -"ATTACH_MOUTH" { count(); yylval.ival = 11; return(INTEGER_CONSTANT); } -"ATTACH_CHIN" { count(); yylval.ival = 12; return(INTEGER_CONSTANT); } -"ATTACH_LEAR" { count(); yylval.ival = 13; return(INTEGER_CONSTANT); } -"ATTACH_REAR" { count(); yylval.ival = 14; return(INTEGER_CONSTANT); } -"ATTACH_LEYE" { count(); yylval.ival = 15; return(INTEGER_CONSTANT); } -"ATTACH_REYE" { count(); yylval.ival = 16; return(INTEGER_CONSTANT); } -"ATTACH_NOSE" { count(); yylval.ival = 17; return(INTEGER_CONSTANT); } -"ATTACH_RUARM" { count(); yylval.ival = 18; return(INTEGER_CONSTANT); } -"ATTACH_RLARM" { count(); yylval.ival = 19; return(INTEGER_CONSTANT); } -"ATTACH_LUARM" { count(); yylval.ival = 20; return(INTEGER_CONSTANT); } -"ATTACH_LLARM" { count(); yylval.ival = 21; return(INTEGER_CONSTANT); } -"ATTACH_RHIP" { count(); yylval.ival = 22; return(INTEGER_CONSTANT); } -"ATTACH_RULEG" { count(); yylval.ival = 23; return(INTEGER_CONSTANT); } -"ATTACH_RLLEG" { count(); yylval.ival = 24; return(INTEGER_CONSTANT); } -"ATTACH_LHIP" { count(); yylval.ival = 25; return(INTEGER_CONSTANT); } -"ATTACH_LULEG" { count(); yylval.ival = 26; return(INTEGER_CONSTANT); } -"ATTACH_LLLEG" { count(); yylval.ival = 27; return(INTEGER_CONSTANT); } -"ATTACH_BELLY" { count(); yylval.ival = 28; return(INTEGER_CONSTANT); } -"ATTACH_RPEC" { count(); yylval.ival = 29; return(INTEGER_CONSTANT); } -"ATTACH_LPEC" { count(); yylval.ival = 30; return(INTEGER_CONSTANT); } -"ATTACH_HUD_CENTER_2" { count(); yylval.ival = 31; return(INTEGER_CONSTANT); } -"ATTACH_HUD_TOP_RIGHT" { count(); yylval.ival = 32; return(INTEGER_CONSTANT); } -"ATTACH_HUD_TOP_CENTER" { count(); yylval.ival = 33; return(INTEGER_CONSTANT); } -"ATTACH_HUD_TOP_LEFT" { count(); yylval.ival = 34; return(INTEGER_CONSTANT); } -"ATTACH_HUD_CENTER_1" { count(); yylval.ival = 35; return(INTEGER_CONSTANT); } -"ATTACH_HUD_BOTTOM_LEFT" { count(); yylval.ival = 36; return(INTEGER_CONSTANT); } -"ATTACH_HUD_BOTTOM" { count(); yylval.ival = 37; return(INTEGER_CONSTANT); } -"ATTACH_HUD_BOTTOM_RIGHT" { count(); yylval.ival = 38; return(INTEGER_CONSTANT); } - -"LAND_LEVEL" { count(); yylval.ival = E_LANDBRUSH_LEVEL; return(INTEGER_CONSTANT); } -"LAND_RAISE" { count(); yylval.ival = E_LANDBRUSH_RAISE; return(INTEGER_CONSTANT); } -"LAND_LOWER" { count(); yylval.ival = E_LANDBRUSH_LOWER; return(INTEGER_CONSTANT); } -"LAND_SMOOTH" { count(); yylval.ival = E_LANDBRUSH_SMOOTH; return(INTEGER_CONSTANT); } -"LAND_NOISE" { count(); yylval.ival = E_LANDBRUSH_NOISE; return(INTEGER_CONSTANT); } -"LAND_REVERT" { count(); yylval.ival = E_LANDBRUSH_REVERT; return(INTEGER_CONSTANT); } - -"LAND_SMALL_BRUSH" { count(); yylval.ival = 1; return(INTEGER_CONSTANT); } -"LAND_MEDIUM_BRUSH" { count(); yylval.ival = 2; return(INTEGER_CONSTANT); } -"LAND_LARGE_BRUSH" { count(); yylval.ival = 3; return(INTEGER_CONSTANT); } - -"DATA_ONLINE" { count(); yylval.ival = 1; return(INTEGER_CONSTANT); } -"DATA_NAME" { count(); yylval.ival = 2; return(INTEGER_CONSTANT); } -"DATA_BORN" { count(); yylval.ival = 3; return(INTEGER_CONSTANT); } -"DATA_RATING" { count(); yylval.ival = 4; return(INTEGER_CONSTANT); } -"DATA_SIM_POS" { count(); yylval.ival = 5; return(INTEGER_CONSTANT); } -"DATA_SIM_STATUS" { count(); yylval.ival = 6; return(INTEGER_CONSTANT); } -"DATA_SIM_RATING" { count(); yylval.ival = 7; return(INTEGER_CONSTANT); } -"DATA_PAYINFO" { count(); yylval.ival = 8; return(INTEGER_CONSTANT); } - -"PAYMENT_INFO_ON_FILE" { count(); yylval.ival = 1; return(INTEGER_CONSTANT); } -"PAYMENT_INFO_USED" { count(); yylval.ival = 2; return(INTEGER_CONSTANT); } - -"REMOTE_DATA_CHANNEL" { count(); yylval.ival = LSL_REMOTE_DATA_CHANNEL; return(INTEGER_CONSTANT); } -"REMOTE_DATA_REQUEST" { count(); yylval.ival = LSL_REMOTE_DATA_REQUEST; return(INTEGER_CONSTANT); } -"REMOTE_DATA_REPLY" { count(); yylval.ival = LSL_REMOTE_DATA_REPLY; return(INTEGER_CONSTANT); } - - -"PSYS_PART_FLAGS" { count(); yylval.ival = LLPS_PART_FLAGS; return(INTEGER_CONSTANT); } -"PSYS_PART_START_COLOR" { count(); yylval.ival = LLPS_PART_START_COLOR; return (INTEGER_CONSTANT); } -"PSYS_PART_START_ALPHA" { count(); yylval.ival = LLPS_PART_START_ALPHA; return (INTEGER_CONSTANT); } -"PSYS_PART_START_SCALE" { count(); yylval.ival = LLPS_PART_START_SCALE; return (INTEGER_CONSTANT); } -"PSYS_PART_END_COLOR" { count(); yylval.ival = LLPS_PART_END_COLOR; return (INTEGER_CONSTANT); } -"PSYS_PART_END_ALPHA" { count(); yylval.ival = LLPS_PART_END_ALPHA; return (INTEGER_CONSTANT); } -"PSYS_PART_END_SCALE" { count(); yylval.ival = LLPS_PART_END_SCALE; return (INTEGER_CONSTANT); } -"PSYS_PART_MAX_AGE" { count(); yylval.ival = LLPS_PART_MAX_AGE; return (INTEGER_CONSTANT); } - - -"PSYS_PART_WIND_MASK" { count(); yylval.ival = LLPartData::LL_PART_WIND_MASK; return(INTEGER_CONSTANT); } -"PSYS_PART_INTERP_COLOR_MASK" { count(); yylval.ival = LLPartData::LL_PART_INTERP_COLOR_MASK; return(INTEGER_CONSTANT); } -"PSYS_PART_INTERP_SCALE_MASK" { count(); yylval.ival = LLPartData::LL_PART_INTERP_SCALE_MASK; return(INTEGER_CONSTANT); } -"PSYS_PART_BOUNCE_MASK" { count(); yylval.ival = LLPartData::LL_PART_BOUNCE_MASK; return(INTEGER_CONSTANT); } -"PSYS_PART_FOLLOW_SRC_MASK" { count(); yylval.ival = LLPartData::LL_PART_FOLLOW_SRC_MASK; return(INTEGER_CONSTANT); } -"PSYS_PART_FOLLOW_VELOCITY_MASK" { count(); yylval.ival = LLPartData::LL_PART_FOLLOW_VELOCITY_MASK; return(INTEGER_CONSTANT); } -"PSYS_PART_TARGET_POS_MASK" { count(); yylval.ival = LLPartData::LL_PART_TARGET_POS_MASK; return(INTEGER_CONSTANT); } -"PSYS_PART_EMISSIVE_MASK" { count(); yylval.ival = LLPartData::LL_PART_EMISSIVE_MASK; return(INTEGER_CONSTANT); } -"PSYS_PART_TARGET_LINEAR_MASK" { count(); yylval.ival = LLPartData::LL_PART_TARGET_LINEAR_MASK; return(INTEGER_CONSTANT); } - - -"PSYS_SRC_MAX_AGE" { count(); yylval.ival = LLPS_SRC_MAX_AGE; return(INTEGER_CONSTANT); } -"PSYS_SRC_PATTERN" { count(); yylval.ival = LLPS_SRC_PATTERN; return(INTEGER_CONSTANT); } -"PSYS_SRC_INNERANGLE" { count(); yylval.ival = LLPS_SRC_INNERANGLE; return(INTEGER_CONSTANT); } -"PSYS_SRC_OUTERANGLE" { count(); yylval.ival = LLPS_SRC_OUTERANGLE; return(INTEGER_CONSTANT); } -"PSYS_SRC_ANGLE_BEGIN" { count(); yylval.ival = LLPS_SRC_ANGLE_BEGIN; return(INTEGER_CONSTANT); } -"PSYS_SRC_ANGLE_END" { count(); yylval.ival = LLPS_SRC_ANGLE_END; return(INTEGER_CONSTANT); } -"PSYS_SRC_BURST_RATE" { count(); yylval.ival = LLPS_SRC_BURST_RATE; return(INTEGER_CONSTANT); } -"PSYS_SRC_BURST_PART_COUNT" { count(); yylval.ival = LLPS_SRC_BURST_PART_COUNT; return(INTEGER_CONSTANT); } -"PSYS_SRC_BURST_RADIUS" { count(); yylval.ival = LLPS_SRC_BURST_RADIUS; return(INTEGER_CONSTANT); } -"PSYS_SRC_BURST_SPEED_MIN" { count(); yylval.ival = LLPS_SRC_BURST_SPEED_MIN; return(INTEGER_CONSTANT); } -"PSYS_SRC_BURST_SPEED_MAX" { count(); yylval.ival = LLPS_SRC_BURST_SPEED_MAX; return(INTEGER_CONSTANT); } -"PSYS_SRC_ACCEL" { count(); yylval.ival = LLPS_SRC_ACCEL; return(INTEGER_CONSTANT); } -"PSYS_SRC_TEXTURE" { count(); yylval.ival = LLPS_SRC_TEXTURE; return(INTEGER_CONSTANT); } -"PSYS_SRC_TARGET_KEY" { count(); yylval.ival = LLPS_SRC_TARGET_UUID; return(INTEGER_CONSTANT); } -"PSYS_SRC_OMEGA" { count(); yylval.ival = LLPS_SRC_OMEGA; return(INTEGER_CONSTANT); } - -"PSYS_SRC_OBJ_REL_MASK" { count(); yylval.ival = LLPartSysData::LL_PART_SRC_OBJ_REL_MASK; return(INTEGER_CONSTANT); } - -"PSYS_SRC_PATTERN_DROP" { count(); yylval.ival = LLPartSysData::LL_PART_SRC_PATTERN_DROP; return(INTEGER_CONSTANT); } -"PSYS_SRC_PATTERN_EXPLODE" { count(); yylval.ival = LLPartSysData::LL_PART_SRC_PATTERN_EXPLODE; return(INTEGER_CONSTANT); } -"PSYS_SRC_PATTERN_ANGLE" { count(); yylval.ival = LLPartSysData::LL_PART_SRC_PATTERN_ANGLE; return(INTEGER_CONSTANT); } -"PSYS_SRC_PATTERN_ANGLE_CONE" { count(); yylval.ival = LLPartSysData::LL_PART_SRC_PATTERN_ANGLE_CONE; return(INTEGER_CONSTANT); } -"PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY" { count(); yylval.ival = LLPartSysData::LL_PART_SRC_PATTERN_ANGLE_CONE_EMPTY; return(INTEGER_CONSTANT); } - - -"VEHICLE_TYPE_NONE" { count(); yylval.ival = VEHICLE_TYPE_NONE; return(INTEGER_CONSTANT); } -"VEHICLE_TYPE_SLED" { count(); yylval.ival = VEHICLE_TYPE_SLED; return(INTEGER_CONSTANT); } -"VEHICLE_TYPE_CAR" { count(); yylval.ival = VEHICLE_TYPE_CAR; return(INTEGER_CONSTANT); } -"VEHICLE_TYPE_BOAT" { count(); yylval.ival = VEHICLE_TYPE_BOAT; return(INTEGER_CONSTANT); } -"VEHICLE_TYPE_AIRPLANE" { count(); yylval.ival = VEHICLE_TYPE_AIRPLANE; return(INTEGER_CONSTANT); } -"VEHICLE_TYPE_BALLOON" { count(); yylval.ival = VEHICLE_TYPE_BALLOON; return(INTEGER_CONSTANT); } - -"VEHICLE_REFERENCE_FRAME" { count(); yylval.ival = VEHICLE_REFERENCE_FRAME; return(INTEGER_CONSTANT); } -"VEHICLE_LINEAR_FRICTION_TIMESCALE" { count(); yylval.ival = VEHICLE_LINEAR_FRICTION_TIMESCALE; return(INTEGER_CONSTANT); } -"VEHICLE_ANGULAR_FRICTION_TIMESCALE" { count(); yylval.ival = VEHICLE_ANGULAR_FRICTION_TIMESCALE; return(INTEGER_CONSTANT); } -"VEHICLE_LINEAR_MOTOR_DIRECTION" { count(); yylval.ival = VEHICLE_LINEAR_MOTOR_DIRECTION; return(INTEGER_CONSTANT); } -"VEHICLE_ANGULAR_MOTOR_DIRECTION" { count(); yylval.ival = VEHICLE_ANGULAR_MOTOR_DIRECTION; return(INTEGER_CONSTANT); } -"VEHICLE_LINEAR_MOTOR_OFFSET" { count(); yylval.ival = VEHICLE_LINEAR_MOTOR_OFFSET; return(INTEGER_CONSTANT); } - - - -"VEHICLE_HOVER_HEIGHT" { count(); yylval.ival = VEHICLE_HOVER_HEIGHT; return(INTEGER_CONSTANT); } -"VEHICLE_HOVER_EFFICIENCY" { count(); yylval.ival = VEHICLE_HOVER_EFFICIENCY; return(INTEGER_CONSTANT); } -"VEHICLE_HOVER_TIMESCALE" { count(); yylval.ival = VEHICLE_HOVER_TIMESCALE; return(INTEGER_CONSTANT); } -"VEHICLE_BUOYANCY" { count(); yylval.ival = VEHICLE_BUOYANCY; return(INTEGER_CONSTANT); } - -"VEHICLE_LINEAR_DEFLECTION_EFFICIENCY" { count(); yylval.ival = VEHICLE_LINEAR_DEFLECTION_EFFICIENCY; return(INTEGER_CONSTANT); } -"VEHICLE_LINEAR_DEFLECTION_TIMESCALE" { count(); yylval.ival = VEHICLE_LINEAR_DEFLECTION_TIMESCALE; return(INTEGER_CONSTANT); } -"VEHICLE_LINEAR_MOTOR_TIMESCALE" { count(); yylval.ival = VEHICLE_LINEAR_MOTOR_TIMESCALE; return(INTEGER_CONSTANT); } -"VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE" { count(); yylval.ival = VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE; return(INTEGER_CONSTANT); } - -"VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY" { count(); yylval.ival = VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY; return(INTEGER_CONSTANT); } -"VEHICLE_ANGULAR_DEFLECTION_TIMESCALE" { count(); yylval.ival = VEHICLE_ANGULAR_DEFLECTION_TIMESCALE; return(INTEGER_CONSTANT); } -"VEHICLE_ANGULAR_MOTOR_TIMESCALE" { count(); yylval.ival = VEHICLE_ANGULAR_MOTOR_TIMESCALE; return(INTEGER_CONSTANT); } -"VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE" { count(); yylval.ival = VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE; return(INTEGER_CONSTANT); } - -"VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY" { count(); yylval.ival = VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY; return(INTEGER_CONSTANT); } -"VEHICLE_VERTICAL_ATTRACTION_TIMESCALE" { count(); yylval.ival = VEHICLE_VERTICAL_ATTRACTION_TIMESCALE; return(INTEGER_CONSTANT); } - -"VEHICLE_BANKING_EFFICIENCY" { count(); yylval.ival = VEHICLE_BANKING_EFFICIENCY; return(INTEGER_CONSTANT); } -"VEHICLE_BANKING_MIX" { count(); yylval.ival = VEHICLE_BANKING_MIX; return(INTEGER_CONSTANT); } -"VEHICLE_BANKING_TIMESCALE" { count(); yylval.ival = VEHICLE_BANKING_TIMESCALE; return(INTEGER_CONSTANT); } - -"VEHICLE_FLAG_NO_FLY_UP" { count(); yylval.ival = VEHICLE_FLAG_NO_DEFLECTION_UP; return(INTEGER_CONSTANT); } -"VEHICLE_FLAG_NO_DEFLECTION_UP" { count(); yylval.ival = VEHICLE_FLAG_NO_DEFLECTION_UP; return(INTEGER_CONSTANT); } -"VEHICLE_FLAG_LIMIT_ROLL_ONLY" { count(); yylval.ival = VEHICLE_FLAG_LIMIT_ROLL_ONLY; return(INTEGER_CONSTANT); } -"VEHICLE_FLAG_HOVER_WATER_ONLY" { count(); yylval.ival = VEHICLE_FLAG_HOVER_WATER_ONLY; return(INTEGER_CONSTANT); } -"VEHICLE_FLAG_HOVER_TERRAIN_ONLY" { count(); yylval.ival = VEHICLE_FLAG_HOVER_TERRAIN_ONLY; return(INTEGER_CONSTANT); } -"VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT" { count(); yylval.ival = VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT; return(INTEGER_CONSTANT); } -"VEHICLE_FLAG_HOVER_UP_ONLY" { count(); yylval.ival = VEHICLE_FLAG_HOVER_UP_ONLY; return(INTEGER_CONSTANT); } -"VEHICLE_FLAG_LIMIT_MOTOR_UP" { count(); yylval.ival = VEHICLE_FLAG_LIMIT_MOTOR_UP; return(INTEGER_CONSTANT); } -"VEHICLE_FLAG_MOUSELOOK_STEER" { count(); yylval.ival = VEHICLE_FLAG_MOUSELOOK_STEER; return(INTEGER_CONSTANT); } -"VEHICLE_FLAG_MOUSELOOK_BANK" { count(); yylval.ival = VEHICLE_FLAG_MOUSELOOK_BANK; return(INTEGER_CONSTANT); } -"VEHICLE_FLAG_CAMERA_DECOUPLED" { count(); yylval.ival = VEHICLE_FLAG_CAMERA_DECOUPLED; return(INTEGER_CONSTANT); } - - - -"PRIM_TYPE" { count(); yylval.ival = LSL_PRIM_TYPE; return(INTEGER_CONSTANT); } -"PRIM_MATERIAL" { count(); yylval.ival = LSL_PRIM_MATERIAL; return(INTEGER_CONSTANT); } -"PRIM_PHYSICS" { count(); yylval.ival = LSL_PRIM_PHYSICS; return(INTEGER_CONSTANT); } -"PRIM_FLEXIBLE" { count(); yylval.ival = LSL_PRIM_FLEXIBLE; return(INTEGER_CONSTANT); } -"PRIM_POINT_LIGHT" { count(); yylval.ival = LSL_PRIM_POINT_LIGHT; return(INTEGER_CONSTANT); } -"PRIM_TEMP_ON_REZ" { count(); yylval.ival = LSL_PRIM_TEMP_ON_REZ; return(INTEGER_CONSTANT); } -"PRIM_PHANTOM" { count(); yylval.ival = LSL_PRIM_PHANTOM; return(INTEGER_CONSTANT); } -"PRIM_CAST_SHADOWS" { count(); yylval.ival = LSL_PRIM_CAST_SHADOWS; return(INTEGER_CONSTANT); } -"PRIM_POSITION" { count(); yylval.ival = LSL_PRIM_POSITION; return(INTEGER_CONSTANT); } -"PRIM_SIZE" { count(); yylval.ival = LSL_PRIM_SIZE; return(INTEGER_CONSTANT); } -"PRIM_ROTATION" { count(); yylval.ival = LSL_PRIM_ROTATION; return(INTEGER_CONSTANT); } -"PRIM_TEXTURE" { count(); yylval.ival = LSL_PRIM_TEXTURE; return(INTEGER_CONSTANT); } -"PRIM_COLOR" { count(); yylval.ival = LSL_PRIM_COLOR; return(INTEGER_CONSTANT); } -"PRIM_BUMP_SHINY" { count(); yylval.ival = LSL_PRIM_BUMP_SHINY; return(INTEGER_CONSTANT); } -"PRIM_FULLBRIGHT" { count(); yylval.ival = LSL_PRIM_FULLBRIGHT; return(INTEGER_CONSTANT); } -"PRIM_TEXGEN" { count(); yylval.ival = LSL_PRIM_TEXGEN; return(INTEGER_CONSTANT); } -"PRIM_GLOW" { count(); yylval.ival = LSL_PRIM_GLOW; return(INTEGER_CONSTANT); } -"PRIM_TEXT" { count(); yylval.ival = LSL_PRIM_TEXT; return(INTEGER_CONSTANT); } -"PRIM_NAME" { count(); yylval.ival = LSL_PRIM_NAME; return(INTEGER_CONSTANT); } -"PRIM_DESC" { count(); yylval.ival = LSL_PRIM_DESC; return(INTEGER_CONSTANT); } - -"PRIM_TYPE_BOX" { count(); yylval.ival = LSL_PRIM_TYPE_BOX; return(INTEGER_CONSTANT); } -"PRIM_TYPE_CYLINDER" { count(); yylval.ival = LSL_PRIM_TYPE_CYLINDER; return(INTEGER_CONSTANT); } -"PRIM_TYPE_PRISM" { count(); yylval.ival = LSL_PRIM_TYPE_PRISM; return(INTEGER_CONSTANT); } -"PRIM_TYPE_SPHERE" { count(); yylval.ival = LSL_PRIM_TYPE_SPHERE; return(INTEGER_CONSTANT); } -"PRIM_TYPE_TORUS" { count(); yylval.ival = LSL_PRIM_TYPE_TORUS; return(INTEGER_CONSTANT); } -"PRIM_TYPE_TUBE" { count(); yylval.ival = LSL_PRIM_TYPE_TUBE; return(INTEGER_CONSTANT); } -"PRIM_TYPE_RING" { count(); yylval.ival = LSL_PRIM_TYPE_RING; return(INTEGER_CONSTANT); } -"PRIM_TYPE_SCULPT" { count(); yylval.ival = LSL_PRIM_TYPE_SCULPT; return(INTEGER_CONSTANT); } - -"PRIM_HOLE_DEFAULT" { count(); yylval.ival = LSL_PRIM_HOLE_DEFAULT; return(INTEGER_CONSTANT); } -"PRIM_HOLE_CIRCLE" { count(); yylval.ival = LSL_PRIM_HOLE_CIRCLE; return(INTEGER_CONSTANT); } -"PRIM_HOLE_SQUARE" { count(); yylval.ival = LSL_PRIM_HOLE_SQUARE; return(INTEGER_CONSTANT); } -"PRIM_HOLE_TRIANGLE" { count(); yylval.ival = LSL_PRIM_HOLE_TRIANGLE; return(INTEGER_CONSTANT); } - -"PRIM_MATERIAL_STONE" { count(); yylval.ival = LSL_PRIM_MATERIAL_STONE; return(INTEGER_CONSTANT); } -"PRIM_MATERIAL_METAL" { count(); yylval.ival = LSL_PRIM_MATERIAL_METAL; return(INTEGER_CONSTANT); } -"PRIM_MATERIAL_GLASS" { count(); yylval.ival = LSL_PRIM_MATERIAL_GLASS; return(INTEGER_CONSTANT); } -"PRIM_MATERIAL_WOOD" { count(); yylval.ival = LSL_PRIM_MATERIAL_WOOD; return(INTEGER_CONSTANT); } -"PRIM_MATERIAL_FLESH" { count(); yylval.ival = LSL_PRIM_MATERIAL_FLESH; return(INTEGER_CONSTANT); } -"PRIM_MATERIAL_PLASTIC" { count(); yylval.ival = LSL_PRIM_MATERIAL_PLASTIC; return(INTEGER_CONSTANT); } -"PRIM_MATERIAL_RUBBER" { count(); yylval.ival = LSL_PRIM_MATERIAL_RUBBER; return(INTEGER_CONSTANT); } -"PRIM_MATERIAL_LIGHT" { count(); yylval.ival = LSL_PRIM_MATERIAL_LIGHT; return(INTEGER_CONSTANT); } - -"PRIM_SHINY_NONE" { count(); yylval.ival = LSL_PRIM_SHINY_NONE; return(INTEGER_CONSTANT); } -"PRIM_SHINY_LOW" { count(); yylval.ival = LSL_PRIM_SHINY_LOW; return(INTEGER_CONSTANT); } -"PRIM_SHINY_MEDIUM" { count(); yylval.ival = LSL_PRIM_SHINY_MEDIUM; return(INTEGER_CONSTANT); } -"PRIM_SHINY_HIGH" { count(); yylval.ival = LSL_PRIM_SHINY_HIGH; return(INTEGER_CONSTANT); } - -"PRIM_BUMP_NONE" { count(); yylval.ival = LSL_PRIM_BUMP_NONE; return(INTEGER_CONSTANT); } -"PRIM_BUMP_BRIGHT" { count(); yylval.ival = LSL_PRIM_BUMP_BRIGHT; return(INTEGER_CONSTANT); } -"PRIM_BUMP_DARK" { count(); yylval.ival = LSL_PRIM_BUMP_DARK; return(INTEGER_CONSTANT); } -"PRIM_BUMP_WOOD" { count(); yylval.ival = LSL_PRIM_BUMP_WOOD; return(INTEGER_CONSTANT); } -"PRIM_BUMP_BARK" { count(); yylval.ival = LSL_PRIM_BUMP_BARK; return(INTEGER_CONSTANT); } -"PRIM_BUMP_BRICKS" { count(); yylval.ival = LSL_PRIM_BUMP_BRICKS; return(INTEGER_CONSTANT); } -"PRIM_BUMP_CHECKER" { count(); yylval.ival = LSL_PRIM_BUMP_CHECKER; return(INTEGER_CONSTANT); } -"PRIM_BUMP_CONCRETE" { count(); yylval.ival = LSL_PRIM_BUMP_CONCRETE; return(INTEGER_CONSTANT); } -"PRIM_BUMP_TILE" { count(); yylval.ival = LSL_PRIM_BUMP_TILE; return(INTEGER_CONSTANT); } -"PRIM_BUMP_STONE" { count(); yylval.ival = LSL_PRIM_BUMP_STONE; return(INTEGER_CONSTANT); } -"PRIM_BUMP_DISKS" { count(); yylval.ival = LSL_PRIM_BUMP_DISKS; return(INTEGER_CONSTANT); } -"PRIM_BUMP_GRAVEL" { count(); yylval.ival = LSL_PRIM_BUMP_GRAVEL; return(INTEGER_CONSTANT); } -"PRIM_BUMP_BLOBS" { count(); yylval.ival = LSL_PRIM_BUMP_BLOBS; return(INTEGER_CONSTANT); } -"PRIM_BUMP_SIDING" { count(); yylval.ival = LSL_PRIM_BUMP_SIDING; return(INTEGER_CONSTANT); } -"PRIM_BUMP_LARGETILE" { count(); yylval.ival = LSL_PRIM_BUMP_LARGETILE; return(INTEGER_CONSTANT); } -"PRIM_BUMP_STUCCO" { count(); yylval.ival = LSL_PRIM_BUMP_STUCCO; return(INTEGER_CONSTANT); } -"PRIM_BUMP_SUCTION" { count(); yylval.ival = LSL_PRIM_BUMP_SUCTION; return(INTEGER_CONSTANT); } -"PRIM_BUMP_WEAVE" { count(); yylval.ival = LSL_PRIM_BUMP_WEAVE; return(INTEGER_CONSTANT); } - -"PRIM_TEXGEN_DEFAULT" { count(); yylval.ival = LSL_PRIM_TEXGEN_DEFAULT; return(INTEGER_CONSTANT); } -"PRIM_TEXGEN_PLANAR" { count(); yylval.ival = LSL_PRIM_TEXGEN_PLANAR; return(INTEGER_CONSTANT); } - -"PRIM_SCULPT_TYPE_SPHERE" { count(); yylval.ival = LSL_PRIM_SCULPT_TYPE_SPHERE; return(INTEGER_CONSTANT); } -"PRIM_SCULPT_TYPE_TORUS" { count(); yylval.ival = LSL_PRIM_SCULPT_TYPE_TORUS; return(INTEGER_CONSTANT); } -"PRIM_SCULPT_TYPE_PLANE" { count(); yylval.ival = LSL_PRIM_SCULPT_TYPE_PLANE; return(INTEGER_CONSTANT); } -"PRIM_SCULPT_TYPE_CYLINDER" { count(); yylval.ival = LSL_PRIM_SCULPT_TYPE_CYLINDER; return(INTEGER_CONSTANT); } -"PRIM_SCULPT_TYPE_MASK" { count(); yylval.ival = LSL_PRIM_SCULPT_TYPE_MASK; return(INTEGER_CONSTANT); } -"PRIM_SCULPT_FLAG_MIRROR" { count(); yylval.ival = LSL_PRIM_SCULPT_FLAG_MIRROR; return(INTEGER_CONSTANT); } -"PRIM_SCULPT_FLAG_INVERT" { count(); yylval.ival = LSL_PRIM_SCULPT_FLAG_INVERT; return(INTEGER_CONSTANT); } - -"MASK_BASE" { count(); yylval.ival = 0; return(INTEGER_CONSTANT); } -"MASK_OWNER" { count(); yylval.ival = 1; return(INTEGER_CONSTANT); } -"MASK_GROUP" { count(); yylval.ival = 2; return(INTEGER_CONSTANT); } -"MASK_EVERYONE" { count(); yylval.ival = 3; return(INTEGER_CONSTANT); } -"MASK_NEXT" { count(); yylval.ival = 4; return(INTEGER_CONSTANT); } - -"PERM_TRANSFER" { count(); yylval.ival = PERM_TRANSFER; return(INTEGER_CONSTANT); } -"PERM_MODIFY" { count(); yylval.ival = PERM_MODIFY; return(INTEGER_CONSTANT); } -"PERM_COPY" { count(); yylval.ival = PERM_COPY; return(INTEGER_CONSTANT); } -"PERM_MOVE" { count(); yylval.ival = PERM_MOVE; return(INTEGER_CONSTANT); } -"PERM_ALL" { count(); yylval.ival = PERM_ALL; return(INTEGER_CONSTANT); } - -"PARCEL_MEDIA_COMMAND_STOP" { count(); yylval.ival = PARCEL_MEDIA_COMMAND_STOP; return(INTEGER_CONSTANT); } -"PARCEL_MEDIA_COMMAND_PAUSE" { count(); yylval.ival = PARCEL_MEDIA_COMMAND_PAUSE; return(INTEGER_CONSTANT); } -"PARCEL_MEDIA_COMMAND_PLAY" { count(); yylval.ival = PARCEL_MEDIA_COMMAND_PLAY; return(INTEGER_CONSTANT); } -"PARCEL_MEDIA_COMMAND_LOOP" { count(); yylval.ival = PARCEL_MEDIA_COMMAND_LOOP; return(INTEGER_CONSTANT); } -"PARCEL_MEDIA_COMMAND_TEXTURE" { count(); yylval.ival = PARCEL_MEDIA_COMMAND_TEXTURE; return(INTEGER_CONSTANT); } -"PARCEL_MEDIA_COMMAND_URL" { count(); yylval.ival = PARCEL_MEDIA_COMMAND_URL; return(INTEGER_CONSTANT); } -"PARCEL_MEDIA_COMMAND_TIME" { count(); yylval.ival = PARCEL_MEDIA_COMMAND_TIME; return(INTEGER_CONSTANT); } -"PARCEL_MEDIA_COMMAND_AGENT" { count(); yylval.ival = PARCEL_MEDIA_COMMAND_AGENT; return(INTEGER_CONSTANT); } -"PARCEL_MEDIA_COMMAND_UNLOAD" { count(); yylval.ival = PARCEL_MEDIA_COMMAND_UNLOAD; return(INTEGER_CONSTANT); } -"PARCEL_MEDIA_COMMAND_AUTO_ALIGN" { count(); yylval.ival = PARCEL_MEDIA_COMMAND_AUTO_ALIGN; return(INTEGER_CONSTANT); } -"PARCEL_MEDIA_COMMAND_TYPE" { count(); yylval.ival = PARCEL_MEDIA_COMMAND_TYPE; return(INTEGER_CONSTANT); } -"PARCEL_MEDIA_COMMAND_SIZE" { count(); yylval.ival = PARCEL_MEDIA_COMMAND_SIZE; return(INTEGER_CONSTANT); } -"PARCEL_MEDIA_COMMAND_DESC" { count(); yylval.ival = PARCEL_MEDIA_COMMAND_DESC; return(INTEGER_CONSTANT); } -"PARCEL_MEDIA_COMMAND_LOOP_SET" { count(); yylval.ival = PARCEL_MEDIA_COMMAND_LOOP_SET; return(INTEGER_CONSTANT); } - -"LIST_STAT_MAX" { count(); yylval.ival = LIST_STAT_MAX; return(INTEGER_CONSTANT); } -"LIST_STAT_MIN" { count(); yylval.ival = LIST_STAT_MIN; return(INTEGER_CONSTANT); } -"LIST_STAT_MEAN" { count(); yylval.ival = LIST_STAT_MEAN; return(INTEGER_CONSTANT); } -"LIST_STAT_MEDIAN" { count(); yylval.ival = LIST_STAT_MEDIAN; return(INTEGER_CONSTANT); } -"LIST_STAT_STD_DEV" { count(); yylval.ival = LIST_STAT_STD_DEV; return(INTEGER_CONSTANT); } -"LIST_STAT_SUM" { count(); yylval.ival = LIST_STAT_SUM; return(INTEGER_CONSTANT); } -"LIST_STAT_SUM_SQUARES" { count(); yylval.ival = LIST_STAT_SUM_SQUARES; return(INTEGER_CONSTANT); } -"LIST_STAT_NUM_COUNT" { count(); yylval.ival = LIST_STAT_NUM_COUNT; return(INTEGER_CONSTANT); } -"LIST_STAT_GEOMETRIC_MEAN" { count(); yylval.ival = LIST_STAT_GEO_MEAN; return(INTEGER_CONSTANT); } -"LIST_STAT_RANGE" { count(); yylval.ival = LIST_STAT_RANGE; return(INTEGER_CONSTANT); } - -"PAY_HIDE" { count(); yylval.ival = PAY_PRICE_HIDE; return(INTEGER_CONSTANT); } -"PAY_DEFAULT" { count(); yylval.ival = PAY_PRICE_DEFAULT; return(INTEGER_CONSTANT); } - -"PARCEL_FLAG_ALLOW_FLY" { count(); yylval.ival = PF_ALLOW_FLY; return(INTEGER_CONSTANT); } -"PARCEL_FLAG_ALLOW_GROUP_SCRIPTS" { count(); yylval.ival = PF_ALLOW_GROUP_SCRIPTS; return(INTEGER_CONSTANT); } -"PARCEL_FLAG_ALLOW_SCRIPTS" { count(); yylval.ival = PF_ALLOW_OTHER_SCRIPTS; return(INTEGER_CONSTANT); } -"PARCEL_FLAG_ALLOW_LANDMARK" { count(); yylval.ival = PF_ALLOW_LANDMARK; return(INTEGER_CONSTANT); } -"PARCEL_FLAG_ALLOW_TERRAFORM" { count(); yylval.ival = PF_ALLOW_TERRAFORM; return(INTEGER_CONSTANT); } -"PARCEL_FLAG_ALLOW_DAMAGE" { count(); yylval.ival = PF_ALLOW_DAMAGE; return(INTEGER_CONSTANT); } -"PARCEL_FLAG_ALLOW_CREATE_OBJECTS" { count(); yylval.ival = PF_CREATE_OBJECTS; return(INTEGER_CONSTANT); } -"PARCEL_FLAG_ALLOW_CREATE_GROUP_OBJECTS" { count(); yylval.ival = PF_CREATE_GROUP_OBJECTS; return(INTEGER_CONSTANT); } -"PARCEL_FLAG_USE_ACCESS_GROUP" { count(); yylval.ival = PF_USE_ACCESS_GROUP; return(INTEGER_CONSTANT); } -"PARCEL_FLAG_USE_ACCESS_LIST" { count(); yylval.ival = PF_USE_ACCESS_LIST; return(INTEGER_CONSTANT); } -"PARCEL_FLAG_USE_BAN_LIST" { count(); yylval.ival = PF_USE_BAN_LIST; return(INTEGER_CONSTANT); } -"PARCEL_FLAG_USE_LAND_PASS_LIST" { count(); yylval.ival = PF_USE_PASS_LIST; return(INTEGER_CONSTANT); } -"PARCEL_FLAG_LOCAL_SOUND_ONLY" { count(); yylval.ival = PF_SOUND_LOCAL; return(INTEGER_CONSTANT); } -"PARCEL_FLAG_RESTRICT_PUSHOBJECT" { count(); yylval.ival = PF_RESTRICT_PUSHOBJECT; return(INTEGER_CONSTANT); } -"PARCEL_FLAG_ALLOW_GROUP_OBJECT_ENTRY" { count(); yylval.ival = PF_ALLOW_GROUP_OBJECT_ENTRY; return(INTEGER_CONSTANT); } -"PARCEL_FLAG_ALLOW_ALL_OBJECT_ENTRY" { count(); yylval.ival = PF_ALLOW_ALL_OBJECT_ENTRY; return(INTEGER_CONSTANT); } - -"REGION_FLAG_ALLOW_DAMAGE" { count(); yylval.ival = REGION_FLAGS_ALLOW_DAMAGE; return(INTEGER_CONSTANT); } -"REGION_FLAG_FIXED_SUN" { count(); yylval.ival = REGION_FLAGS_SUN_FIXED; return(INTEGER_CONSTANT); } -"REGION_FLAG_BLOCK_TERRAFORM" { count(); yylval.ival = REGION_FLAGS_BLOCK_TERRAFORM; return(INTEGER_CONSTANT); } -"REGION_FLAG_SANDBOX" { count(); yylval.ival = REGION_FLAGS_SANDBOX; return(INTEGER_CONSTANT); } -"REGION_FLAG_DISABLE_COLLISIONS" { count(); yylval.ival = REGION_FLAGS_SKIP_COLLISIONS; return(INTEGER_CONSTANT); } -"REGION_FLAG_DISABLE_PHYSICS" { count(); yylval.ival = REGION_FLAGS_SKIP_PHYSICS; return(INTEGER_CONSTANT); } -"REGION_FLAG_BLOCK_FLY" { count(); yylval.ival = REGION_FLAGS_BLOCK_FLY; return(INTEGER_CONSTANT); } -"REGION_FLAG_ALLOW_DIRECT_TELEPORT" { count(); yylval.ival = REGION_FLAGS_ALLOW_DIRECT_TELEPORT; return(INTEGER_CONSTANT); } -"REGION_FLAG_RESTRICT_PUSHOBJECT" { count(); yylval.ival = REGION_FLAGS_RESTRICT_PUSHOBJECT; return(INTEGER_CONSTANT); } - -"HTTP_METHOD" { count(); yylval.ival = HTTP_METHOD; return(INTEGER_CONSTANT); } -"HTTP_MIMETYPE" { count(); yylval.ival = HTTP_MIMETYPE; return(INTEGER_CONSTANT); } -"HTTP_BODY_MAXLENGTH" { count(); yylval.ival = HTTP_BODY_MAXLENGTH; return(INTEGER_CONSTANT); } -"HTTP_BODY_TRUNCATED" { count(); yylval.ival = HTTP_BODY_TRUNCATED; return(INTEGER_CONSTANT); } -"HTTP_VERIFY_CERT" { count(); yylval.ival = HTTP_VERIFY_CERT; return(INTEGER_CONSTANT); } - -"PARCEL_COUNT_TOTAL" { count(); yylval.ival = OC_TOTAL; return(INTEGER_CONSTANT); } -"PARCEL_COUNT_OWNER" { count(); yylval.ival = OC_OWNER; return(INTEGER_CONSTANT); } -"PARCEL_COUNT_GROUP" { count(); yylval.ival = OC_GROUP; return(INTEGER_CONSTANT); } -"PARCEL_COUNT_OTHER" { count(); yylval.ival = OC_OTHER; return(INTEGER_CONSTANT); } -"PARCEL_COUNT_SELECTED" { count(); yylval.ival = OC_SELECTED; return(INTEGER_CONSTANT); } -"PARCEL_COUNT_TEMP" { count(); yylval.ival = OC_TEMP; return(INTEGER_CONSTANT); } - -"PARCEL_DETAILS_NAME" { count(); yylval.ival = PARCEL_DETAILS_NAME; return(INTEGER_CONSTANT); } -"PARCEL_DETAILS_DESC" { count(); yylval.ival = PARCEL_DETAILS_DESC; return(INTEGER_CONSTANT); } -"PARCEL_DETAILS_OWNER" { count(); yylval.ival = PARCEL_DETAILS_OWNER; return(INTEGER_CONSTANT); } -"PARCEL_DETAILS_GROUP" { count(); yylval.ival = PARCEL_DETAILS_GROUP; return(INTEGER_CONSTANT); } -"PARCEL_DETAILS_AREA" { count(); yylval.ival = PARCEL_DETAILS_AREA; return(INTEGER_CONSTANT); } - -"STRING_TRIM_HEAD" { count(); yylval.ival = STRING_TRIM_HEAD; return(INTEGER_CONSTANT); } -"STRING_TRIM_TAIL" { count(); yylval.ival = STRING_TRIM_TAIL; return(INTEGER_CONSTANT); } -"STRING_TRIM" { count(); yylval.ival = STRING_TRIM; return(INTEGER_CONSTANT); } - -"CLICK_ACTION_NONE" { count(); yylval.ival = CLICK_ACTION_NONE; return(INTEGER_CONSTANT); } -"CLICK_ACTION_TOUCH" { count(); yylval.ival = CLICK_ACTION_TOUCH; return(INTEGER_CONSTANT); } -"CLICK_ACTION_SIT" { count(); yylval.ival = CLICK_ACTION_SIT; return(INTEGER_CONSTANT); } -"CLICK_ACTION_BUY" { count(); yylval.ival = CLICK_ACTION_BUY; return(INTEGER_CONSTANT); } -"CLICK_ACTION_PAY" { count(); yylval.ival = CLICK_ACTION_PAY; return(INTEGER_CONSTANT); } -"CLICK_ACTION_OPEN" { count(); yylval.ival = CLICK_ACTION_OPEN; return(INTEGER_CONSTANT); } -"CLICK_ACTION_PLAY" { count(); yylval.ival = CLICK_ACTION_PLAY; return(INTEGER_CONSTANT); } -"CLICK_ACTION_OPEN_MEDIA" { count(); yylval.ival = CLICK_ACTION_OPEN_MEDIA; return(INTEGER_CONSTANT); } -"CLICK_ACTION_ZOOM" { count(); yylval.ival = CLICK_ACTION_ZOOM; return(INTEGER_CONSTANT); } - -"TEXTURE_BLANK" { yylval.sval = new char[UUID_STR_LENGTH]; strcpy(yylval.sval, "5748decc-f629-461c-9a36-a35a221fe21f"); return(STRING_CONSTANT); } -"TEXTURE_DEFAULT" { yylval.sval = new char[UUID_STR_LENGTH]; strcpy(yylval.sval, "89556747-24cb-43ed-920b-47caed15465f"); return(STRING_CONSTANT); } -"TEXTURE_MEDIA" { yylval.sval = new char[UUID_STR_LENGTH]; strcpy(yylval.sval, "8b5fec65-8d8d-9dc5-cda8-8fdf2716e361"); return(STRING_CONSTANT); } -"TEXTURE_PLYWOOD" { yylval.sval = new char[UUID_STR_LENGTH]; strcpy(yylval.sval, "89556747-24cb-43ed-920b-47caed15465f"); return(STRING_CONSTANT); } -"TEXTURE_TRANSPARENT" { yylval.sval = new char[UUID_STR_LENGTH]; strcpy(yylval.sval, "8dcd4a48-2d37-4909-9f78-f7a9eb4ef903"); return(STRING_CONSTANT); } "TOUCH_INVALID_FACE" { count(); yylval.ival = -1; return(INTEGER_CONSTANT); } "TOUCH_INVALID_VECTOR" { count(); return(TOUCH_INVALID_VECTOR); } "TOUCH_INVALID_TEXCOORD" { count(); return(TOUCH_INVALID_TEXCOORD); } -"PRIM_MEDIA_ALT_IMAGE_ENABLE" { count(); yylval.ival = 0; return(INTEGER_CONSTANT); } -"PRIM_MEDIA_CONTROLS" { count(); yylval.ival = 1; return(INTEGER_CONSTANT); } -"PRIM_MEDIA_CURRENT_URL" { count(); yylval.ival = 2; return(INTEGER_CONSTANT); } -"PRIM_MEDIA_HOME_URL" { count(); yylval.ival = 3; return(INTEGER_CONSTANT); } -"PRIM_MEDIA_AUTO_LOOP" { count(); yylval.ival = 4; return(INTEGER_CONSTANT); } -"PRIM_MEDIA_AUTO_PLAY" { count(); yylval.ival = 5; return(INTEGER_CONSTANT); } -"PRIM_MEDIA_AUTO_SCALE" { count(); yylval.ival = 6; return(INTEGER_CONSTANT); } -"PRIM_MEDIA_AUTO_ZOOM" { count(); yylval.ival = 7; return(INTEGER_CONSTANT); } -"PRIM_MEDIA_FIRST_CLICK_INTERACT" { count(); yylval.ival = 8; return(INTEGER_CONSTANT); } -"PRIM_MEDIA_WIDTH_PIXELS" { count(); yylval.ival = 9; return(INTEGER_CONSTANT); } -"PRIM_MEDIA_HEIGHT_PIXELS" { count(); yylval.ival = 10; return(INTEGER_CONSTANT); } -"PRIM_MEDIA_WHITELIST_ENABLE" { count(); yylval.ival = 11; return(INTEGER_CONSTANT); } -"PRIM_MEDIA_WHITELIST" { count(); yylval.ival = 12; return(INTEGER_CONSTANT); } -"PRIM_MEDIA_PERMS_INTERACT" { count(); yylval.ival = 13; return(INTEGER_CONSTANT); } -"PRIM_MEDIA_PERMS_CONTROL" { count(); yylval.ival = 14; return(INTEGER_CONSTANT); } -"PRIM_MEDIA_PARAM_MAX" { count(); yylval.ival = 14; return(INTEGER_CONSTANT); } - -"PRIM_MEDIA_CONTROLS_STANDARD" { count(); yylval.ival = 0; return(INTEGER_CONSTANT); } -"PRIM_MEDIA_CONTROLS_MINI" { count(); yylval.ival = 1; return(INTEGER_CONSTANT); } - -"PRIM_MEDIA_PERM_NONE" { count(); yylval.ival = 0x0; return(INTEGER_CONSTANT); } -"PRIM_MEDIA_PERM_OWNER" { count(); yylval.ival = 0x1; return(INTEGER_CONSTANT); } -"PRIM_MEDIA_PERM_GROUP" { count(); yylval.ival = 0x3; return(INTEGER_CONSTANT); } -"PRIM_MEDIA_PERM_ANYONE" { count(); yylval.ival = 0x4; return(INTEGER_CONSTANT); } - -"PRIM_MEDIA_MAX_URL_LENGTH" { count(); yylval.ival = 1024; return(INTEGER_CONSTANT); } -"PRIM_MEDIA_MAX_WHITELIST_SIZE" { count(); yylval.ival = 1024; return(INTEGER_CONSTANT); } -"PRIM_MEDIA_MAX_WHITELIST_COUNT" { count(); yylval.ival = 64; return(INTEGER_CONSTANT); } -"PRIM_MEDIA_MAX_WIDTH_PIXELS" { count(); yylval.ival = 2048; return(INTEGER_CONSTANT); } -"PRIM_MEDIA_MAX_HEIGHT_PIXELS" { count(); yylval.ival = 2048; return(INTEGER_CONSTANT); } - -"STATUS_OK" { count(); yylval.ival = LSL_STATUS_OK; return(INTEGER_CONSTANT); } -"STATUS_MALFORMED_PARAMS" { count(); yylval.ival = LSL_STATUS_MALFORMED_PARAMS; return(INTEGER_CONSTANT); } -"STATUS_TYPE_MISMATCH" { count(); yylval.ival = LSL_STATUS_TYPE_MISMATCH; return(INTEGER_CONSTANT); } -"STATUS_BOUNDS_ERROR" { count(); yylval.ival = LSL_STATUS_BOUNDS_ERROR; return(INTEGER_CONSTANT); } -"STATUS_NOT_FOUND" { count(); yylval.ival = LSL_STATUS_NOT_FOUND; return(INTEGER_CONSTANT); } -"STATUS_NOT_SUPPORTED" { count(); yylval.ival = LSL_STATUS_NOT_SUPPORTED; return(INTEGER_CONSTANT); } -"STATUS_INTERNAL_ERROR" { count(); yylval.ival = LSL_STATUS_INTERNAL_ERROR; return(INTEGER_CONSTANT); } -"STATUS_WHITELIST_FAILED" { count(); yylval.ival = LSL_STATUS_WHITELIST_FAILED; return(INTEGER_CONSTANT); } - {L}({L}|{N})* { count(); yylval.sval = new char[strlen(yytext) + 1]; strcpy(yylval.sval, yytext); return(IDENTIFIER); } {N}+{E} { count(); yylval.fval = (F32)atof(yytext); return(FP_CONSTANT); } @@ -719,118 +164,10 @@ L?\"(\\.|[^\\"])*\" { parse_string(); count(); return(STRING_CONSTANT); } %% -LLScriptAllocationManager *gAllocationManager; -LLScriptScript *gScriptp; // Prototype for the yacc parser entry point int yyparse(void); -int yyerror(const char *fmt, ...) -{ - gErrorToText.writeError(yyout, gLine, gColumn, LSERROR_SYNTAX_ERROR); - return 0; -} - -//#define EMERGENCY_DEBUG_PRINTOUTS -//#define EMIT_CIL_ASSEMBLER - -BOOL lscript_compile(const char* src_filename, const char* dst_filename, - const char* err_filename, BOOL compile_to_mono, const char* class_name, BOOL is_god_like) -{ - BOOL b_parse_ok = FALSE; - BOOL b_dummy = FALSE; - U64 b_dummy_count = FALSE; - LSCRIPTType type = LST_NULL; - - gInternalColumn = 0; - gInternalLine = 0; - gScriptp = NULL; - - gErrorToText.init(); - init_supported_expressions(); - init_temp_jumps(); - gAllocationManager = new LLScriptAllocationManager(); - - yyin = LLFile::fopen(std::string(src_filename), "r"); - if (yyin) - { - yyout = LLFile::fopen(std::string(err_filename), "w"); - - // Reset the lexer's internal buffering. - - yyrestart(yyin); - - b_parse_ok = !yyparse(); - - if (b_parse_ok) - { -#ifdef EMERGENCY_DEBUG_PRINTOUTS - char compiled[256]; - sprintf(compiled, "%s.o", src_filename); - LLFILE* compfile; - compfile = LLFile::fopen(compiled, "w"); -#endif - - if(dst_filename) - { - gScriptp->setBytecodeDest(dst_filename); - } - - gScriptp->mGodLike = is_god_like; - - gScriptp->setClassName(class_name); - - gScopeStringTable = new LLStringTable(16384); -#ifdef EMERGENCY_DEBUG_PRINTOUTS - gScriptp->recurse(compfile, 0, 4, LSCP_PRETTY_PRINT, LSPRUNE_INVALID, b_dummy, NULL, type, type, b_dummy_count, NULL, NULL, 0, NULL, 0, NULL); -#endif - gScriptp->recurse(yyout, 0, 0, LSCP_PRUNE, LSPRUNE_INVALID, b_dummy, NULL, type, type, b_dummy_count, NULL, NULL, 0, NULL, 0, NULL); - gScriptp->recurse(yyout, 0, 0, LSCP_SCOPE_PASS1, LSPRUNE_INVALID, b_dummy, NULL, type, type, b_dummy_count, NULL, NULL, 0, NULL, 0, NULL); - gScriptp->recurse(yyout, 0, 0, LSCP_SCOPE_PASS2, LSPRUNE_INVALID, b_dummy, NULL, type, type, b_dummy_count, NULL, NULL, 0, NULL, 0, NULL); - gScriptp->recurse(yyout, 0, 0, LSCP_TYPE, LSPRUNE_INVALID, b_dummy, NULL, type, type, b_dummy_count, NULL, NULL, 0, NULL, 0, NULL); - if (!gErrorToText.getErrors()) - { - gScriptp->recurse(yyout, 0, 0, LSCP_RESOURCE, LSPRUNE_INVALID, b_dummy, NULL, type, type, b_dummy_count, NULL, NULL, 0, NULL, 0, NULL); -#ifdef EMERGENCY_DEBUG_PRINTOUTS - gScriptp->recurse(yyout, 0, 0, LSCP_EMIT_ASSEMBLY, LSPRUNE_INVALID, b_dummy, NULL, type, type, b_dummy_count, NULL, NULL, 0, NULL, 0, NULL); -#endif - if(TRUE == compile_to_mono) - { - 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); - } - else - { - 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); - } - } - delete gScopeStringTable; - gScopeStringTable = NULL; -#ifdef EMERGENCY_DEBUG_PRINTOUTS - fclose(compfile); -#endif - } - fclose(yyout); - fclose(yyin); - } - - delete gAllocationManager; - delete gScopeStringTable; - - return b_parse_ok && !gErrorToText.getErrors(); -} - - -BOOL lscript_compile(char *filename, BOOL compile_to_mono, BOOL is_god_like = FALSE) -{ - char src_filename[MAX_STRING]; - sprintf(src_filename, "%s.lsl", filename); - char err_filename[MAX_STRING]; - sprintf(err_filename, "%s.out", filename); - char class_name[MAX_STRING]; - sprintf(class_name, "%s", filename); - return lscript_compile(src_filename, NULL, err_filename, compile_to_mono, class_name, is_god_like); -} - S32 yywrap() { 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 @@ #endif %} -%union -{ - S32 ival; - F32 fval; - char *sval; - class LLScriptType *type; - class LLScriptConstant *constant; - class LLScriptIdentifier *identifier; - class LLScriptSimpleAssignable *assignable; - class LLScriptGlobalVariable *global; - class LLScriptEvent *event; - class LLScriptEventHandler *handler; - class LLScriptExpression *expression; - class LLScriptStatement *statement; - class LLScriptGlobalFunctions *global_funcs; - class LLScriptFunctionDec *global_decl; - class LLScriptState *state; - class LLScritpGlobalStorage *global_store; - class LLScriptScript *script; -}; %token INTEGER %token FLOAT_TYPE @@ -275,13 +255,11 @@ lscript_program : globals states { $$ = new LLScriptScript($1, $2); - gAllocationManager->addAllocation($$); gScriptp = $$; } | states { $$ = new LLScriptScript(NULL, $1); - gAllocationManager->addAllocation($$); gScriptp = $$; } ; @@ -302,12 +280,10 @@ global : global_variable { $$ = new LLScritpGlobalStorage($1); - gAllocationManager->addAllocation($$); } | global_function { $$ = new LLScritpGlobalStorage($1); - gAllocationManager->addAllocation($$); } ; @@ -315,7 +291,6 @@ name_type : typename IDENTIFIER { $$ = new LLScriptIdentifier(gLine, gColumn, $2, $1); - gAllocationManager->addAllocation($$); } ; @@ -323,12 +298,10 @@ global_variable : name_type ';' { $$ = new LLScriptGlobalVariable(gLine, gColumn, $1->mType, $1, NULL); - gAllocationManager->addAllocation($$); } | name_type '=' simple_assignable ';' { $$ = new LLScriptGlobalVariable(gLine, gColumn, $1->mType, $1, $3); - gAllocationManager->addAllocation($$); } ; @@ -347,14 +320,11 @@ simple_assignable_no_list : IDENTIFIER { LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $1); - gAllocationManager->addAllocation(id); $$ = new LLScriptSAIdentifier(gLine, gColumn, id); - gAllocationManager->addAllocation($$); } | constant { $$ = new LLScriptSAConstant(gLine, gColumn, $1); - gAllocationManager->addAllocation($$); } | special_constant { @@ -366,17 +336,14 @@ constant : integer_constant { $$ = new LLScriptConstantInteger(gLine, gColumn, $1); - gAllocationManager->addAllocation($$); } | fp_constant { $$ = new LLScriptConstantFloat(gLine, gColumn, $1); - gAllocationManager->addAllocation($$); } | STRING_CONSTANT { $$ = new LLScriptConstantString(gLine, gColumn, $1); - gAllocationManager->addAllocation($$); } ; @@ -425,58 +392,36 @@ vector_constant : '<' simple_assignable ',' simple_assignable ',' simple_assignable '>' { $$ = new LLScriptSAVector(gLine, gColumn, $2, $4, $6); - gAllocationManager->addAllocation($$); } | ZERO_VECTOR { LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, 0.f); - gAllocationManager->addAllocation(cf0); LLScriptSAConstant *sa0 = new LLScriptSAConstant(gLine, gColumn, cf0); - gAllocationManager->addAllocation(sa0); LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, 0.f); - gAllocationManager->addAllocation(cf1); LLScriptSAConstant *sa1 = new LLScriptSAConstant(gLine, gColumn, cf1); - gAllocationManager->addAllocation(sa1); LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f); - gAllocationManager->addAllocation(cf2); LLScriptSAConstant *sa2 = new LLScriptSAConstant(gLine, gColumn, cf2); - gAllocationManager->addAllocation(sa2); $$ = new LLScriptSAVector(gLine, gColumn, sa0, sa1, sa2); - gAllocationManager->addAllocation($$); } | TOUCH_INVALID_VECTOR { LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, 0.f); - gAllocationManager->addAllocation(cf0); LLScriptSAConstant *sa0 = new LLScriptSAConstant(gLine, gColumn, cf0); - gAllocationManager->addAllocation(sa0); LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, 0.f); - gAllocationManager->addAllocation(cf1); LLScriptSAConstant *sa1 = new LLScriptSAConstant(gLine, gColumn, cf1); - gAllocationManager->addAllocation(sa1); LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f); - gAllocationManager->addAllocation(cf2); LLScriptSAConstant *sa2 = new LLScriptSAConstant(gLine, gColumn, cf2); - gAllocationManager->addAllocation(sa2); $$ = new LLScriptSAVector(gLine, gColumn, sa0, sa1, sa2); - gAllocationManager->addAllocation($$); } | TOUCH_INVALID_TEXCOORD { LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, -1.f); - gAllocationManager->addAllocation(cf0); LLScriptSAConstant *sa0 = new LLScriptSAConstant(gLine, gColumn, cf0); - gAllocationManager->addAllocation(sa0); LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, -1.f); - gAllocationManager->addAllocation(cf1); LLScriptSAConstant *sa1 = new LLScriptSAConstant(gLine, gColumn, cf1); - gAllocationManager->addAllocation(sa1); LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f); - gAllocationManager->addAllocation(cf2); LLScriptSAConstant *sa2 = new LLScriptSAConstant(gLine, gColumn, cf2); - gAllocationManager->addAllocation(sa2); $$ = new LLScriptSAVector(gLine, gColumn, sa0, sa1, sa2); - gAllocationManager->addAllocation($$); } ; @@ -484,28 +429,18 @@ quaternion_constant : '<' simple_assignable ',' simple_assignable ',' simple_assignable ',' simple_assignable '>' { $$ = new LLScriptSAQuaternion(gLine, gColumn, $2, $4, $6, $8); - gAllocationManager->addAllocation($$); } | ZERO_ROTATION { LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, 0.f); - gAllocationManager->addAllocation(cf0); LLScriptSAConstant *sa0 = new LLScriptSAConstant(gLine, gColumn, cf0); - gAllocationManager->addAllocation(sa0); LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, 0.f); - gAllocationManager->addAllocation(cf1); LLScriptSAConstant *sa1 = new LLScriptSAConstant(gLine, gColumn, cf1); - gAllocationManager->addAllocation(sa1); LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f); - gAllocationManager->addAllocation(cf2); LLScriptSAConstant *sa2 = new LLScriptSAConstant(gLine, gColumn, cf2); - gAllocationManager->addAllocation(sa2); LLScriptConstantFloat *cf3 = new LLScriptConstantFloat(gLine, gColumn, 1.f); - gAllocationManager->addAllocation(cf3); LLScriptSAConstant *sa3 = new LLScriptSAConstant(gLine, gColumn, cf3); - gAllocationManager->addAllocation(sa3); $$ = new LLScriptSAQuaternion(gLine, gColumn, sa0, sa1, sa2, sa3); - gAllocationManager->addAllocation($$); } ; @@ -513,12 +448,10 @@ list_constant : '[' list_entries ']' { $$ = new LLScriptSAList(gLine, gColumn, $2); - gAllocationManager->addAllocation($$); } | '[' ']' { $$ = new LLScriptSAList(gLine, gColumn, NULL); - gAllocationManager->addAllocation($$); } ; @@ -545,37 +478,30 @@ typename : INTEGER { $$ = new LLScriptType(gLine, gColumn, LST_INTEGER); - gAllocationManager->addAllocation($$); } | FLOAT_TYPE { $$ = new LLScriptType(gLine, gColumn, LST_FLOATINGPOINT); - gAllocationManager->addAllocation($$); } | STRING { $$ = new LLScriptType(gLine, gColumn, LST_STRING); - gAllocationManager->addAllocation($$); } | LLKEY { $$ = new LLScriptType(gLine, gColumn, LST_KEY); - gAllocationManager->addAllocation($$); } | VECTOR { $$ = new LLScriptType(gLine, gColumn, LST_VECTOR); - gAllocationManager->addAllocation($$); } | QUATERNION { $$ = new LLScriptType(gLine, gColumn, LST_QUATERNION); - gAllocationManager->addAllocation($$); } | LIST { $$ = new LLScriptType(gLine, gColumn, LST_LIST); - gAllocationManager->addAllocation($$); } ; @@ -583,26 +509,20 @@ global_function : IDENTIFIER '(' ')' compound_statement { LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $1); - gAllocationManager->addAllocation(id); $$ = new LLScriptGlobalFunctions(gLine, gColumn, NULL, id, NULL, $4); - gAllocationManager->addAllocation($$); } | name_type '(' ')' compound_statement { $$ = new LLScriptGlobalFunctions(gLine, gColumn, $1->mType, $1, NULL, $4); - gAllocationManager->addAllocation($$); } | IDENTIFIER '(' function_parameters ')' compound_statement { LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $1); - gAllocationManager->addAllocation(id); $$ = new LLScriptGlobalFunctions(gLine, gColumn, NULL, id, $3, $5); - gAllocationManager->addAllocation($$); } | name_type '(' function_parameters ')' compound_statement { $$ = new LLScriptGlobalFunctions(gLine, gColumn, $1->mType, $1, $3, $5); - gAllocationManager->addAllocation($$); } ; @@ -622,9 +542,7 @@ function_parameter : typename IDENTIFIER { LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $2); - gAllocationManager->addAllocation(id); $$ = new LLScriptFunctionDec(gLine, gColumn, $1, id); - gAllocationManager->addAllocation($$); } ; @@ -656,9 +574,7 @@ default : STATE_DEFAULT '{' state_body '}' { LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $1); - gAllocationManager->addAllocation(id); $$ = new LLScriptState(gLine, gColumn, LSSTYPE_DEFAULT, id, $3); - gAllocationManager->addAllocation($$); } ; @@ -666,9 +582,7 @@ state : STATE IDENTIFIER '{' state_body '}' { LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $2); - gAllocationManager->addAllocation(id); $$ = new LLScriptState(gLine, gColumn, LSSTYPE_USER, id, $4); - gAllocationManager->addAllocation($$); } ; @@ -688,172 +602,138 @@ event : state_entry compound_statement { $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); - gAllocationManager->addAllocation($$); } | state_exit compound_statement { $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); - gAllocationManager->addAllocation($$); } | touch_start compound_statement { $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); - gAllocationManager->addAllocation($$); } | touch compound_statement { $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); - gAllocationManager->addAllocation($$); } | touch_end compound_statement { $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); - gAllocationManager->addAllocation($$); } | collision_start compound_statement { $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); - gAllocationManager->addAllocation($$); } | collision compound_statement { $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); - gAllocationManager->addAllocation($$); } | collision_end compound_statement { $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); - gAllocationManager->addAllocation($$); } | land_collision_start compound_statement { $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); - gAllocationManager->addAllocation($$); } | land_collision compound_statement { $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); - gAllocationManager->addAllocation($$); } | land_collision_end compound_statement { $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); - gAllocationManager->addAllocation($$); } | timer compound_statement { $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); - gAllocationManager->addAllocation($$); } | chat compound_statement { $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); - gAllocationManager->addAllocation($$); } | sensor compound_statement { $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); - gAllocationManager->addAllocation($$); } | no_sensor compound_statement { $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); - gAllocationManager->addAllocation($$); } | at_target compound_statement { $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); - gAllocationManager->addAllocation($$); } | not_at_target compound_statement { $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); - gAllocationManager->addAllocation($$); } | at_rot_target compound_statement { $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); - gAllocationManager->addAllocation($$); } | not_at_rot_target compound_statement { $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); - gAllocationManager->addAllocation($$); } | money compound_statement { $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); - gAllocationManager->addAllocation($$); } | email compound_statement { $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); - gAllocationManager->addAllocation($$); } | run_time_permissions compound_statement { $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); - gAllocationManager->addAllocation($$); } | inventory compound_statement { $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); - gAllocationManager->addAllocation($$); } | attach compound_statement { $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); - gAllocationManager->addAllocation($$); } | dataserver compound_statement { $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); - gAllocationManager->addAllocation($$); } | control compound_statement { $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); - gAllocationManager->addAllocation($$); } | moving_start compound_statement { $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); - gAllocationManager->addAllocation($$); } | moving_end compound_statement { $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); - gAllocationManager->addAllocation($$); } | rez compound_statement { $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); - gAllocationManager->addAllocation($$); } | object_rez compound_statement { $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); - gAllocationManager->addAllocation($$); } | link_message compound_statement { $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); - gAllocationManager->addAllocation($$); } | remote_data compound_statement { $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); - gAllocationManager->addAllocation($$); } | http_response compound_statement { $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); - gAllocationManager->addAllocation($$); } | http_request compound_statement { $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); - gAllocationManager->addAllocation($$); } ; @@ -861,7 +741,6 @@ state_entry : STATE_ENTRY '(' ')' { $$ = new LLScriptStateEntryEvent(gLine, gColumn); - gAllocationManager->addAllocation($$); } ; @@ -869,7 +748,6 @@ state_exit : STATE_EXIT '(' ')' { $$ = new LLScriptStateExitEvent(gLine, gColumn); - gAllocationManager->addAllocation($$); } ; @@ -877,9 +755,7 @@ touch_start : TOUCH_START '(' INTEGER IDENTIFIER ')' { LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); - gAllocationManager->addAllocation(id1); $$ = new LLScriptTouchStartEvent(gLine, gColumn, id1); - gAllocationManager->addAllocation($$); } ; @@ -887,9 +763,7 @@ touch : TOUCH '(' INTEGER IDENTIFIER ')' { LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); - gAllocationManager->addAllocation(id1); $$ = new LLScriptTouchEvent(gLine, gColumn, id1); - gAllocationManager->addAllocation($$); } ; @@ -897,9 +771,7 @@ touch_end : TOUCH_END '(' INTEGER IDENTIFIER ')' { LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); - gAllocationManager->addAllocation(id1); $$ = new LLScriptTouchEndEvent(gLine, gColumn, id1); - gAllocationManager->addAllocation($$); } ; @@ -907,9 +779,7 @@ collision_start : COLLISION_START '(' INTEGER IDENTIFIER ')' { LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); - gAllocationManager->addAllocation(id1); $$ = new LLScriptCollisionStartEvent(gLine, gColumn, id1); - gAllocationManager->addAllocation($$); } ; @@ -917,9 +787,7 @@ collision : COLLISION '(' INTEGER IDENTIFIER ')' { LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); - gAllocationManager->addAllocation(id1); $$ = new LLScriptCollisionEvent(gLine, gColumn, id1); - gAllocationManager->addAllocation($$); } ; @@ -927,9 +795,7 @@ collision_end : COLLISION_END '(' INTEGER IDENTIFIER ')' { LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); - gAllocationManager->addAllocation(id1); $$ = new LLScriptCollisionEndEvent(gLine, gColumn, id1); - gAllocationManager->addAllocation($$); } ; @@ -937,9 +803,7 @@ land_collision_start : LAND_COLLISION_START '(' VECTOR IDENTIFIER ')' { LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); - gAllocationManager->addAllocation(id1); $$ = new LLScriptLandCollisionStartEvent(gLine, gColumn, id1); - gAllocationManager->addAllocation($$); } ; @@ -947,9 +811,7 @@ land_collision : LAND_COLLISION '(' VECTOR IDENTIFIER ')' { LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); - gAllocationManager->addAllocation(id1); $$ = new LLScriptLandCollisionEvent(gLine, gColumn, id1); - gAllocationManager->addAllocation($$); } ; @@ -957,9 +819,7 @@ land_collision_end : LAND_COLLISION_END '(' VECTOR IDENTIFIER ')' { LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); - gAllocationManager->addAllocation(id1); $$ = new LLScriptLandCollisionEndEvent(gLine, gColumn, id1); - gAllocationManager->addAllocation($$); } ; @@ -967,13 +827,9 @@ at_target : AT_TARGET '(' INTEGER IDENTIFIER ',' VECTOR IDENTIFIER ',' VECTOR IDENTIFIER ')' { LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); - gAllocationManager->addAllocation(id1); LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); - gAllocationManager->addAllocation(id2); LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10); - gAllocationManager->addAllocation(id3); $$ = new LLScriptAtTarget(gLine, gColumn, id1, id2, id3); - gAllocationManager->addAllocation($$); } ; @@ -981,7 +837,6 @@ not_at_target : NOT_AT_TARGET '(' ')' { $$ = new LLScriptNotAtTarget(gLine, gColumn); - gAllocationManager->addAllocation($$); } ; @@ -989,13 +844,9 @@ at_rot_target : AT_ROT_TARGET '(' INTEGER IDENTIFIER ',' QUATERNION IDENTIFIER ',' QUATERNION IDENTIFIER ')' { LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); - gAllocationManager->addAllocation(id1); LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); - gAllocationManager->addAllocation(id2); LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10); - gAllocationManager->addAllocation(id3); $$ = new LLScriptAtRotTarget(gLine, gColumn, id1, id2, id3); - gAllocationManager->addAllocation($$); } ; @@ -1003,7 +854,6 @@ not_at_rot_target : NOT_AT_ROT_TARGET '(' ')' { $$ = new LLScriptNotAtRotTarget(gLine, gColumn); - gAllocationManager->addAllocation($$); } ; @@ -1011,11 +861,8 @@ money : MONEY '(' LLKEY IDENTIFIER ',' INTEGER IDENTIFIER ')' { LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); - gAllocationManager->addAllocation(id1); LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); - gAllocationManager->addAllocation(id2); $$ = new LLScriptMoneyEvent(gLine, gColumn, id1, id2); - gAllocationManager->addAllocation($$); } ; @@ -1023,17 +870,11 @@ email : EMAIL '(' STRING IDENTIFIER ',' STRING IDENTIFIER ',' STRING IDENTIFIER ',' STRING IDENTIFIER ',' INTEGER IDENTIFIER ')' { LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); - gAllocationManager->addAllocation(id1); LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); - gAllocationManager->addAllocation(id2); LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10); - gAllocationManager->addAllocation(id3); LLScriptIdentifier *id4 = new LLScriptIdentifier(gLine, gColumn, $13); - gAllocationManager->addAllocation(id4); LLScriptIdentifier *id5 = new LLScriptIdentifier(gLine, gColumn, $16); - gAllocationManager->addAllocation(id5); $$ = new LLScriptEmailEvent(gLine, gColumn, id1, id2, id3, id4, id5); - gAllocationManager->addAllocation($$); } ; @@ -1041,9 +882,7 @@ run_time_permissions : RUN_TIME_PERMISSIONS '(' INTEGER IDENTIFIER ')' { LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); - gAllocationManager->addAllocation(id1); $$ = new LLScriptRTPEvent(gLine, gColumn, id1); - gAllocationManager->addAllocation($$); } ; @@ -1051,9 +890,7 @@ inventory : INVENTORY '(' INTEGER IDENTIFIER ')' { LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); - gAllocationManager->addAllocation(id1); $$ = new LLScriptInventoryEvent(gLine, gColumn, id1); - gAllocationManager->addAllocation($$); } ; @@ -1061,9 +898,7 @@ attach : ATTACH '(' LLKEY IDENTIFIER ')' { LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); - gAllocationManager->addAllocation(id1); $$ = new LLScriptAttachEvent(gLine, gColumn, id1); - gAllocationManager->addAllocation($$); } ; @@ -1071,11 +906,8 @@ dataserver : DATASERVER '(' LLKEY IDENTIFIER ',' STRING IDENTIFIER')' { LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); - gAllocationManager->addAllocation(id1); LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); - gAllocationManager->addAllocation(id2); $$ = new LLScriptDataserverEvent(gLine, gColumn, id1, id2); - gAllocationManager->addAllocation($$); } ; @@ -1083,7 +915,6 @@ moving_start : MOVING_START '(' ')' { $$ = new LLScriptMovingStartEvent(gLine, gColumn); - gAllocationManager->addAllocation($$); } ; @@ -1091,7 +922,6 @@ moving_end : MOVING_END '(' ')' { $$ = new LLScriptMovingEndEvent(gLine, gColumn); - gAllocationManager->addAllocation($$); } ; @@ -1099,7 +929,6 @@ timer : TIMER '(' ')' { $$ = new LLScriptTimerEvent(gLine, gColumn); - gAllocationManager->addAllocation($$); } ; @@ -1107,15 +936,10 @@ chat : CHAT '(' INTEGER IDENTIFIER ',' STRING IDENTIFIER ',' LLKEY IDENTIFIER ',' STRING IDENTIFIER ')' { LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); - gAllocationManager->addAllocation(id1); LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); - gAllocationManager->addAllocation(id2); LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10); - gAllocationManager->addAllocation(id3); LLScriptIdentifier *id4 = new LLScriptIdentifier(gLine, gColumn, $13); - gAllocationManager->addAllocation(id4); $$ = new LLScriptChatEvent(gLine, gColumn, id1, id2, id3, id4); - gAllocationManager->addAllocation($$); } ; @@ -1123,9 +947,7 @@ sensor : SENSOR '(' INTEGER IDENTIFIER ')' { LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); - gAllocationManager->addAllocation(id1); $$ = new LLScriptSensorEvent(gLine, gColumn, id1); - gAllocationManager->addAllocation($$); } ; @@ -1133,7 +955,6 @@ no_sensor : NO_SENSOR '(' ')' { $$ = new LLScriptNoSensorEvent(gLine, gColumn); - gAllocationManager->addAllocation($$); } ; @@ -1141,13 +962,9 @@ control : CONTROL '(' LLKEY IDENTIFIER ',' INTEGER IDENTIFIER ',' INTEGER IDENTIFIER ')' { LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); - gAllocationManager->addAllocation(id1); LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); - gAllocationManager->addAllocation(id2); LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10); - gAllocationManager->addAllocation(id3); $$ = new LLScriptControlEvent(gLine, gColumn, id1, id2, id3); - gAllocationManager->addAllocation($$); } ; @@ -1155,9 +972,7 @@ rez : REZ '(' INTEGER IDENTIFIER ')' { LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); - gAllocationManager->addAllocation(id1); $$ = new LLScriptRezEvent(gLine, gColumn, id1); - gAllocationManager->addAllocation($$); } ; @@ -1165,9 +980,7 @@ object_rez : OBJECT_REZ '(' LLKEY IDENTIFIER ')' { LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); - gAllocationManager->addAllocation(id1); $$ = new LLScriptObjectRezEvent(gLine, gColumn, id1); - gAllocationManager->addAllocation($$); } ; @@ -1175,15 +988,10 @@ link_message : LINK_MESSAGE '(' INTEGER IDENTIFIER ',' INTEGER IDENTIFIER ',' STRING IDENTIFIER ',' LLKEY IDENTIFIER ')' { LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); - gAllocationManager->addAllocation(id1); LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); - gAllocationManager->addAllocation(id2); LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10); - gAllocationManager->addAllocation(id3); LLScriptIdentifier *id4 = new LLScriptIdentifier(gLine, gColumn, $13); - gAllocationManager->addAllocation(id4); $$ = new LLScriptLinkMessageEvent(gLine, gColumn, id1, id2, id3, id4); - gAllocationManager->addAllocation($$); } ; @@ -1191,19 +999,12 @@ remote_data : REMOTE_DATA '(' INTEGER IDENTIFIER ',' LLKEY IDENTIFIER ',' LLKEY IDENTIFIER ',' STRING IDENTIFIER ',' INTEGER IDENTIFIER ',' STRING IDENTIFIER ')' { LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); - gAllocationManager->addAllocation(id1); LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); - gAllocationManager->addAllocation(id2); LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10); - gAllocationManager->addAllocation(id3); LLScriptIdentifier *id4 = new LLScriptIdentifier(gLine, gColumn, $13); - gAllocationManager->addAllocation(id4); LLScriptIdentifier *id5 = new LLScriptIdentifier(gLine, gColumn, $16); - gAllocationManager->addAllocation(id4); LLScriptIdentifier *id6 = new LLScriptIdentifier(gLine, gColumn, $19); - gAllocationManager->addAllocation(id4); $$ = new LLScriptRemoteEvent(gLine, gColumn, id1, id2, id3, id4, id5, id6); - gAllocationManager->addAllocation($$); } ; @@ -1211,15 +1012,10 @@ http_response : HTTP_RESPONSE '(' LLKEY IDENTIFIER ',' INTEGER IDENTIFIER ',' LIST IDENTIFIER ',' STRING IDENTIFIER ')' { LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); - gAllocationManager->addAllocation(id1); LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); - gAllocationManager->addAllocation(id2); LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10); - gAllocationManager->addAllocation(id3); LLScriptIdentifier *id4 = new LLScriptIdentifier(gLine, gColumn, $13); - gAllocationManager->addAllocation(id4); $$ = new LLScriptHTTPResponseEvent(gLine, gColumn, id1, id2, id3, id4); - gAllocationManager->addAllocation($$); } ; @@ -1227,13 +1023,9 @@ http_request : HTTP_REQUEST '(' LLKEY IDENTIFIER ',' STRING IDENTIFIER ',' STRING IDENTIFIER ')' { LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); - gAllocationManager->addAllocation(id1); LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); - gAllocationManager->addAllocation(id2); LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10); - gAllocationManager->addAllocation(id3); $$ = new LLScriptHTTPRequestEvent(gLine, gColumn, id1, id2, id3); - gAllocationManager->addAllocation($$); } ; @@ -1241,12 +1033,10 @@ compound_statement : '{' '}' { $$ = new LLScriptCompoundStatement(gLine, gColumn, NULL); - gAllocationManager->addAllocation($$); } | '{' statements '}' { $$ = new LLScriptCompoundStatement(gLine, gColumn, $2); - gAllocationManager->addAllocation($$); } ; @@ -1258,7 +1048,6 @@ statements | statements statement { $$ = new LLScriptStatementSequence(gLine, gColumn, $1, $2); - gAllocationManager->addAllocation($$); } ; @@ -1266,50 +1055,38 @@ statement : ';' { $$ = new LLScriptNOOP(gLine, gColumn); - gAllocationManager->addAllocation($$); } | STATE IDENTIFIER ';' { LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $2); - gAllocationManager->addAllocation(id); $$ = new LLScriptStateChange(gLine, gColumn, id); - gAllocationManager->addAllocation($$); } | STATE STATE_DEFAULT ';' { LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $2); - gAllocationManager->addAllocation(id); $$ = new LLScriptStateChange(gLine, gColumn, id); - gAllocationManager->addAllocation($$); } | JUMP IDENTIFIER ';' { LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $2); - gAllocationManager->addAllocation(id); $$ = new LLScriptJump(gLine, gColumn, id); - gAllocationManager->addAllocation($$); } | '@' IDENTIFIER ';' { LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $2); - gAllocationManager->addAllocation(id); $$ = new LLScriptLabel(gLine, gColumn, id); - gAllocationManager->addAllocation($$); } | RETURN expression ';' { $$ = new LLScriptReturn(gLine, gColumn, $2); - gAllocationManager->addAllocation($$); } | RETURN ';' { $$ = new LLScriptReturn(gLine, gColumn, NULL); - gAllocationManager->addAllocation($$); } | expression ';' { $$ = new LLScriptExpressionStatement(gLine, gColumn, $1); - gAllocationManager->addAllocation($$); } | declaration ';' { @@ -1323,32 +1100,27 @@ statement { $$ = new LLScriptIf(gLine, gColumn, $3, $5); $5->mAllowDeclarations = FALSE; - gAllocationManager->addAllocation($$); } | IF '(' expression ')' statement ELSE statement { $$ = new LLScriptIfElse(gLine, gColumn, $3, $5, $7); $5->mAllowDeclarations = FALSE; $7->mAllowDeclarations = FALSE; - gAllocationManager->addAllocation($$); } | FOR '(' forexpressionlist ';' expression ';' forexpressionlist ')' statement { $$ = new LLScriptFor(gLine, gColumn, $3, $5, $7, $9); $9->mAllowDeclarations = FALSE; - gAllocationManager->addAllocation($$); } | DO statement WHILE '(' expression ')' ';' { $$ = new LLScriptDoWhile(gLine, gColumn, $2, $5); $2->mAllowDeclarations = FALSE; - gAllocationManager->addAllocation($$); } | WHILE '(' expression ')' statement { $$ = new LLScriptWhile(gLine, gColumn, $3, $5); $5->mAllowDeclarations = FALSE; - gAllocationManager->addAllocation($$); } ; @@ -1356,16 +1128,12 @@ declaration : typename IDENTIFIER { LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $2); - gAllocationManager->addAllocation(id); $$ = new LLScriptDeclaration(gLine, gColumn, $1, id, NULL); - gAllocationManager->addAllocation($$); } | typename IDENTIFIER '=' expression { LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $2); - gAllocationManager->addAllocation(id); $$ = new LLScriptDeclaration(gLine, gColumn, $1, id, $4); - gAllocationManager->addAllocation($$); } ; @@ -1384,12 +1152,10 @@ nextforexpressionlist : expression { $$ = new LLScriptForExpressionList(gLine, gColumn, $1, NULL); - gAllocationManager->addAllocation($$); } | expression ',' nextforexpressionlist { $$ = new LLScriptForExpressionList(gLine, gColumn, $1, $3); - gAllocationManager->addAllocation($$); } ; @@ -1408,12 +1174,10 @@ nextfuncexpressionlist : expression { $$ = new LLScriptFuncExpressionList(gLine, gColumn, $1, NULL); - gAllocationManager->addAllocation($$); } | expression ',' nextfuncexpressionlist { $$ = new LLScriptFuncExpressionList(gLine, gColumn, $1, $3); - gAllocationManager->addAllocation($$); } ; @@ -1432,12 +1196,10 @@ nextlistexpressionlist : expression { $$ = new LLScriptListExpressionList(gLine, gColumn, $1, NULL); - gAllocationManager->addAllocation($$); } | expression ',' nextlistexpressionlist { $$ = new LLScriptListExpressionList(gLine, gColumn, $1, $3); - gAllocationManager->addAllocation($$); } ; @@ -1449,122 +1211,98 @@ expression | lvalue '=' expression { $$ = new LLScriptAssignment(gLine, gColumn, $1, $3); - gAllocationManager->addAllocation($$); } | lvalue ADD_ASSIGN expression { $$ = new LLScriptAddAssignment(gLine, gColumn, $1, $3); - gAllocationManager->addAllocation($$); } | lvalue SUB_ASSIGN expression { $$ = new LLScriptSubAssignment(gLine, gColumn, $1, $3); - gAllocationManager->addAllocation($$); } | lvalue MUL_ASSIGN expression { $$ = new LLScriptMulAssignment(gLine, gColumn, $1, $3); - gAllocationManager->addAllocation($$); } | lvalue DIV_ASSIGN expression { $$ = new LLScriptDivAssignment(gLine, gColumn, $1, $3); - gAllocationManager->addAllocation($$); } | lvalue MOD_ASSIGN expression { $$ = new LLScriptModAssignment(gLine, gColumn, $1, $3); - gAllocationManager->addAllocation($$); } | expression EQ expression { $$ = new LLScriptEquality(gLine, gColumn, $1, $3); - gAllocationManager->addAllocation($$); } | expression NEQ expression { $$ = new LLScriptNotEquals(gLine, gColumn, $1, $3); - gAllocationManager->addAllocation($$); } | expression LEQ expression { $$ = new LLScriptLessEquals(gLine, gColumn, $1, $3); - gAllocationManager->addAllocation($$); } | expression GEQ expression { $$ = new LLScriptGreaterEquals(gLine, gColumn, $1, $3); - gAllocationManager->addAllocation($$); } | expression '<' expression { $$ = new LLScriptLessThan(gLine, gColumn, $1, $3); - gAllocationManager->addAllocation($$); } | expression '>' expression { $$ = new LLScriptGreaterThan(gLine, gColumn, $1, $3); - gAllocationManager->addAllocation($$); } | expression '+' expression { $$ = new LLScriptPlus(gLine, gColumn, $1, $3); - gAllocationManager->addAllocation($$); } | expression '-' expression { $$ = new LLScriptMinus(gLine, gColumn, $1, $3); - gAllocationManager->addAllocation($$); } | expression '*' expression { $$ = new LLScriptTimes(gLine, gColumn, $1, $3); - gAllocationManager->addAllocation($$); } | expression '/' expression { $$ = new LLScriptDivide(gLine, gColumn, $1, $3); - gAllocationManager->addAllocation($$); } | expression '%' expression { $$ = new LLScriptMod(gLine, gColumn, $1, $3); - gAllocationManager->addAllocation($$); } | expression '&' expression { $$ = new LLScriptBitAnd(gLine, gColumn, $1, $3); - gAllocationManager->addAllocation($$); } | expression '|' expression { $$ = new LLScriptBitOr(gLine, gColumn, $1, $3); - gAllocationManager->addAllocation($$); } | expression '^' expression { $$ = new LLScriptBitXor(gLine, gColumn, $1, $3); - gAllocationManager->addAllocation($$); } | expression BOOLEAN_AND expression { $$ = new LLScriptBooleanAnd(gLine, gColumn, $1, $3); - gAllocationManager->addAllocation($$); } | expression BOOLEAN_OR expression { $$ = new LLScriptBooleanOr(gLine, gColumn, $1, $3); - gAllocationManager->addAllocation($$); } | expression SHIFT_LEFT expression { $$ = new LLScriptShiftLeft(gLine, gColumn, $1, $3); - gAllocationManager->addAllocation($$); } | expression SHIFT_RIGHT expression { $$ = new LLScriptShiftRight(gLine, gColumn, $1, $3); - gAllocationManager->addAllocation($$); } ; @@ -1572,27 +1310,22 @@ unaryexpression : '-' expression { $$ = new LLScriptUnaryMinus(gLine, gColumn, $2); - gAllocationManager->addAllocation($$); } | '!' expression { $$ = new LLScriptBooleanNot(gLine, gColumn, $2); - gAllocationManager->addAllocation($$); } | '~' expression { $$ = new LLScriptBitNot(gLine, gColumn, $2); - gAllocationManager->addAllocation($$); } | INC_OP lvalue { $$ = new LLScriptPreIncrement(gLine, gColumn, $2); - gAllocationManager->addAllocation($$); } | DEC_OP lvalue { $$ = new LLScriptPreDecrement(gLine, gColumn, $2); - gAllocationManager->addAllocation($$); } | typecast { @@ -1605,7 +1338,6 @@ unaryexpression | '(' expression ')' { $$ = new LLScriptParenthesis(gLine, gColumn, $2); - gAllocationManager->addAllocation($$); } ; @@ -1613,24 +1345,19 @@ typecast : '(' typename ')' lvalue { $$ = new LLScriptTypeCast(gLine, gColumn, $2, $4); - gAllocationManager->addAllocation($$); } | '(' typename ')' constant { LLScriptConstantExpression *temp = new LLScriptConstantExpression(gLine, gColumn, $4); - gAllocationManager->addAllocation(temp); $$ = new LLScriptTypeCast(gLine, gColumn, $2, temp); - gAllocationManager->addAllocation($$); } | '(' typename ')' unarypostfixexpression { $$ = new LLScriptTypeCast(gLine, gColumn, $2, $4); - gAllocationManager->addAllocation($$); } | '(' typename ')' '(' expression ')' { $$ = new LLScriptTypeCast(gLine, gColumn, $2, $5); - gAllocationManager->addAllocation($$); } ; @@ -1654,29 +1381,23 @@ unarypostfixexpression | lvalue INC_OP { $$ = new LLScriptPostIncrement(gLine, gColumn, $1); - gAllocationManager->addAllocation($$); } | lvalue DEC_OP { $$ = new LLScriptPostDecrement(gLine, gColumn, $1); - gAllocationManager->addAllocation($$); } | IDENTIFIER '(' funcexpressionlist ')' { LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $1); - gAllocationManager->addAllocation(id); $$ = new LLScriptFunctionCall(gLine, gColumn, id, $3); - gAllocationManager->addAllocation($$); } | PRINT '(' expression ')' { $$ = new LLScriptPrint(gLine, gColumn, $3); - gAllocationManager->addAllocation($$); } | constant { $$ = new LLScriptConstantExpression(gLine, gColumn, $1); - gAllocationManager->addAllocation($$); } ; @@ -1684,58 +1405,36 @@ vector_initializer : '<' expression ',' expression ',' expression '>' %prec INITIALIZER { $$ = new LLScriptVectorInitializer(gLine, gColumn, $2, $4, $6); - gAllocationManager->addAllocation($$); } | ZERO_VECTOR { LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, 0.f); - gAllocationManager->addAllocation(cf0); LLScriptConstantExpression *sa0 = new LLScriptConstantExpression(gLine, gColumn, cf0); - gAllocationManager->addAllocation(sa0); LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, 0.f); - gAllocationManager->addAllocation(cf1); LLScriptConstantExpression *sa1 = new LLScriptConstantExpression(gLine, gColumn, cf1); - gAllocationManager->addAllocation(sa1); LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f); - gAllocationManager->addAllocation(cf2); LLScriptConstantExpression *sa2 = new LLScriptConstantExpression(gLine, gColumn, cf2); - gAllocationManager->addAllocation(sa2); $$ = new LLScriptVectorInitializer(gLine, gColumn, sa0, sa1, sa2); - gAllocationManager->addAllocation($$); } | TOUCH_INVALID_VECTOR { LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, 0.f); - gAllocationManager->addAllocation(cf0); LLScriptConstantExpression *sa0 = new LLScriptConstantExpression(gLine, gColumn, cf0); - gAllocationManager->addAllocation(sa0); LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, 0.f); - gAllocationManager->addAllocation(cf1); LLScriptConstantExpression *sa1 = new LLScriptConstantExpression(gLine, gColumn, cf1); - gAllocationManager->addAllocation(sa1); LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f); - gAllocationManager->addAllocation(cf2); LLScriptConstantExpression *sa2 = new LLScriptConstantExpression(gLine, gColumn, cf2); - gAllocationManager->addAllocation(sa2); $$ = new LLScriptVectorInitializer(gLine, gColumn, sa0, sa1, sa2); - gAllocationManager->addAllocation($$); } | TOUCH_INVALID_TEXCOORD { LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, -1.f); - gAllocationManager->addAllocation(cf0); LLScriptConstantExpression *sa0 = new LLScriptConstantExpression(gLine, gColumn, cf0); - gAllocationManager->addAllocation(sa0); LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, -1.f); - gAllocationManager->addAllocation(cf1); LLScriptConstantExpression *sa1 = new LLScriptConstantExpression(gLine, gColumn, cf1); - gAllocationManager->addAllocation(sa1); LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f); - gAllocationManager->addAllocation(cf2); LLScriptConstantExpression *sa2 = new LLScriptConstantExpression(gLine, gColumn, cf2); - gAllocationManager->addAllocation(sa2); $$ = new LLScriptVectorInitializer(gLine, gColumn, sa0, sa1, sa2); - gAllocationManager->addAllocation($$); } ; @@ -1743,28 +1442,18 @@ quaternion_initializer : '<' expression ',' expression ',' expression ',' expression '>' %prec INITIALIZER { $$ = new LLScriptQuaternionInitializer(gLine, gColumn, $2, $4, $6, $8); - gAllocationManager->addAllocation($$); } | ZERO_ROTATION { LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, 0.f); - gAllocationManager->addAllocation(cf0); LLScriptConstantExpression *sa0 = new LLScriptConstantExpression(gLine, gColumn, cf0); - gAllocationManager->addAllocation(sa0); LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, 0.f); - gAllocationManager->addAllocation(cf1); LLScriptConstantExpression *sa1 = new LLScriptConstantExpression(gLine, gColumn, cf1); - gAllocationManager->addAllocation(sa1); LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f); - gAllocationManager->addAllocation(cf2); LLScriptConstantExpression *sa2 = new LLScriptConstantExpression(gLine, gColumn, cf2); - gAllocationManager->addAllocation(sa2); LLScriptConstantFloat *cf3 = new LLScriptConstantFloat(gLine, gColumn, 1.f); - gAllocationManager->addAllocation(cf3); LLScriptConstantExpression *sa3 = new LLScriptConstantExpression(gLine, gColumn, cf3); - gAllocationManager->addAllocation(sa3); $$ = new LLScriptQuaternionInitializer(gLine, gColumn, sa0, sa1, sa2, sa3); - gAllocationManager->addAllocation($$); } ; @@ -1772,7 +1461,6 @@ list_initializer : '[' listexpressionlist ']' %prec INITIALIZER { $$ = new LLScriptListInitializer(gLine, gColumn, $2); - gAllocationManager->addAllocation($$); } ; @@ -1780,18 +1468,13 @@ lvalue : IDENTIFIER { LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $1); - gAllocationManager->addAllocation(id); $$ = new LLScriptLValue(gLine, gColumn, id, NULL); - gAllocationManager->addAllocation($$); } | IDENTIFIER PERIOD IDENTIFIER { LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $1); - gAllocationManager->addAllocation(id); LLScriptIdentifier *ac = new LLScriptIdentifier(gLine, gColumn, $3); - gAllocationManager->addAllocation(id); $$ = new LLScriptLValue(gLine, gColumn, id, ac); - gAllocationManager->addAllocation($$); } ; 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) Eina_Bool result = EINA_FALSE; // Parse the LSL script, validating it and reporting errors. +// Just pass all constants and function names through to Lua, assume they are globals there. // Take the result of the parse, and convert it into Lua source. // 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 @@ */ typedef union tagTypeParser { - SExpression *expression; - int value; + SExpression *expression; + int value; + int ival; + float fval; + char *sval; +// class LLScriptType *type; +// class LLScriptConstant *constant; +// class LLScriptIdentifier *identifier; +// class LLScriptSimpleAssignable *assignable; +// class LLScriptGlobalVariable *global; +// class LLScriptEvent *event; +// class LLScriptEventHandler *handler; +// class LLScriptExpression *expression; +// class LLScriptStatement *statement; +// class LLScriptGlobalFunctions *global_funcs; +// class LLScriptFunctionDec *global_decl; +// class LLScriptState *state; +// class LLScritpGlobalStorage *global_store; +// class LLScriptScript *script; }STypeParser; // define the type for flex and bison @@ -26,4 +43,3 @@ int yyerror(const char *msg); #endif // __TYPE_PARSER_H__ - -- cgit v1.1