diff options
author | Nat Goodspeed <nat@lindenlab.com> | 2015-02-24 21:02:12 -0500 |
---|---|---|
committer | Nat Goodspeed <nat@lindenlab.com> | 2015-02-24 21:02:12 -0500 |
commit | b5324afb6f2e45deefb9b79e7e2192bc686b181a (patch) | |
tree | dcae0395e2975f736a90c1fa3c67d6f318e01cc7 /indra/lscript/lscript_compile/indra.y | |
parent | 9b45bc992edf8d049d8a1abe2e778870a493295a (diff) | |
parent | c7841b48bdec74848a64e2dd0eac453ce855093d (diff) |
Automated merge with ssh://bitbucket.org/lindenlab/viewer-release
Diffstat (limited to 'indra/lscript/lscript_compile/indra.y')
-rwxr-xr-x | indra/lscript/lscript_compile/indra.y | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/indra/lscript/lscript_compile/indra.y b/indra/lscript/lscript_compile/indra.y index a0a034d21c..c451eee3d8 100755 --- a/indra/lscript/lscript_compile/indra.y +++ b/indra/lscript/lscript_compile/indra.y @@ -15,7 +15,6 @@ #pragma warning (disable : 4702) // warning C4702: unreachable code #pragma warning( disable : 4065 ) // warning: switch statement contains 'default' but no 'case' labels #endif - %} %union @@ -75,6 +74,8 @@ %token MONEY %token EMAIL %token RUN_TIME_PERMISSIONS +%token EXPERIENCE_PERMISSIONS +%token EXPERIENCE_PERMISSIONS_DENIED %token INVENTORY %token ATTACH %token DATASERVER @@ -180,6 +181,8 @@ %type <event> money %type <event> email %type <event> run_time_permissions +%type <event> experience_permissions +%type <event> experience_permissions_denied %type <event> inventory %type <event> attach %type <event> dataserver @@ -788,6 +791,16 @@ event $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); gAllocationManager->addAllocation($$); } + | experience_permissions compound_statement + { + $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); + gAllocationManager->addAllocation($$); + } + | experience_permissions_denied compound_statement + { + $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); + gAllocationManager->addAllocation($$); + } | inventory compound_statement { $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); @@ -1040,6 +1053,28 @@ run_time_permissions } ; +experience_permissions + : EXPERIENCE_PERMISSIONS '(' LLKEY IDENTIFIER ')' + { + LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); + gAllocationManager->addAllocation(id1); + $$ = new LLScriptEXPEvent(gLine, gColumn, id1); + gAllocationManager->addAllocation($$); + } + ; + +experience_permissions_denied + : EXPERIENCE_PERMISSIONS_DENIED '(' 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 LLScriptEXPDeniedEvent(gLine, gColumn, id1, id2); + gAllocationManager->addAllocation($$); + } + ; + inventory : INVENTORY '(' INTEGER IDENTIFIER ')' { |