aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/LuaSL/src/LuaSL_LSL_yaccer.y
diff options
context:
space:
mode:
Diffstat (limited to 'LuaSL/src/LuaSL_LSL_yaccer.y')
-rw-r--r--LuaSL/src/LuaSL_LSL_yaccer.y317
1 files changed, 0 insertions, 317 deletions
diff --git a/LuaSL/src/LuaSL_LSL_yaccer.y b/LuaSL/src/LuaSL_LSL_yaccer.y
index e4b10ff..1583b0b 100644
--- a/LuaSL/src/LuaSL_LSL_yaccer.y
+++ b/LuaSL/src/LuaSL_LSL_yaccer.y
@@ -25,26 +25,6 @@
25 #endif 25 #endif
26%} 26%}
27 27
28%union
29{
30 S32 ival;
31 F32 fval;
32 char *sval;
33 class LLScriptType *type;
34 class LLScriptConstant *constant;
35 class LLScriptIdentifier *identifier;
36 class LLScriptSimpleAssignable *assignable;
37 class LLScriptGlobalVariable *global;
38 class LLScriptEvent *event;
39 class LLScriptEventHandler *handler;
40 class LLScriptExpression *expression;
41 class LLScriptStatement *statement;
42 class LLScriptGlobalFunctions *global_funcs;
43 class LLScriptFunctionDec *global_decl;
44 class LLScriptState *state;
45 class LLScritpGlobalStorage *global_store;
46 class LLScriptScript *script;
47};
48 28
49%token INTEGER 29%token INTEGER
50%token FLOAT_TYPE 30%token FLOAT_TYPE
@@ -275,13 +255,11 @@ lscript_program
275 : globals states 255 : globals states
276 { 256 {
277 $$ = new LLScriptScript($1, $2); 257 $$ = new LLScriptScript($1, $2);
278 gAllocationManager->addAllocation($$);
279 gScriptp = $$; 258 gScriptp = $$;
280 } 259 }
281 | states 260 | states
282 { 261 {
283 $$ = new LLScriptScript(NULL, $1); 262 $$ = new LLScriptScript(NULL, $1);
284 gAllocationManager->addAllocation($$);
285 gScriptp = $$; 263 gScriptp = $$;
286 } 264 }
287 ; 265 ;
@@ -302,12 +280,10 @@ global
302 : global_variable 280 : global_variable
303 { 281 {
304 $$ = new LLScritpGlobalStorage($1); 282 $$ = new LLScritpGlobalStorage($1);
305 gAllocationManager->addAllocation($$);
306 } 283 }
307 | global_function 284 | global_function
308 { 285 {
309 $$ = new LLScritpGlobalStorage($1); 286 $$ = new LLScritpGlobalStorage($1);
310 gAllocationManager->addAllocation($$);
311 } 287 }
312 ; 288 ;
313 289
@@ -315,7 +291,6 @@ name_type
315 : typename IDENTIFIER 291 : typename IDENTIFIER
316 { 292 {
317 $$ = new LLScriptIdentifier(gLine, gColumn, $2, $1); 293 $$ = new LLScriptIdentifier(gLine, gColumn, $2, $1);
318 gAllocationManager->addAllocation($$);
319 } 294 }
320 ; 295 ;
321 296
@@ -323,12 +298,10 @@ global_variable
323 : name_type ';' 298 : name_type ';'
324 { 299 {
325 $$ = new LLScriptGlobalVariable(gLine, gColumn, $1->mType, $1, NULL); 300 $$ = new LLScriptGlobalVariable(gLine, gColumn, $1->mType, $1, NULL);
326 gAllocationManager->addAllocation($$);
327 } 301 }
328 | name_type '=' simple_assignable ';' 302 | name_type '=' simple_assignable ';'
329 { 303 {
330 $$ = new LLScriptGlobalVariable(gLine, gColumn, $1->mType, $1, $3); 304 $$ = new LLScriptGlobalVariable(gLine, gColumn, $1->mType, $1, $3);
331 gAllocationManager->addAllocation($$);
332 } 305 }
333 ; 306 ;
334 307
@@ -347,14 +320,11 @@ simple_assignable_no_list
347 : IDENTIFIER 320 : IDENTIFIER
348 { 321 {
349 LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $1); 322 LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $1);
350 gAllocationManager->addAllocation(id);
351 $$ = new LLScriptSAIdentifier(gLine, gColumn, id); 323 $$ = new LLScriptSAIdentifier(gLine, gColumn, id);
352 gAllocationManager->addAllocation($$);
353 } 324 }
354 | constant 325 | constant
355 { 326 {
356 $$ = new LLScriptSAConstant(gLine, gColumn, $1); 327 $$ = new LLScriptSAConstant(gLine, gColumn, $1);
357 gAllocationManager->addAllocation($$);
358 } 328 }
359 | special_constant 329 | special_constant
360 { 330 {
@@ -366,17 +336,14 @@ constant
366 : integer_constant 336 : integer_constant
367 { 337 {
368 $$ = new LLScriptConstantInteger(gLine, gColumn, $1); 338 $$ = new LLScriptConstantInteger(gLine, gColumn, $1);
369 gAllocationManager->addAllocation($$);
370 } 339 }
371 | fp_constant 340 | fp_constant
372 { 341 {
373 $$ = new LLScriptConstantFloat(gLine, gColumn, $1); 342 $$ = new LLScriptConstantFloat(gLine, gColumn, $1);
374 gAllocationManager->addAllocation($$);
375 } 343 }
376 | STRING_CONSTANT 344 | STRING_CONSTANT
377 { 345 {
378 $$ = new LLScriptConstantString(gLine, gColumn, $1); 346 $$ = new LLScriptConstantString(gLine, gColumn, $1);
379 gAllocationManager->addAllocation($$);
380 } 347 }
381 ; 348 ;
382 349
@@ -425,58 +392,36 @@ vector_constant
425 : '<' simple_assignable ',' simple_assignable ',' simple_assignable '>' 392 : '<' simple_assignable ',' simple_assignable ',' simple_assignable '>'
426 { 393 {
427 $$ = new LLScriptSAVector(gLine, gColumn, $2, $4, $6); 394 $$ = new LLScriptSAVector(gLine, gColumn, $2, $4, $6);
428 gAllocationManager->addAllocation($$);
429 } 395 }
430 | ZERO_VECTOR 396 | ZERO_VECTOR
431 { 397 {
432 LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, 0.f); 398 LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, 0.f);
433 gAllocationManager->addAllocation(cf0);
434 LLScriptSAConstant *sa0 = new LLScriptSAConstant(gLine, gColumn, cf0); 399 LLScriptSAConstant *sa0 = new LLScriptSAConstant(gLine, gColumn, cf0);
435 gAllocationManager->addAllocation(sa0);
436 LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, 0.f); 400 LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, 0.f);
437 gAllocationManager->addAllocation(cf1);
438 LLScriptSAConstant *sa1 = new LLScriptSAConstant(gLine, gColumn, cf1); 401 LLScriptSAConstant *sa1 = new LLScriptSAConstant(gLine, gColumn, cf1);
439 gAllocationManager->addAllocation(sa1);
440 LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f); 402 LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f);
441 gAllocationManager->addAllocation(cf2);
442 LLScriptSAConstant *sa2 = new LLScriptSAConstant(gLine, gColumn, cf2); 403 LLScriptSAConstant *sa2 = new LLScriptSAConstant(gLine, gColumn, cf2);
443 gAllocationManager->addAllocation(sa2);
444 $$ = new LLScriptSAVector(gLine, gColumn, sa0, sa1, sa2); 404 $$ = new LLScriptSAVector(gLine, gColumn, sa0, sa1, sa2);
445 gAllocationManager->addAllocation($$);
446 } 405 }
447 | TOUCH_INVALID_VECTOR 406 | TOUCH_INVALID_VECTOR
448 { 407 {
449 LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, 0.f); 408 LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, 0.f);
450 gAllocationManager->addAllocation(cf0);
451 LLScriptSAConstant *sa0 = new LLScriptSAConstant(gLine, gColumn, cf0); 409 LLScriptSAConstant *sa0 = new LLScriptSAConstant(gLine, gColumn, cf0);
452 gAllocationManager->addAllocation(sa0);
453 LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, 0.f); 410 LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, 0.f);
454 gAllocationManager->addAllocation(cf1);
455 LLScriptSAConstant *sa1 = new LLScriptSAConstant(gLine, gColumn, cf1); 411 LLScriptSAConstant *sa1 = new LLScriptSAConstant(gLine, gColumn, cf1);
456 gAllocationManager->addAllocation(sa1);
457 LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f); 412 LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f);
458 gAllocationManager->addAllocation(cf2);
459 LLScriptSAConstant *sa2 = new LLScriptSAConstant(gLine, gColumn, cf2); 413 LLScriptSAConstant *sa2 = new LLScriptSAConstant(gLine, gColumn, cf2);
460 gAllocationManager->addAllocation(sa2);
461 $$ = new LLScriptSAVector(gLine, gColumn, sa0, sa1, sa2); 414 $$ = new LLScriptSAVector(gLine, gColumn, sa0, sa1, sa2);
462 gAllocationManager->addAllocation($$);
463 } 415 }
464 | TOUCH_INVALID_TEXCOORD 416 | TOUCH_INVALID_TEXCOORD
465 { 417 {
466 LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, -1.f); 418 LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, -1.f);
467 gAllocationManager->addAllocation(cf0);
468 LLScriptSAConstant *sa0 = new LLScriptSAConstant(gLine, gColumn, cf0); 419 LLScriptSAConstant *sa0 = new LLScriptSAConstant(gLine, gColumn, cf0);
469 gAllocationManager->addAllocation(sa0);
470 LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, -1.f); 420 LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, -1.f);
471 gAllocationManager->addAllocation(cf1);
472 LLScriptSAConstant *sa1 = new LLScriptSAConstant(gLine, gColumn, cf1); 421 LLScriptSAConstant *sa1 = new LLScriptSAConstant(gLine, gColumn, cf1);
473 gAllocationManager->addAllocation(sa1);
474 LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f); 422 LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f);
475 gAllocationManager->addAllocation(cf2);
476 LLScriptSAConstant *sa2 = new LLScriptSAConstant(gLine, gColumn, cf2); 423 LLScriptSAConstant *sa2 = new LLScriptSAConstant(gLine, gColumn, cf2);
477 gAllocationManager->addAllocation(sa2);
478 $$ = new LLScriptSAVector(gLine, gColumn, sa0, sa1, sa2); 424 $$ = new LLScriptSAVector(gLine, gColumn, sa0, sa1, sa2);
479 gAllocationManager->addAllocation($$);
480 } 425 }
481 ; 426 ;
482 427
@@ -484,28 +429,18 @@ quaternion_constant
484 : '<' simple_assignable ',' simple_assignable ',' simple_assignable ',' simple_assignable '>' 429 : '<' simple_assignable ',' simple_assignable ',' simple_assignable ',' simple_assignable '>'
485 { 430 {
486 $$ = new LLScriptSAQuaternion(gLine, gColumn, $2, $4, $6, $8); 431 $$ = new LLScriptSAQuaternion(gLine, gColumn, $2, $4, $6, $8);
487 gAllocationManager->addAllocation($$);
488 } 432 }
489 | ZERO_ROTATION 433 | ZERO_ROTATION
490 { 434 {
491 LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, 0.f); 435 LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, 0.f);
492 gAllocationManager->addAllocation(cf0);
493 LLScriptSAConstant *sa0 = new LLScriptSAConstant(gLine, gColumn, cf0); 436 LLScriptSAConstant *sa0 = new LLScriptSAConstant(gLine, gColumn, cf0);
494 gAllocationManager->addAllocation(sa0);
495 LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, 0.f); 437 LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, 0.f);
496 gAllocationManager->addAllocation(cf1);
497 LLScriptSAConstant *sa1 = new LLScriptSAConstant(gLine, gColumn, cf1); 438 LLScriptSAConstant *sa1 = new LLScriptSAConstant(gLine, gColumn, cf1);
498 gAllocationManager->addAllocation(sa1);
499 LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f); 439 LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f);
500 gAllocationManager->addAllocation(cf2);
501 LLScriptSAConstant *sa2 = new LLScriptSAConstant(gLine, gColumn, cf2); 440 LLScriptSAConstant *sa2 = new LLScriptSAConstant(gLine, gColumn, cf2);
502 gAllocationManager->addAllocation(sa2);
503 LLScriptConstantFloat *cf3 = new LLScriptConstantFloat(gLine, gColumn, 1.f); 441 LLScriptConstantFloat *cf3 = new LLScriptConstantFloat(gLine, gColumn, 1.f);
504 gAllocationManager->addAllocation(cf3);
505 LLScriptSAConstant *sa3 = new LLScriptSAConstant(gLine, gColumn, cf3); 442 LLScriptSAConstant *sa3 = new LLScriptSAConstant(gLine, gColumn, cf3);
506 gAllocationManager->addAllocation(sa3);
507 $$ = new LLScriptSAQuaternion(gLine, gColumn, sa0, sa1, sa2, sa3); 443 $$ = new LLScriptSAQuaternion(gLine, gColumn, sa0, sa1, sa2, sa3);
508 gAllocationManager->addAllocation($$);
509 } 444 }
510 ; 445 ;
511 446
@@ -513,12 +448,10 @@ list_constant
513 : '[' list_entries ']' 448 : '[' list_entries ']'
514 { 449 {
515 $$ = new LLScriptSAList(gLine, gColumn, $2); 450 $$ = new LLScriptSAList(gLine, gColumn, $2);
516 gAllocationManager->addAllocation($$);
517 } 451 }
518 | '[' ']' 452 | '[' ']'
519 { 453 {
520 $$ = new LLScriptSAList(gLine, gColumn, NULL); 454 $$ = new LLScriptSAList(gLine, gColumn, NULL);
521 gAllocationManager->addAllocation($$);
522 } 455 }
523 ; 456 ;
524 457
@@ -545,37 +478,30 @@ typename
545 : INTEGER 478 : INTEGER
546 { 479 {
547 $$ = new LLScriptType(gLine, gColumn, LST_INTEGER); 480 $$ = new LLScriptType(gLine, gColumn, LST_INTEGER);
548 gAllocationManager->addAllocation($$);
549 } 481 }
550 | FLOAT_TYPE 482 | FLOAT_TYPE
551 { 483 {
552 $$ = new LLScriptType(gLine, gColumn, LST_FLOATINGPOINT); 484 $$ = new LLScriptType(gLine, gColumn, LST_FLOATINGPOINT);
553 gAllocationManager->addAllocation($$);
554 } 485 }
555 | STRING 486 | STRING
556 { 487 {
557 $$ = new LLScriptType(gLine, gColumn, LST_STRING); 488 $$ = new LLScriptType(gLine, gColumn, LST_STRING);
558 gAllocationManager->addAllocation($$);
559 } 489 }
560 | LLKEY 490 | LLKEY
561 { 491 {
562 $$ = new LLScriptType(gLine, gColumn, LST_KEY); 492 $$ = new LLScriptType(gLine, gColumn, LST_KEY);
563 gAllocationManager->addAllocation($$);
564 } 493 }
565 | VECTOR 494 | VECTOR
566 { 495 {
567 $$ = new LLScriptType(gLine, gColumn, LST_VECTOR); 496 $$ = new LLScriptType(gLine, gColumn, LST_VECTOR);
568 gAllocationManager->addAllocation($$);
569 } 497 }
570 | QUATERNION 498 | QUATERNION
571 { 499 {
572 $$ = new LLScriptType(gLine, gColumn, LST_QUATERNION); 500 $$ = new LLScriptType(gLine, gColumn, LST_QUATERNION);
573 gAllocationManager->addAllocation($$);
574 } 501 }
575 | LIST 502 | LIST
576 { 503 {
577 $$ = new LLScriptType(gLine, gColumn, LST_LIST); 504 $$ = new LLScriptType(gLine, gColumn, LST_LIST);
578 gAllocationManager->addAllocation($$);
579 } 505 }
580 ; 506 ;
581 507
@@ -583,26 +509,20 @@ global_function
583 : IDENTIFIER '(' ')' compound_statement 509 : IDENTIFIER '(' ')' compound_statement
584 { 510 {
585 LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $1); 511 LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $1);
586 gAllocationManager->addAllocation(id);
587 $$ = new LLScriptGlobalFunctions(gLine, gColumn, NULL, id, NULL, $4); 512 $$ = new LLScriptGlobalFunctions(gLine, gColumn, NULL, id, NULL, $4);
588 gAllocationManager->addAllocation($$);
589 } 513 }
590 | name_type '(' ')' compound_statement 514 | name_type '(' ')' compound_statement
591 { 515 {
592 $$ = new LLScriptGlobalFunctions(gLine, gColumn, $1->mType, $1, NULL, $4); 516 $$ = new LLScriptGlobalFunctions(gLine, gColumn, $1->mType, $1, NULL, $4);
593 gAllocationManager->addAllocation($$);
594 } 517 }
595 | IDENTIFIER '(' function_parameters ')' compound_statement 518 | IDENTIFIER '(' function_parameters ')' compound_statement
596 { 519 {
597 LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $1); 520 LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $1);
598 gAllocationManager->addAllocation(id);
599 $$ = new LLScriptGlobalFunctions(gLine, gColumn, NULL, id, $3, $5); 521 $$ = new LLScriptGlobalFunctions(gLine, gColumn, NULL, id, $3, $5);
600 gAllocationManager->addAllocation($$);
601 } 522 }
602 | name_type '(' function_parameters ')' compound_statement 523 | name_type '(' function_parameters ')' compound_statement
603 { 524 {
604 $$ = new LLScriptGlobalFunctions(gLine, gColumn, $1->mType, $1, $3, $5); 525 $$ = new LLScriptGlobalFunctions(gLine, gColumn, $1->mType, $1, $3, $5);
605 gAllocationManager->addAllocation($$);
606 } 526 }
607 ; 527 ;
608 528
@@ -622,9 +542,7 @@ function_parameter
622 : typename IDENTIFIER 542 : typename IDENTIFIER
623 { 543 {
624 LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $2); 544 LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $2);
625 gAllocationManager->addAllocation(id);
626 $$ = new LLScriptFunctionDec(gLine, gColumn, $1, id); 545 $$ = new LLScriptFunctionDec(gLine, gColumn, $1, id);
627 gAllocationManager->addAllocation($$);
628 } 546 }
629 ; 547 ;
630 548
@@ -656,9 +574,7 @@ default
656 : STATE_DEFAULT '{' state_body '}' 574 : STATE_DEFAULT '{' state_body '}'
657 { 575 {
658 LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $1); 576 LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $1);
659 gAllocationManager->addAllocation(id);
660 $$ = new LLScriptState(gLine, gColumn, LSSTYPE_DEFAULT, id, $3); 577 $$ = new LLScriptState(gLine, gColumn, LSSTYPE_DEFAULT, id, $3);
661 gAllocationManager->addAllocation($$);
662 } 578 }
663 ; 579 ;
664 580
@@ -666,9 +582,7 @@ state
666 : STATE IDENTIFIER '{' state_body '}' 582 : STATE IDENTIFIER '{' state_body '}'
667 { 583 {
668 LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $2); 584 LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $2);
669 gAllocationManager->addAllocation(id);
670 $$ = new LLScriptState(gLine, gColumn, LSSTYPE_USER, id, $4); 585 $$ = new LLScriptState(gLine, gColumn, LSSTYPE_USER, id, $4);
671 gAllocationManager->addAllocation($$);
672 } 586 }
673 ; 587 ;
674 588
@@ -688,172 +602,138 @@ event
688 : state_entry compound_statement 602 : state_entry compound_statement
689 { 603 {
690 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); 604 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2);
691 gAllocationManager->addAllocation($$);
692 } 605 }
693 | state_exit compound_statement 606 | state_exit compound_statement
694 { 607 {
695 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); 608 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2);
696 gAllocationManager->addAllocation($$);
697 } 609 }
698 | touch_start compound_statement 610 | touch_start compound_statement
699 { 611 {
700 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); 612 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2);
701 gAllocationManager->addAllocation($$);
702 } 613 }
703 | touch compound_statement 614 | touch compound_statement
704 { 615 {
705 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); 616 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2);
706 gAllocationManager->addAllocation($$);
707 } 617 }
708 | touch_end compound_statement 618 | touch_end compound_statement
709 { 619 {
710 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); 620 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2);
711 gAllocationManager->addAllocation($$);
712 } 621 }
713 | collision_start compound_statement 622 | collision_start compound_statement
714 { 623 {
715 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); 624 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2);
716 gAllocationManager->addAllocation($$);
717 } 625 }
718 | collision compound_statement 626 | collision compound_statement
719 { 627 {
720 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); 628 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2);
721 gAllocationManager->addAllocation($$);
722 } 629 }
723 | collision_end compound_statement 630 | collision_end compound_statement
724 { 631 {
725 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); 632 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2);
726 gAllocationManager->addAllocation($$);
727 } 633 }
728 | land_collision_start compound_statement 634 | land_collision_start compound_statement
729 { 635 {
730 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); 636 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2);
731 gAllocationManager->addAllocation($$);
732 } 637 }
733 | land_collision compound_statement 638 | land_collision compound_statement
734 { 639 {
735 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); 640 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2);
736 gAllocationManager->addAllocation($$);
737 } 641 }
738 | land_collision_end compound_statement 642 | land_collision_end compound_statement
739 { 643 {
740 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); 644 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2);
741 gAllocationManager->addAllocation($$);
742 } 645 }
743 | timer compound_statement 646 | timer compound_statement
744 { 647 {
745 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); 648 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2);
746 gAllocationManager->addAllocation($$);
747 } 649 }
748 | chat compound_statement 650 | chat compound_statement
749 { 651 {
750 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); 652 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2);
751 gAllocationManager->addAllocation($$);
752 } 653 }
753 | sensor compound_statement 654 | sensor compound_statement
754 { 655 {
755 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); 656 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2);
756 gAllocationManager->addAllocation($$);
757 } 657 }
758 | no_sensor compound_statement 658 | no_sensor compound_statement
759 { 659 {
760 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); 660 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2);
761 gAllocationManager->addAllocation($$);
762 } 661 }
763 | at_target compound_statement 662 | at_target compound_statement
764 { 663 {
765 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); 664 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2);
766 gAllocationManager->addAllocation($$);
767 } 665 }
768 | not_at_target compound_statement 666 | not_at_target compound_statement
769 { 667 {
770 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); 668 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2);
771 gAllocationManager->addAllocation($$);
772 } 669 }
773 | at_rot_target compound_statement 670 | at_rot_target compound_statement
774 { 671 {
775 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); 672 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2);
776 gAllocationManager->addAllocation($$);
777 } 673 }
778 | not_at_rot_target compound_statement 674 | not_at_rot_target compound_statement
779 { 675 {
780 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); 676 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2);
781 gAllocationManager->addAllocation($$);
782 } 677 }
783 | money compound_statement 678 | money compound_statement
784 { 679 {
785 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); 680 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2);
786 gAllocationManager->addAllocation($$);
787 } 681 }
788 | email compound_statement 682 | email compound_statement
789 { 683 {
790 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); 684 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2);
791 gAllocationManager->addAllocation($$);
792 } 685 }
793 | run_time_permissions compound_statement 686 | run_time_permissions compound_statement
794 { 687 {
795 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); 688 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2);
796 gAllocationManager->addAllocation($$);
797 } 689 }
798 | inventory compound_statement 690 | inventory compound_statement
799 { 691 {
800 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); 692 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2);
801 gAllocationManager->addAllocation($$);
802 } 693 }
803 | attach compound_statement 694 | attach compound_statement
804 { 695 {
805 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); 696 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2);
806 gAllocationManager->addAllocation($$);
807 } 697 }
808 | dataserver compound_statement 698 | dataserver compound_statement
809 { 699 {
810 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); 700 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2);
811 gAllocationManager->addAllocation($$);
812 } 701 }
813 | control compound_statement 702 | control compound_statement
814 { 703 {
815 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); 704 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2);
816 gAllocationManager->addAllocation($$);
817 } 705 }
818 | moving_start compound_statement 706 | moving_start compound_statement
819 { 707 {
820 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); 708 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2);
821 gAllocationManager->addAllocation($$);
822 } 709 }
823 | moving_end compound_statement 710 | moving_end compound_statement
824 { 711 {
825 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); 712 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2);
826 gAllocationManager->addAllocation($$);
827 } 713 }
828 | rez compound_statement 714 | rez compound_statement
829 { 715 {
830 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); 716 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2);
831 gAllocationManager->addAllocation($$);
832 } 717 }
833 | object_rez compound_statement 718 | object_rez compound_statement
834 { 719 {
835 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); 720 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2);
836 gAllocationManager->addAllocation($$);
837 } 721 }
838 | link_message compound_statement 722 | link_message compound_statement
839 { 723 {
840 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); 724 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2);
841 gAllocationManager->addAllocation($$);
842 } 725 }
843 | remote_data compound_statement 726 | remote_data compound_statement
844 { 727 {
845 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); 728 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2);
846 gAllocationManager->addAllocation($$);
847 } 729 }
848 | http_response compound_statement 730 | http_response compound_statement
849 { 731 {
850 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); 732 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2);
851 gAllocationManager->addAllocation($$);
852 } 733 }
853 | http_request compound_statement 734 | http_request compound_statement
854 { 735 {
855 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); 736 $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2);
856 gAllocationManager->addAllocation($$);
857 } 737 }
858 ; 738 ;
859 739
@@ -861,7 +741,6 @@ state_entry
861 : STATE_ENTRY '(' ')' 741 : STATE_ENTRY '(' ')'
862 { 742 {
863 $$ = new LLScriptStateEntryEvent(gLine, gColumn); 743 $$ = new LLScriptStateEntryEvent(gLine, gColumn);
864 gAllocationManager->addAllocation($$);
865 } 744 }
866 ; 745 ;
867 746
@@ -869,7 +748,6 @@ state_exit
869 : STATE_EXIT '(' ')' 748 : STATE_EXIT '(' ')'
870 { 749 {
871 $$ = new LLScriptStateExitEvent(gLine, gColumn); 750 $$ = new LLScriptStateExitEvent(gLine, gColumn);
872 gAllocationManager->addAllocation($$);
873 } 751 }
874 ; 752 ;
875 753
@@ -877,9 +755,7 @@ touch_start
877 : TOUCH_START '(' INTEGER IDENTIFIER ')' 755 : TOUCH_START '(' INTEGER IDENTIFIER ')'
878 { 756 {
879 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); 757 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4);
880 gAllocationManager->addAllocation(id1);
881 $$ = new LLScriptTouchStartEvent(gLine, gColumn, id1); 758 $$ = new LLScriptTouchStartEvent(gLine, gColumn, id1);
882 gAllocationManager->addAllocation($$);
883 } 759 }
884 ; 760 ;
885 761
@@ -887,9 +763,7 @@ touch
887 : TOUCH '(' INTEGER IDENTIFIER ')' 763 : TOUCH '(' INTEGER IDENTIFIER ')'
888 { 764 {
889 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); 765 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4);
890 gAllocationManager->addAllocation(id1);
891 $$ = new LLScriptTouchEvent(gLine, gColumn, id1); 766 $$ = new LLScriptTouchEvent(gLine, gColumn, id1);
892 gAllocationManager->addAllocation($$);
893 } 767 }
894 ; 768 ;
895 769
@@ -897,9 +771,7 @@ touch_end
897 : TOUCH_END '(' INTEGER IDENTIFIER ')' 771 : TOUCH_END '(' INTEGER IDENTIFIER ')'
898 { 772 {
899 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); 773 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4);
900 gAllocationManager->addAllocation(id1);
901 $$ = new LLScriptTouchEndEvent(gLine, gColumn, id1); 774 $$ = new LLScriptTouchEndEvent(gLine, gColumn, id1);
902 gAllocationManager->addAllocation($$);
903 } 775 }
904 ; 776 ;
905 777
@@ -907,9 +779,7 @@ collision_start
907 : COLLISION_START '(' INTEGER IDENTIFIER ')' 779 : COLLISION_START '(' INTEGER IDENTIFIER ')'
908 { 780 {
909 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); 781 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4);
910 gAllocationManager->addAllocation(id1);
911 $$ = new LLScriptCollisionStartEvent(gLine, gColumn, id1); 782 $$ = new LLScriptCollisionStartEvent(gLine, gColumn, id1);
912 gAllocationManager->addAllocation($$);
913 } 783 }
914 ; 784 ;
915 785
@@ -917,9 +787,7 @@ collision
917 : COLLISION '(' INTEGER IDENTIFIER ')' 787 : COLLISION '(' INTEGER IDENTIFIER ')'
918 { 788 {
919 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); 789 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4);
920 gAllocationManager->addAllocation(id1);
921 $$ = new LLScriptCollisionEvent(gLine, gColumn, id1); 790 $$ = new LLScriptCollisionEvent(gLine, gColumn, id1);
922 gAllocationManager->addAllocation($$);
923 } 791 }
924 ; 792 ;
925 793
@@ -927,9 +795,7 @@ collision_end
927 : COLLISION_END '(' INTEGER IDENTIFIER ')' 795 : COLLISION_END '(' INTEGER IDENTIFIER ')'
928 { 796 {
929 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); 797 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4);
930 gAllocationManager->addAllocation(id1);
931 $$ = new LLScriptCollisionEndEvent(gLine, gColumn, id1); 798 $$ = new LLScriptCollisionEndEvent(gLine, gColumn, id1);
932 gAllocationManager->addAllocation($$);
933 } 799 }
934 ; 800 ;
935 801
@@ -937,9 +803,7 @@ land_collision_start
937 : LAND_COLLISION_START '(' VECTOR IDENTIFIER ')' 803 : LAND_COLLISION_START '(' VECTOR IDENTIFIER ')'
938 { 804 {
939 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); 805 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4);
940 gAllocationManager->addAllocation(id1);
941 $$ = new LLScriptLandCollisionStartEvent(gLine, gColumn, id1); 806 $$ = new LLScriptLandCollisionStartEvent(gLine, gColumn, id1);
942 gAllocationManager->addAllocation($$);
943 } 807 }
944 ; 808 ;
945 809
@@ -947,9 +811,7 @@ land_collision
947 : LAND_COLLISION '(' VECTOR IDENTIFIER ')' 811 : LAND_COLLISION '(' VECTOR IDENTIFIER ')'
948 { 812 {
949 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); 813 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4);
950 gAllocationManager->addAllocation(id1);
951 $$ = new LLScriptLandCollisionEvent(gLine, gColumn, id1); 814 $$ = new LLScriptLandCollisionEvent(gLine, gColumn, id1);
952 gAllocationManager->addAllocation($$);
953 } 815 }
954 ; 816 ;
955 817
@@ -957,9 +819,7 @@ land_collision_end
957 : LAND_COLLISION_END '(' VECTOR IDENTIFIER ')' 819 : LAND_COLLISION_END '(' VECTOR IDENTIFIER ')'
958 { 820 {
959 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); 821 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4);
960 gAllocationManager->addAllocation(id1);
961 $$ = new LLScriptLandCollisionEndEvent(gLine, gColumn, id1); 822 $$ = new LLScriptLandCollisionEndEvent(gLine, gColumn, id1);
962 gAllocationManager->addAllocation($$);
963 } 823 }
964 ; 824 ;
965 825
@@ -967,13 +827,9 @@ at_target
967 : AT_TARGET '(' INTEGER IDENTIFIER ',' VECTOR IDENTIFIER ',' VECTOR IDENTIFIER ')' 827 : AT_TARGET '(' INTEGER IDENTIFIER ',' VECTOR IDENTIFIER ',' VECTOR IDENTIFIER ')'
968 { 828 {
969 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); 829 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4);
970 gAllocationManager->addAllocation(id1);
971 LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); 830 LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7);
972 gAllocationManager->addAllocation(id2);
973 LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10); 831 LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10);
974 gAllocationManager->addAllocation(id3);
975 $$ = new LLScriptAtTarget(gLine, gColumn, id1, id2, id3); 832 $$ = new LLScriptAtTarget(gLine, gColumn, id1, id2, id3);
976 gAllocationManager->addAllocation($$);
977 } 833 }
978 ; 834 ;
979 835
@@ -981,7 +837,6 @@ not_at_target
981 : NOT_AT_TARGET '(' ')' 837 : NOT_AT_TARGET '(' ')'
982 { 838 {
983 $$ = new LLScriptNotAtTarget(gLine, gColumn); 839 $$ = new LLScriptNotAtTarget(gLine, gColumn);
984 gAllocationManager->addAllocation($$);
985 } 840 }
986 ; 841 ;
987 842
@@ -989,13 +844,9 @@ at_rot_target
989 : AT_ROT_TARGET '(' INTEGER IDENTIFIER ',' QUATERNION IDENTIFIER ',' QUATERNION IDENTIFIER ')' 844 : AT_ROT_TARGET '(' INTEGER IDENTIFIER ',' QUATERNION IDENTIFIER ',' QUATERNION IDENTIFIER ')'
990 { 845 {
991 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); 846 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4);
992 gAllocationManager->addAllocation(id1);
993 LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); 847 LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7);
994 gAllocationManager->addAllocation(id2);
995 LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10); 848 LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10);
996 gAllocationManager->addAllocation(id3);
997 $$ = new LLScriptAtRotTarget(gLine, gColumn, id1, id2, id3); 849 $$ = new LLScriptAtRotTarget(gLine, gColumn, id1, id2, id3);
998 gAllocationManager->addAllocation($$);
999 } 850 }
1000 ; 851 ;
1001 852
@@ -1003,7 +854,6 @@ not_at_rot_target
1003 : NOT_AT_ROT_TARGET '(' ')' 854 : NOT_AT_ROT_TARGET '(' ')'
1004 { 855 {
1005 $$ = new LLScriptNotAtRotTarget(gLine, gColumn); 856 $$ = new LLScriptNotAtRotTarget(gLine, gColumn);
1006 gAllocationManager->addAllocation($$);
1007 } 857 }
1008 ; 858 ;
1009 859
@@ -1011,11 +861,8 @@ money
1011 : MONEY '(' LLKEY IDENTIFIER ',' INTEGER IDENTIFIER ')' 861 : MONEY '(' LLKEY IDENTIFIER ',' INTEGER IDENTIFIER ')'
1012 { 862 {
1013 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); 863 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4);
1014 gAllocationManager->addAllocation(id1);
1015 LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); 864 LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7);
1016 gAllocationManager->addAllocation(id2);
1017 $$ = new LLScriptMoneyEvent(gLine, gColumn, id1, id2); 865 $$ = new LLScriptMoneyEvent(gLine, gColumn, id1, id2);
1018 gAllocationManager->addAllocation($$);
1019 } 866 }
1020 ; 867 ;
1021 868
@@ -1023,17 +870,11 @@ email
1023 : EMAIL '(' STRING IDENTIFIER ',' STRING IDENTIFIER ',' STRING IDENTIFIER ',' STRING IDENTIFIER ',' INTEGER IDENTIFIER ')' 870 : EMAIL '(' STRING IDENTIFIER ',' STRING IDENTIFIER ',' STRING IDENTIFIER ',' STRING IDENTIFIER ',' INTEGER IDENTIFIER ')'
1024 { 871 {
1025 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); 872 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4);
1026 gAllocationManager->addAllocation(id1);
1027 LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); 873 LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7);
1028 gAllocationManager->addAllocation(id2);
1029 LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10); 874 LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10);
1030 gAllocationManager->addAllocation(id3);
1031 LLScriptIdentifier *id4 = new LLScriptIdentifier(gLine, gColumn, $13); 875 LLScriptIdentifier *id4 = new LLScriptIdentifier(gLine, gColumn, $13);
1032 gAllocationManager->addAllocation(id4);
1033 LLScriptIdentifier *id5 = new LLScriptIdentifier(gLine, gColumn, $16); 876 LLScriptIdentifier *id5 = new LLScriptIdentifier(gLine, gColumn, $16);
1034 gAllocationManager->addAllocation(id5);
1035 $$ = new LLScriptEmailEvent(gLine, gColumn, id1, id2, id3, id4, id5); 877 $$ = new LLScriptEmailEvent(gLine, gColumn, id1, id2, id3, id4, id5);
1036 gAllocationManager->addAllocation($$);
1037 } 878 }
1038 ; 879 ;
1039 880
@@ -1041,9 +882,7 @@ run_time_permissions
1041 : RUN_TIME_PERMISSIONS '(' INTEGER IDENTIFIER ')' 882 : RUN_TIME_PERMISSIONS '(' INTEGER IDENTIFIER ')'
1042 { 883 {
1043 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); 884 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4);
1044 gAllocationManager->addAllocation(id1);
1045 $$ = new LLScriptRTPEvent(gLine, gColumn, id1); 885 $$ = new LLScriptRTPEvent(gLine, gColumn, id1);
1046 gAllocationManager->addAllocation($$);
1047 } 886 }
1048 ; 887 ;
1049 888
@@ -1051,9 +890,7 @@ inventory
1051 : INVENTORY '(' INTEGER IDENTIFIER ')' 890 : INVENTORY '(' INTEGER IDENTIFIER ')'
1052 { 891 {
1053 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); 892 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4);
1054 gAllocationManager->addAllocation(id1);
1055 $$ = new LLScriptInventoryEvent(gLine, gColumn, id1); 893 $$ = new LLScriptInventoryEvent(gLine, gColumn, id1);
1056 gAllocationManager->addAllocation($$);
1057 } 894 }
1058 ; 895 ;
1059 896
@@ -1061,9 +898,7 @@ attach
1061 : ATTACH '(' LLKEY IDENTIFIER ')' 898 : ATTACH '(' LLKEY IDENTIFIER ')'
1062 { 899 {
1063 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); 900 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4);
1064 gAllocationManager->addAllocation(id1);
1065 $$ = new LLScriptAttachEvent(gLine, gColumn, id1); 901 $$ = new LLScriptAttachEvent(gLine, gColumn, id1);
1066 gAllocationManager->addAllocation($$);
1067 } 902 }
1068 ; 903 ;
1069 904
@@ -1071,11 +906,8 @@ dataserver
1071 : DATASERVER '(' LLKEY IDENTIFIER ',' STRING IDENTIFIER')' 906 : DATASERVER '(' LLKEY IDENTIFIER ',' STRING IDENTIFIER')'
1072 { 907 {
1073 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); 908 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4);
1074 gAllocationManager->addAllocation(id1);
1075 LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); 909 LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7);
1076 gAllocationManager->addAllocation(id2);
1077 $$ = new LLScriptDataserverEvent(gLine, gColumn, id1, id2); 910 $$ = new LLScriptDataserverEvent(gLine, gColumn, id1, id2);
1078 gAllocationManager->addAllocation($$);
1079 } 911 }
1080 ; 912 ;
1081 913
@@ -1083,7 +915,6 @@ moving_start
1083 : MOVING_START '(' ')' 915 : MOVING_START '(' ')'
1084 { 916 {
1085 $$ = new LLScriptMovingStartEvent(gLine, gColumn); 917 $$ = new LLScriptMovingStartEvent(gLine, gColumn);
1086 gAllocationManager->addAllocation($$);
1087 } 918 }
1088 ; 919 ;
1089 920
@@ -1091,7 +922,6 @@ moving_end
1091 : MOVING_END '(' ')' 922 : MOVING_END '(' ')'
1092 { 923 {
1093 $$ = new LLScriptMovingEndEvent(gLine, gColumn); 924 $$ = new LLScriptMovingEndEvent(gLine, gColumn);
1094 gAllocationManager->addAllocation($$);
1095 } 925 }
1096 ; 926 ;
1097 927
@@ -1099,7 +929,6 @@ timer
1099 : TIMER '(' ')' 929 : TIMER '(' ')'
1100 { 930 {
1101 $$ = new LLScriptTimerEvent(gLine, gColumn); 931 $$ = new LLScriptTimerEvent(gLine, gColumn);
1102 gAllocationManager->addAllocation($$);
1103 } 932 }
1104 ; 933 ;
1105 934
@@ -1107,15 +936,10 @@ chat
1107 : CHAT '(' INTEGER IDENTIFIER ',' STRING IDENTIFIER ',' LLKEY IDENTIFIER ',' STRING IDENTIFIER ')' 936 : CHAT '(' INTEGER IDENTIFIER ',' STRING IDENTIFIER ',' LLKEY IDENTIFIER ',' STRING IDENTIFIER ')'
1108 { 937 {
1109 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); 938 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4);
1110 gAllocationManager->addAllocation(id1);
1111 LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); 939 LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7);
1112 gAllocationManager->addAllocation(id2);
1113 LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10); 940 LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10);
1114 gAllocationManager->addAllocation(id3);
1115 LLScriptIdentifier *id4 = new LLScriptIdentifier(gLine, gColumn, $13); 941 LLScriptIdentifier *id4 = new LLScriptIdentifier(gLine, gColumn, $13);
1116 gAllocationManager->addAllocation(id4);
1117 $$ = new LLScriptChatEvent(gLine, gColumn, id1, id2, id3, id4); 942 $$ = new LLScriptChatEvent(gLine, gColumn, id1, id2, id3, id4);
1118 gAllocationManager->addAllocation($$);
1119 } 943 }
1120 ; 944 ;
1121 945
@@ -1123,9 +947,7 @@ sensor
1123 : SENSOR '(' INTEGER IDENTIFIER ')' 947 : SENSOR '(' INTEGER IDENTIFIER ')'
1124 { 948 {
1125 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); 949 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4);
1126 gAllocationManager->addAllocation(id1);
1127 $$ = new LLScriptSensorEvent(gLine, gColumn, id1); 950 $$ = new LLScriptSensorEvent(gLine, gColumn, id1);
1128 gAllocationManager->addAllocation($$);
1129 } 951 }
1130 ; 952 ;
1131 953
@@ -1133,7 +955,6 @@ no_sensor
1133 : NO_SENSOR '(' ')' 955 : NO_SENSOR '(' ')'
1134 { 956 {
1135 $$ = new LLScriptNoSensorEvent(gLine, gColumn); 957 $$ = new LLScriptNoSensorEvent(gLine, gColumn);
1136 gAllocationManager->addAllocation($$);
1137 } 958 }
1138 ; 959 ;
1139 960
@@ -1141,13 +962,9 @@ control
1141 : CONTROL '(' LLKEY IDENTIFIER ',' INTEGER IDENTIFIER ',' INTEGER IDENTIFIER ')' 962 : CONTROL '(' LLKEY IDENTIFIER ',' INTEGER IDENTIFIER ',' INTEGER IDENTIFIER ')'
1142 { 963 {
1143 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); 964 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4);
1144 gAllocationManager->addAllocation(id1);
1145 LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); 965 LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7);
1146 gAllocationManager->addAllocation(id2);
1147 LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10); 966 LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10);
1148 gAllocationManager->addAllocation(id3);
1149 $$ = new LLScriptControlEvent(gLine, gColumn, id1, id2, id3); 967 $$ = new LLScriptControlEvent(gLine, gColumn, id1, id2, id3);
1150 gAllocationManager->addAllocation($$);
1151 } 968 }
1152 ; 969 ;
1153 970
@@ -1155,9 +972,7 @@ rez
1155 : REZ '(' INTEGER IDENTIFIER ')' 972 : REZ '(' INTEGER IDENTIFIER ')'
1156 { 973 {
1157 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); 974 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4);
1158 gAllocationManager->addAllocation(id1);
1159 $$ = new LLScriptRezEvent(gLine, gColumn, id1); 975 $$ = new LLScriptRezEvent(gLine, gColumn, id1);
1160 gAllocationManager->addAllocation($$);
1161 } 976 }
1162 ; 977 ;
1163 978
@@ -1165,9 +980,7 @@ object_rez
1165 : OBJECT_REZ '(' LLKEY IDENTIFIER ')' 980 : OBJECT_REZ '(' LLKEY IDENTIFIER ')'
1166 { 981 {
1167 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); 982 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4);
1168 gAllocationManager->addAllocation(id1);
1169 $$ = new LLScriptObjectRezEvent(gLine, gColumn, id1); 983 $$ = new LLScriptObjectRezEvent(gLine, gColumn, id1);
1170 gAllocationManager->addAllocation($$);
1171 } 984 }
1172 ; 985 ;
1173 986
@@ -1175,15 +988,10 @@ link_message
1175 : LINK_MESSAGE '(' INTEGER IDENTIFIER ',' INTEGER IDENTIFIER ',' STRING IDENTIFIER ',' LLKEY IDENTIFIER ')' 988 : LINK_MESSAGE '(' INTEGER IDENTIFIER ',' INTEGER IDENTIFIER ',' STRING IDENTIFIER ',' LLKEY IDENTIFIER ')'
1176 { 989 {
1177 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); 990 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4);
1178 gAllocationManager->addAllocation(id1);
1179 LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); 991 LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7);
1180 gAllocationManager->addAllocation(id2);
1181 LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10); 992 LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10);
1182 gAllocationManager->addAllocation(id3);
1183 LLScriptIdentifier *id4 = new LLScriptIdentifier(gLine, gColumn, $13); 993 LLScriptIdentifier *id4 = new LLScriptIdentifier(gLine, gColumn, $13);
1184 gAllocationManager->addAllocation(id4);
1185 $$ = new LLScriptLinkMessageEvent(gLine, gColumn, id1, id2, id3, id4); 994 $$ = new LLScriptLinkMessageEvent(gLine, gColumn, id1, id2, id3, id4);
1186 gAllocationManager->addAllocation($$);
1187 } 995 }
1188 ; 996 ;
1189 997
@@ -1191,19 +999,12 @@ remote_data
1191 : REMOTE_DATA '(' INTEGER IDENTIFIER ',' LLKEY IDENTIFIER ',' LLKEY IDENTIFIER ',' STRING IDENTIFIER ',' INTEGER IDENTIFIER ',' STRING IDENTIFIER ')' 999 : REMOTE_DATA '(' INTEGER IDENTIFIER ',' LLKEY IDENTIFIER ',' LLKEY IDENTIFIER ',' STRING IDENTIFIER ',' INTEGER IDENTIFIER ',' STRING IDENTIFIER ')'
1192 { 1000 {
1193 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); 1001 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4);
1194 gAllocationManager->addAllocation(id1);
1195 LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); 1002 LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7);
1196 gAllocationManager->addAllocation(id2);
1197 LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10); 1003 LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10);
1198 gAllocationManager->addAllocation(id3);
1199 LLScriptIdentifier *id4 = new LLScriptIdentifier(gLine, gColumn, $13); 1004 LLScriptIdentifier *id4 = new LLScriptIdentifier(gLine, gColumn, $13);
1200 gAllocationManager->addAllocation(id4);
1201 LLScriptIdentifier *id5 = new LLScriptIdentifier(gLine, gColumn, $16); 1005 LLScriptIdentifier *id5 = new LLScriptIdentifier(gLine, gColumn, $16);
1202 gAllocationManager->addAllocation(id4);
1203 LLScriptIdentifier *id6 = new LLScriptIdentifier(gLine, gColumn, $19); 1006 LLScriptIdentifier *id6 = new LLScriptIdentifier(gLine, gColumn, $19);
1204 gAllocationManager->addAllocation(id4);
1205 $$ = new LLScriptRemoteEvent(gLine, gColumn, id1, id2, id3, id4, id5, id6); 1007 $$ = new LLScriptRemoteEvent(gLine, gColumn, id1, id2, id3, id4, id5, id6);
1206 gAllocationManager->addAllocation($$);
1207 } 1008 }
1208 ; 1009 ;
1209 1010
@@ -1211,15 +1012,10 @@ http_response
1211 : HTTP_RESPONSE '(' LLKEY IDENTIFIER ',' INTEGER IDENTIFIER ',' LIST IDENTIFIER ',' STRING IDENTIFIER ')' 1012 : HTTP_RESPONSE '(' LLKEY IDENTIFIER ',' INTEGER IDENTIFIER ',' LIST IDENTIFIER ',' STRING IDENTIFIER ')'
1212 { 1013 {
1213 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); 1014 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4);
1214 gAllocationManager->addAllocation(id1);
1215 LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); 1015 LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7);
1216 gAllocationManager->addAllocation(id2);
1217 LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10); 1016 LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10);
1218 gAllocationManager->addAllocation(id3);
1219 LLScriptIdentifier *id4 = new LLScriptIdentifier(gLine, gColumn, $13); 1017 LLScriptIdentifier *id4 = new LLScriptIdentifier(gLine, gColumn, $13);
1220 gAllocationManager->addAllocation(id4);
1221 $$ = new LLScriptHTTPResponseEvent(gLine, gColumn, id1, id2, id3, id4); 1018 $$ = new LLScriptHTTPResponseEvent(gLine, gColumn, id1, id2, id3, id4);
1222 gAllocationManager->addAllocation($$);
1223 } 1019 }
1224 ; 1020 ;
1225 1021
@@ -1227,13 +1023,9 @@ http_request
1227 : HTTP_REQUEST '(' LLKEY IDENTIFIER ',' STRING IDENTIFIER ',' STRING IDENTIFIER ')' 1023 : HTTP_REQUEST '(' LLKEY IDENTIFIER ',' STRING IDENTIFIER ',' STRING IDENTIFIER ')'
1228 { 1024 {
1229 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); 1025 LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4);
1230 gAllocationManager->addAllocation(id1);
1231 LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); 1026 LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7);
1232 gAllocationManager->addAllocation(id2);
1233 LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10); 1027 LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10);
1234 gAllocationManager->addAllocation(id3);
1235 $$ = new LLScriptHTTPRequestEvent(gLine, gColumn, id1, id2, id3); 1028 $$ = new LLScriptHTTPRequestEvent(gLine, gColumn, id1, id2, id3);
1236 gAllocationManager->addAllocation($$);
1237 } 1029 }
1238 ; 1030 ;
1239 1031
@@ -1241,12 +1033,10 @@ compound_statement
1241 : '{' '}' 1033 : '{' '}'
1242 { 1034 {
1243 $$ = new LLScriptCompoundStatement(gLine, gColumn, NULL); 1035 $$ = new LLScriptCompoundStatement(gLine, gColumn, NULL);
1244 gAllocationManager->addAllocation($$);
1245 } 1036 }
1246 | '{' statements '}' 1037 | '{' statements '}'
1247 { 1038 {
1248 $$ = new LLScriptCompoundStatement(gLine, gColumn, $2); 1039 $$ = new LLScriptCompoundStatement(gLine, gColumn, $2);
1249 gAllocationManager->addAllocation($$);
1250 } 1040 }
1251 ; 1041 ;
1252 1042
@@ -1258,7 +1048,6 @@ statements
1258 | statements statement 1048 | statements statement
1259 { 1049 {
1260 $$ = new LLScriptStatementSequence(gLine, gColumn, $1, $2); 1050 $$ = new LLScriptStatementSequence(gLine, gColumn, $1, $2);
1261 gAllocationManager->addAllocation($$);
1262 } 1051 }
1263 ; 1052 ;
1264 1053
@@ -1266,50 +1055,38 @@ statement
1266 : ';' 1055 : ';'
1267 { 1056 {
1268 $$ = new LLScriptNOOP(gLine, gColumn); 1057 $$ = new LLScriptNOOP(gLine, gColumn);
1269 gAllocationManager->addAllocation($$);
1270 } 1058 }
1271 | STATE IDENTIFIER ';' 1059 | STATE IDENTIFIER ';'
1272 { 1060 {
1273 LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $2); 1061 LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $2);
1274 gAllocationManager->addAllocation(id);
1275 $$ = new LLScriptStateChange(gLine, gColumn, id); 1062 $$ = new LLScriptStateChange(gLine, gColumn, id);
1276 gAllocationManager->addAllocation($$);
1277 } 1063 }
1278 | STATE STATE_DEFAULT ';' 1064 | STATE STATE_DEFAULT ';'
1279 { 1065 {
1280 LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $2); 1066 LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $2);
1281 gAllocationManager->addAllocation(id);
1282 $$ = new LLScriptStateChange(gLine, gColumn, id); 1067 $$ = new LLScriptStateChange(gLine, gColumn, id);
1283 gAllocationManager->addAllocation($$);
1284 } 1068 }
1285 | JUMP IDENTIFIER ';' 1069 | JUMP IDENTIFIER ';'
1286 { 1070 {
1287 LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $2); 1071 LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $2);
1288 gAllocationManager->addAllocation(id);
1289 $$ = new LLScriptJump(gLine, gColumn, id); 1072 $$ = new LLScriptJump(gLine, gColumn, id);
1290 gAllocationManager->addAllocation($$);
1291 } 1073 }
1292 | '@' IDENTIFIER ';' 1074 | '@' IDENTIFIER ';'
1293 { 1075 {
1294 LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $2); 1076 LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $2);
1295 gAllocationManager->addAllocation(id);
1296 $$ = new LLScriptLabel(gLine, gColumn, id); 1077 $$ = new LLScriptLabel(gLine, gColumn, id);
1297 gAllocationManager->addAllocation($$);
1298 } 1078 }
1299 | RETURN expression ';' 1079 | RETURN expression ';'
1300 { 1080 {
1301 $$ = new LLScriptReturn(gLine, gColumn, $2); 1081 $$ = new LLScriptReturn(gLine, gColumn, $2);
1302 gAllocationManager->addAllocation($$);
1303 } 1082 }
1304 | RETURN ';' 1083 | RETURN ';'
1305 { 1084 {
1306 $$ = new LLScriptReturn(gLine, gColumn, NULL); 1085 $$ = new LLScriptReturn(gLine, gColumn, NULL);
1307 gAllocationManager->addAllocation($$);
1308 } 1086 }
1309 | expression ';' 1087 | expression ';'
1310 { 1088 {
1311 $$ = new LLScriptExpressionStatement(gLine, gColumn, $1); 1089 $$ = new LLScriptExpressionStatement(gLine, gColumn, $1);
1312 gAllocationManager->addAllocation($$);
1313 } 1090 }
1314 | declaration ';' 1091 | declaration ';'
1315 { 1092 {
@@ -1323,32 +1100,27 @@ statement
1323 { 1100 {
1324 $$ = new LLScriptIf(gLine, gColumn, $3, $5); 1101 $$ = new LLScriptIf(gLine, gColumn, $3, $5);
1325 $5->mAllowDeclarations = FALSE; 1102 $5->mAllowDeclarations = FALSE;
1326 gAllocationManager->addAllocation($$);
1327 } 1103 }
1328 | IF '(' expression ')' statement ELSE statement 1104 | IF '(' expression ')' statement ELSE statement
1329 { 1105 {
1330 $$ = new LLScriptIfElse(gLine, gColumn, $3, $5, $7); 1106 $$ = new LLScriptIfElse(gLine, gColumn, $3, $5, $7);
1331 $5->mAllowDeclarations = FALSE; 1107 $5->mAllowDeclarations = FALSE;
1332 $7->mAllowDeclarations = FALSE; 1108 $7->mAllowDeclarations = FALSE;
1333 gAllocationManager->addAllocation($$);
1334 } 1109 }
1335 | FOR '(' forexpressionlist ';' expression ';' forexpressionlist ')' statement 1110 | FOR '(' forexpressionlist ';' expression ';' forexpressionlist ')' statement
1336 { 1111 {
1337 $$ = new LLScriptFor(gLine, gColumn, $3, $5, $7, $9); 1112 $$ = new LLScriptFor(gLine, gColumn, $3, $5, $7, $9);
1338 $9->mAllowDeclarations = FALSE; 1113 $9->mAllowDeclarations = FALSE;
1339 gAllocationManager->addAllocation($$);
1340 } 1114 }
1341 | DO statement WHILE '(' expression ')' ';' 1115 | DO statement WHILE '(' expression ')' ';'
1342 { 1116 {
1343 $$ = new LLScriptDoWhile(gLine, gColumn, $2, $5); 1117 $$ = new LLScriptDoWhile(gLine, gColumn, $2, $5);
1344 $2->mAllowDeclarations = FALSE; 1118 $2->mAllowDeclarations = FALSE;
1345 gAllocationManager->addAllocation($$);
1346 } 1119 }
1347 | WHILE '(' expression ')' statement 1120 | WHILE '(' expression ')' statement
1348 { 1121 {
1349 $$ = new LLScriptWhile(gLine, gColumn, $3, $5); 1122 $$ = new LLScriptWhile(gLine, gColumn, $3, $5);
1350 $5->mAllowDeclarations = FALSE; 1123 $5->mAllowDeclarations = FALSE;
1351 gAllocationManager->addAllocation($$);
1352 } 1124 }
1353 ; 1125 ;
1354 1126
@@ -1356,16 +1128,12 @@ declaration
1356 : typename IDENTIFIER 1128 : typename IDENTIFIER
1357 { 1129 {
1358 LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $2); 1130 LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $2);
1359 gAllocationManager->addAllocation(id);
1360 $$ = new LLScriptDeclaration(gLine, gColumn, $1, id, NULL); 1131 $$ = new LLScriptDeclaration(gLine, gColumn, $1, id, NULL);
1361 gAllocationManager->addAllocation($$);
1362 } 1132 }
1363 | typename IDENTIFIER '=' expression 1133 | typename IDENTIFIER '=' expression
1364 { 1134 {
1365 LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $2); 1135 LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $2);
1366 gAllocationManager->addAllocation(id);
1367 $$ = new LLScriptDeclaration(gLine, gColumn, $1, id, $4); 1136 $$ = new LLScriptDeclaration(gLine, gColumn, $1, id, $4);
1368 gAllocationManager->addAllocation($$);
1369 } 1137 }
1370 ; 1138 ;
1371 1139
@@ -1384,12 +1152,10 @@ nextforexpressionlist
1384 : expression 1152 : expression
1385 { 1153 {
1386 $$ = new LLScriptForExpressionList(gLine, gColumn, $1, NULL); 1154 $$ = new LLScriptForExpressionList(gLine, gColumn, $1, NULL);
1387 gAllocationManager->addAllocation($$);
1388 } 1155 }
1389 | expression ',' nextforexpressionlist 1156 | expression ',' nextforexpressionlist
1390 { 1157 {
1391 $$ = new LLScriptForExpressionList(gLine, gColumn, $1, $3); 1158 $$ = new LLScriptForExpressionList(gLine, gColumn, $1, $3);
1392 gAllocationManager->addAllocation($$);
1393 } 1159 }
1394 ; 1160 ;
1395 1161
@@ -1408,12 +1174,10 @@ nextfuncexpressionlist
1408 : expression 1174 : expression
1409 { 1175 {
1410 $$ = new LLScriptFuncExpressionList(gLine, gColumn, $1, NULL); 1176 $$ = new LLScriptFuncExpressionList(gLine, gColumn, $1, NULL);
1411 gAllocationManager->addAllocation($$);
1412 } 1177 }
1413 | expression ',' nextfuncexpressionlist 1178 | expression ',' nextfuncexpressionlist
1414 { 1179 {
1415 $$ = new LLScriptFuncExpressionList(gLine, gColumn, $1, $3); 1180 $$ = new LLScriptFuncExpressionList(gLine, gColumn, $1, $3);
1416 gAllocationManager->addAllocation($$);
1417 } 1181 }
1418 ; 1182 ;
1419 1183
@@ -1432,12 +1196,10 @@ nextlistexpressionlist
1432 : expression 1196 : expression
1433 { 1197 {
1434 $$ = new LLScriptListExpressionList(gLine, gColumn, $1, NULL); 1198 $$ = new LLScriptListExpressionList(gLine, gColumn, $1, NULL);
1435 gAllocationManager->addAllocation($$);
1436 } 1199 }
1437 | expression ',' nextlistexpressionlist 1200 | expression ',' nextlistexpressionlist
1438 { 1201 {
1439 $$ = new LLScriptListExpressionList(gLine, gColumn, $1, $3); 1202 $$ = new LLScriptListExpressionList(gLine, gColumn, $1, $3);
1440 gAllocationManager->addAllocation($$);
1441 } 1203 }
1442 ; 1204 ;
1443 1205
@@ -1449,122 +1211,98 @@ expression
1449 | lvalue '=' expression 1211 | lvalue '=' expression
1450 { 1212 {
1451 $$ = new LLScriptAssignment(gLine, gColumn, $1, $3); 1213 $$ = new LLScriptAssignment(gLine, gColumn, $1, $3);
1452 gAllocationManager->addAllocation($$);
1453 } 1214 }
1454 | lvalue ADD_ASSIGN expression 1215 | lvalue ADD_ASSIGN expression
1455 { 1216 {
1456 $$ = new LLScriptAddAssignment(gLine, gColumn, $1, $3); 1217 $$ = new LLScriptAddAssignment(gLine, gColumn, $1, $3);
1457 gAllocationManager->addAllocation($$);
1458 } 1218 }
1459 | lvalue SUB_ASSIGN expression 1219 | lvalue SUB_ASSIGN expression
1460 { 1220 {
1461 $$ = new LLScriptSubAssignment(gLine, gColumn, $1, $3); 1221 $$ = new LLScriptSubAssignment(gLine, gColumn, $1, $3);
1462 gAllocationManager->addAllocation($$);
1463 } 1222 }
1464 | lvalue MUL_ASSIGN expression 1223 | lvalue MUL_ASSIGN expression
1465 { 1224 {
1466 $$ = new LLScriptMulAssignment(gLine, gColumn, $1, $3); 1225 $$ = new LLScriptMulAssignment(gLine, gColumn, $1, $3);
1467 gAllocationManager->addAllocation($$);
1468 } 1226 }
1469 | lvalue DIV_ASSIGN expression 1227 | lvalue DIV_ASSIGN expression
1470 { 1228 {
1471 $$ = new LLScriptDivAssignment(gLine, gColumn, $1, $3); 1229 $$ = new LLScriptDivAssignment(gLine, gColumn, $1, $3);
1472 gAllocationManager->addAllocation($$);
1473 } 1230 }
1474 | lvalue MOD_ASSIGN expression 1231 | lvalue MOD_ASSIGN expression
1475 { 1232 {
1476 $$ = new LLScriptModAssignment(gLine, gColumn, $1, $3); 1233 $$ = new LLScriptModAssignment(gLine, gColumn, $1, $3);
1477 gAllocationManager->addAllocation($$);
1478 } 1234 }
1479 | expression EQ expression 1235 | expression EQ expression
1480 { 1236 {
1481 $$ = new LLScriptEquality(gLine, gColumn, $1, $3); 1237 $$ = new LLScriptEquality(gLine, gColumn, $1, $3);
1482 gAllocationManager->addAllocation($$);
1483 } 1238 }
1484 | expression NEQ expression 1239 | expression NEQ expression
1485 { 1240 {
1486 $$ = new LLScriptNotEquals(gLine, gColumn, $1, $3); 1241 $$ = new LLScriptNotEquals(gLine, gColumn, $1, $3);
1487 gAllocationManager->addAllocation($$);
1488 } 1242 }
1489 | expression LEQ expression 1243 | expression LEQ expression
1490 { 1244 {
1491 $$ = new LLScriptLessEquals(gLine, gColumn, $1, $3); 1245 $$ = new LLScriptLessEquals(gLine, gColumn, $1, $3);
1492 gAllocationManager->addAllocation($$);
1493 } 1246 }
1494 | expression GEQ expression 1247 | expression GEQ expression
1495 { 1248 {
1496 $$ = new LLScriptGreaterEquals(gLine, gColumn, $1, $3); 1249 $$ = new LLScriptGreaterEquals(gLine, gColumn, $1, $3);
1497 gAllocationManager->addAllocation($$);
1498 } 1250 }
1499 | expression '<' expression 1251 | expression '<' expression
1500 { 1252 {
1501 $$ = new LLScriptLessThan(gLine, gColumn, $1, $3); 1253 $$ = new LLScriptLessThan(gLine, gColumn, $1, $3);
1502 gAllocationManager->addAllocation($$);
1503 } 1254 }
1504 | expression '>' expression 1255 | expression '>' expression
1505 { 1256 {
1506 $$ = new LLScriptGreaterThan(gLine, gColumn, $1, $3); 1257 $$ = new LLScriptGreaterThan(gLine, gColumn, $1, $3);
1507 gAllocationManager->addAllocation($$);
1508 } 1258 }
1509 | expression '+' expression 1259 | expression '+' expression
1510 { 1260 {
1511 $$ = new LLScriptPlus(gLine, gColumn, $1, $3); 1261 $$ = new LLScriptPlus(gLine, gColumn, $1, $3);
1512 gAllocationManager->addAllocation($$);
1513 } 1262 }
1514 | expression '-' expression 1263 | expression '-' expression
1515 { 1264 {
1516 $$ = new LLScriptMinus(gLine, gColumn, $1, $3); 1265 $$ = new LLScriptMinus(gLine, gColumn, $1, $3);
1517 gAllocationManager->addAllocation($$);
1518 } 1266 }
1519 | expression '*' expression 1267 | expression '*' expression
1520 { 1268 {
1521 $$ = new LLScriptTimes(gLine, gColumn, $1, $3); 1269 $$ = new LLScriptTimes(gLine, gColumn, $1, $3);
1522 gAllocationManager->addAllocation($$);
1523 } 1270 }
1524 | expression '/' expression 1271 | expression '/' expression
1525 { 1272 {
1526 $$ = new LLScriptDivide(gLine, gColumn, $1, $3); 1273 $$ = new LLScriptDivide(gLine, gColumn, $1, $3);
1527 gAllocationManager->addAllocation($$);
1528 } 1274 }
1529 | expression '%' expression 1275 | expression '%' expression
1530 { 1276 {
1531 $$ = new LLScriptMod(gLine, gColumn, $1, $3); 1277 $$ = new LLScriptMod(gLine, gColumn, $1, $3);
1532 gAllocationManager->addAllocation($$);
1533 } 1278 }
1534 | expression '&' expression 1279 | expression '&' expression
1535 { 1280 {
1536 $$ = new LLScriptBitAnd(gLine, gColumn, $1, $3); 1281 $$ = new LLScriptBitAnd(gLine, gColumn, $1, $3);
1537 gAllocationManager->addAllocation($$);
1538 } 1282 }
1539 | expression '|' expression 1283 | expression '|' expression
1540 { 1284 {
1541 $$ = new LLScriptBitOr(gLine, gColumn, $1, $3); 1285 $$ = new LLScriptBitOr(gLine, gColumn, $1, $3);
1542 gAllocationManager->addAllocation($$);
1543 } 1286 }
1544 | expression '^' expression 1287 | expression '^' expression
1545 { 1288 {
1546 $$ = new LLScriptBitXor(gLine, gColumn, $1, $3); 1289 $$ = new LLScriptBitXor(gLine, gColumn, $1, $3);
1547 gAllocationManager->addAllocation($$);
1548 } 1290 }
1549 | expression BOOLEAN_AND expression 1291 | expression BOOLEAN_AND expression
1550 { 1292 {
1551 $$ = new LLScriptBooleanAnd(gLine, gColumn, $1, $3); 1293 $$ = new LLScriptBooleanAnd(gLine, gColumn, $1, $3);
1552 gAllocationManager->addAllocation($$);
1553 } 1294 }
1554 | expression BOOLEAN_OR expression 1295 | expression BOOLEAN_OR expression
1555 { 1296 {
1556 $$ = new LLScriptBooleanOr(gLine, gColumn, $1, $3); 1297 $$ = new LLScriptBooleanOr(gLine, gColumn, $1, $3);
1557 gAllocationManager->addAllocation($$);
1558 } 1298 }
1559 | expression SHIFT_LEFT expression 1299 | expression SHIFT_LEFT expression
1560 { 1300 {
1561 $$ = new LLScriptShiftLeft(gLine, gColumn, $1, $3); 1301 $$ = new LLScriptShiftLeft(gLine, gColumn, $1, $3);
1562 gAllocationManager->addAllocation($$);
1563 } 1302 }
1564 | expression SHIFT_RIGHT expression 1303 | expression SHIFT_RIGHT expression
1565 { 1304 {
1566 $$ = new LLScriptShiftRight(gLine, gColumn, $1, $3); 1305 $$ = new LLScriptShiftRight(gLine, gColumn, $1, $3);
1567 gAllocationManager->addAllocation($$);
1568 } 1306 }
1569 ; 1307 ;
1570 1308
@@ -1572,27 +1310,22 @@ unaryexpression
1572 : '-' expression 1310 : '-' expression
1573 { 1311 {
1574 $$ = new LLScriptUnaryMinus(gLine, gColumn, $2); 1312 $$ = new LLScriptUnaryMinus(gLine, gColumn, $2);
1575 gAllocationManager->addAllocation($$);
1576 } 1313 }
1577 | '!' expression 1314 | '!' expression
1578 { 1315 {
1579 $$ = new LLScriptBooleanNot(gLine, gColumn, $2); 1316 $$ = new LLScriptBooleanNot(gLine, gColumn, $2);
1580 gAllocationManager->addAllocation($$);
1581 } 1317 }
1582 | '~' expression 1318 | '~' expression
1583 { 1319 {
1584 $$ = new LLScriptBitNot(gLine, gColumn, $2); 1320 $$ = new LLScriptBitNot(gLine, gColumn, $2);
1585 gAllocationManager->addAllocation($$);
1586 } 1321 }
1587 | INC_OP lvalue 1322 | INC_OP lvalue
1588 { 1323 {
1589 $$ = new LLScriptPreIncrement(gLine, gColumn, $2); 1324 $$ = new LLScriptPreIncrement(gLine, gColumn, $2);
1590 gAllocationManager->addAllocation($$);
1591 } 1325 }
1592 | DEC_OP lvalue 1326 | DEC_OP lvalue
1593 { 1327 {
1594 $$ = new LLScriptPreDecrement(gLine, gColumn, $2); 1328 $$ = new LLScriptPreDecrement(gLine, gColumn, $2);
1595 gAllocationManager->addAllocation($$);
1596 } 1329 }
1597 | typecast 1330 | typecast
1598 { 1331 {
@@ -1605,7 +1338,6 @@ unaryexpression
1605 | '(' expression ')' 1338 | '(' expression ')'
1606 { 1339 {
1607 $$ = new LLScriptParenthesis(gLine, gColumn, $2); 1340 $$ = new LLScriptParenthesis(gLine, gColumn, $2);
1608 gAllocationManager->addAllocation($$);
1609 } 1341 }
1610 ; 1342 ;
1611 1343
@@ -1613,24 +1345,19 @@ typecast
1613 : '(' typename ')' lvalue 1345 : '(' typename ')' lvalue
1614 { 1346 {
1615 $$ = new LLScriptTypeCast(gLine, gColumn, $2, $4); 1347 $$ = new LLScriptTypeCast(gLine, gColumn, $2, $4);
1616 gAllocationManager->addAllocation($$);
1617 } 1348 }
1618 | '(' typename ')' constant 1349 | '(' typename ')' constant
1619 { 1350 {
1620 LLScriptConstantExpression *temp = new LLScriptConstantExpression(gLine, gColumn, $4); 1351 LLScriptConstantExpression *temp = new LLScriptConstantExpression(gLine, gColumn, $4);
1621 gAllocationManager->addAllocation(temp);
1622 $$ = new LLScriptTypeCast(gLine, gColumn, $2, temp); 1352 $$ = new LLScriptTypeCast(gLine, gColumn, $2, temp);
1623 gAllocationManager->addAllocation($$);
1624 } 1353 }
1625 | '(' typename ')' unarypostfixexpression 1354 | '(' typename ')' unarypostfixexpression
1626 { 1355 {
1627 $$ = new LLScriptTypeCast(gLine, gColumn, $2, $4); 1356 $$ = new LLScriptTypeCast(gLine, gColumn, $2, $4);
1628 gAllocationManager->addAllocation($$);
1629 } 1357 }
1630 | '(' typename ')' '(' expression ')' 1358 | '(' typename ')' '(' expression ')'
1631 { 1359 {
1632 $$ = new LLScriptTypeCast(gLine, gColumn, $2, $5); 1360 $$ = new LLScriptTypeCast(gLine, gColumn, $2, $5);
1633 gAllocationManager->addAllocation($$);
1634 } 1361 }
1635 ; 1362 ;
1636 1363
@@ -1654,29 +1381,23 @@ unarypostfixexpression
1654 | lvalue INC_OP 1381 | lvalue INC_OP
1655 { 1382 {
1656 $$ = new LLScriptPostIncrement(gLine, gColumn, $1); 1383 $$ = new LLScriptPostIncrement(gLine, gColumn, $1);
1657 gAllocationManager->addAllocation($$);
1658 } 1384 }
1659 | lvalue DEC_OP 1385 | lvalue DEC_OP
1660 { 1386 {
1661 $$ = new LLScriptPostDecrement(gLine, gColumn, $1); 1387 $$ = new LLScriptPostDecrement(gLine, gColumn, $1);
1662 gAllocationManager->addAllocation($$);
1663 } 1388 }
1664 | IDENTIFIER '(' funcexpressionlist ')' 1389 | IDENTIFIER '(' funcexpressionlist ')'
1665 { 1390 {
1666 LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $1); 1391 LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $1);
1667 gAllocationManager->addAllocation(id);
1668 $$ = new LLScriptFunctionCall(gLine, gColumn, id, $3); 1392 $$ = new LLScriptFunctionCall(gLine, gColumn, id, $3);
1669 gAllocationManager->addAllocation($$);
1670 } 1393 }
1671 | PRINT '(' expression ')' 1394 | PRINT '(' expression ')'
1672 { 1395 {
1673 $$ = new LLScriptPrint(gLine, gColumn, $3); 1396 $$ = new LLScriptPrint(gLine, gColumn, $3);
1674 gAllocationManager->addAllocation($$);
1675 } 1397 }
1676 | constant 1398 | constant
1677 { 1399 {
1678 $$ = new LLScriptConstantExpression(gLine, gColumn, $1); 1400 $$ = new LLScriptConstantExpression(gLine, gColumn, $1);
1679 gAllocationManager->addAllocation($$);
1680 } 1401 }
1681 ; 1402 ;
1682 1403
@@ -1684,58 +1405,36 @@ vector_initializer
1684 : '<' expression ',' expression ',' expression '>' %prec INITIALIZER 1405 : '<' expression ',' expression ',' expression '>' %prec INITIALIZER
1685 { 1406 {
1686 $$ = new LLScriptVectorInitializer(gLine, gColumn, $2, $4, $6); 1407 $$ = new LLScriptVectorInitializer(gLine, gColumn, $2, $4, $6);
1687 gAllocationManager->addAllocation($$);
1688 } 1408 }
1689 | ZERO_VECTOR 1409 | ZERO_VECTOR
1690 { 1410 {
1691 LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, 0.f); 1411 LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, 0.f);
1692 gAllocationManager->addAllocation(cf0);
1693 LLScriptConstantExpression *sa0 = new LLScriptConstantExpression(gLine, gColumn, cf0); 1412 LLScriptConstantExpression *sa0 = new LLScriptConstantExpression(gLine, gColumn, cf0);
1694 gAllocationManager->addAllocation(sa0);
1695 LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, 0.f); 1413 LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, 0.f);
1696 gAllocationManager->addAllocation(cf1);
1697 LLScriptConstantExpression *sa1 = new LLScriptConstantExpression(gLine, gColumn, cf1); 1414 LLScriptConstantExpression *sa1 = new LLScriptConstantExpression(gLine, gColumn, cf1);
1698 gAllocationManager->addAllocation(sa1);
1699 LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f); 1415 LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f);
1700 gAllocationManager->addAllocation(cf2);
1701 LLScriptConstantExpression *sa2 = new LLScriptConstantExpression(gLine, gColumn, cf2); 1416 LLScriptConstantExpression *sa2 = new LLScriptConstantExpression(gLine, gColumn, cf2);
1702 gAllocationManager->addAllocation(sa2);
1703 $$ = new LLScriptVectorInitializer(gLine, gColumn, sa0, sa1, sa2); 1417 $$ = new LLScriptVectorInitializer(gLine, gColumn, sa0, sa1, sa2);
1704 gAllocationManager->addAllocation($$);
1705 } 1418 }
1706 | TOUCH_INVALID_VECTOR 1419 | TOUCH_INVALID_VECTOR
1707 { 1420 {
1708 LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, 0.f); 1421 LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, 0.f);
1709 gAllocationManager->addAllocation(cf0);
1710 LLScriptConstantExpression *sa0 = new LLScriptConstantExpression(gLine, gColumn, cf0); 1422 LLScriptConstantExpression *sa0 = new LLScriptConstantExpression(gLine, gColumn, cf0);
1711 gAllocationManager->addAllocation(sa0);
1712 LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, 0.f); 1423 LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, 0.f);
1713 gAllocationManager->addAllocation(cf1);
1714 LLScriptConstantExpression *sa1 = new LLScriptConstantExpression(gLine, gColumn, cf1); 1424 LLScriptConstantExpression *sa1 = new LLScriptConstantExpression(gLine, gColumn, cf1);
1715 gAllocationManager->addAllocation(sa1);
1716 LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f); 1425 LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f);
1717 gAllocationManager->addAllocation(cf2);
1718 LLScriptConstantExpression *sa2 = new LLScriptConstantExpression(gLine, gColumn, cf2); 1426 LLScriptConstantExpression *sa2 = new LLScriptConstantExpression(gLine, gColumn, cf2);
1719 gAllocationManager->addAllocation(sa2);
1720 $$ = new LLScriptVectorInitializer(gLine, gColumn, sa0, sa1, sa2); 1427 $$ = new LLScriptVectorInitializer(gLine, gColumn, sa0, sa1, sa2);
1721 gAllocationManager->addAllocation($$);
1722 } 1428 }
1723 | TOUCH_INVALID_TEXCOORD 1429 | TOUCH_INVALID_TEXCOORD
1724 { 1430 {
1725 LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, -1.f); 1431 LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, -1.f);
1726 gAllocationManager->addAllocation(cf0);
1727 LLScriptConstantExpression *sa0 = new LLScriptConstantExpression(gLine, gColumn, cf0); 1432 LLScriptConstantExpression *sa0 = new LLScriptConstantExpression(gLine, gColumn, cf0);
1728 gAllocationManager->addAllocation(sa0);
1729 LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, -1.f); 1433 LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, -1.f);
1730 gAllocationManager->addAllocation(cf1);
1731 LLScriptConstantExpression *sa1 = new LLScriptConstantExpression(gLine, gColumn, cf1); 1434 LLScriptConstantExpression *sa1 = new LLScriptConstantExpression(gLine, gColumn, cf1);
1732 gAllocationManager->addAllocation(sa1);
1733 LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f); 1435 LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f);
1734 gAllocationManager->addAllocation(cf2);
1735 LLScriptConstantExpression *sa2 = new LLScriptConstantExpression(gLine, gColumn, cf2); 1436 LLScriptConstantExpression *sa2 = new LLScriptConstantExpression(gLine, gColumn, cf2);
1736 gAllocationManager->addAllocation(sa2);
1737 $$ = new LLScriptVectorInitializer(gLine, gColumn, sa0, sa1, sa2); 1437 $$ = new LLScriptVectorInitializer(gLine, gColumn, sa0, sa1, sa2);
1738 gAllocationManager->addAllocation($$);
1739 } 1438 }
1740 ; 1439 ;
1741 1440
@@ -1743,28 +1442,18 @@ quaternion_initializer
1743 : '<' expression ',' expression ',' expression ',' expression '>' %prec INITIALIZER 1442 : '<' expression ',' expression ',' expression ',' expression '>' %prec INITIALIZER
1744 { 1443 {
1745 $$ = new LLScriptQuaternionInitializer(gLine, gColumn, $2, $4, $6, $8); 1444 $$ = new LLScriptQuaternionInitializer(gLine, gColumn, $2, $4, $6, $8);
1746 gAllocationManager->addAllocation($$);
1747 } 1445 }
1748 | ZERO_ROTATION 1446 | ZERO_ROTATION
1749 { 1447 {
1750 LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, 0.f); 1448 LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, 0.f);
1751 gAllocationManager->addAllocation(cf0);
1752 LLScriptConstantExpression *sa0 = new LLScriptConstantExpression(gLine, gColumn, cf0); 1449 LLScriptConstantExpression *sa0 = new LLScriptConstantExpression(gLine, gColumn, cf0);
1753 gAllocationManager->addAllocation(sa0);
1754 LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, 0.f); 1450 LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, 0.f);
1755 gAllocationManager->addAllocation(cf1);
1756 LLScriptConstantExpression *sa1 = new LLScriptConstantExpression(gLine, gColumn, cf1); 1451 LLScriptConstantExpression *sa1 = new LLScriptConstantExpression(gLine, gColumn, cf1);
1757 gAllocationManager->addAllocation(sa1);
1758 LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f); 1452 LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f);
1759 gAllocationManager->addAllocation(cf2);
1760 LLScriptConstantExpression *sa2 = new LLScriptConstantExpression(gLine, gColumn, cf2); 1453 LLScriptConstantExpression *sa2 = new LLScriptConstantExpression(gLine, gColumn, cf2);
1761 gAllocationManager->addAllocation(sa2);
1762 LLScriptConstantFloat *cf3 = new LLScriptConstantFloat(gLine, gColumn, 1.f); 1454 LLScriptConstantFloat *cf3 = new LLScriptConstantFloat(gLine, gColumn, 1.f);
1763 gAllocationManager->addAllocation(cf3);
1764 LLScriptConstantExpression *sa3 = new LLScriptConstantExpression(gLine, gColumn, cf3); 1455 LLScriptConstantExpression *sa3 = new LLScriptConstantExpression(gLine, gColumn, cf3);
1765 gAllocationManager->addAllocation(sa3);
1766 $$ = new LLScriptQuaternionInitializer(gLine, gColumn, sa0, sa1, sa2, sa3); 1456 $$ = new LLScriptQuaternionInitializer(gLine, gColumn, sa0, sa1, sa2, sa3);
1767 gAllocationManager->addAllocation($$);
1768 } 1457 }
1769 ; 1458 ;
1770 1459
@@ -1772,7 +1461,6 @@ list_initializer
1772 : '[' listexpressionlist ']' %prec INITIALIZER 1461 : '[' listexpressionlist ']' %prec INITIALIZER
1773 { 1462 {
1774 $$ = new LLScriptListInitializer(gLine, gColumn, $2); 1463 $$ = new LLScriptListInitializer(gLine, gColumn, $2);
1775 gAllocationManager->addAllocation($$);
1776 } 1464 }
1777 ; 1465 ;
1778 1466
@@ -1780,18 +1468,13 @@ lvalue
1780 : IDENTIFIER 1468 : IDENTIFIER
1781 { 1469 {
1782 LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $1); 1470 LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $1);
1783 gAllocationManager->addAllocation(id);
1784 $$ = new LLScriptLValue(gLine, gColumn, id, NULL); 1471 $$ = new LLScriptLValue(gLine, gColumn, id, NULL);
1785 gAllocationManager->addAllocation($$);
1786 } 1472 }
1787 | IDENTIFIER PERIOD IDENTIFIER 1473 | IDENTIFIER PERIOD IDENTIFIER
1788 { 1474 {
1789 LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $1); 1475 LLScriptIdentifier *id = new LLScriptIdentifier(gLine, gColumn, $1);
1790 gAllocationManager->addAllocation(id);
1791 LLScriptIdentifier *ac = new LLScriptIdentifier(gLine, gColumn, $3); 1476 LLScriptIdentifier *ac = new LLScriptIdentifier(gLine, gColumn, $3);
1792 gAllocationManager->addAllocation(id);
1793 $$ = new LLScriptLValue(gLine, gColumn, id, ac); 1477 $$ = new LLScriptLValue(gLine, gColumn, id, ac);
1794 gAllocationManager->addAllocation($$);
1795 } 1478 }
1796 ; 1479 ;
1797 1480