diff options
Diffstat (limited to 'linden/indra/lscript/lscript_compile/indra.y')
-rw-r--r-- | linden/indra/lscript/lscript_compile/indra.y | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/linden/indra/lscript/lscript_compile/indra.y b/linden/indra/lscript/lscript_compile/indra.y index fdc240c..e4b10ff 100644 --- a/linden/indra/lscript/lscript_compile/indra.y +++ b/linden/indra/lscript/lscript_compile/indra.y | |||
@@ -92,6 +92,7 @@ | |||
92 | %token LINK_MESSAGE | 92 | %token LINK_MESSAGE |
93 | %token REMOTE_DATA | 93 | %token REMOTE_DATA |
94 | %token HTTP_RESPONSE | 94 | %token HTTP_RESPONSE |
95 | %token HTTP_REQUEST | ||
95 | 96 | ||
96 | %token <sval> IDENTIFIER | 97 | %token <sval> IDENTIFIER |
97 | %token <sval> STATE_DEFAULT | 98 | %token <sval> STATE_DEFAULT |
@@ -195,6 +196,7 @@ | |||
195 | %type <event> object_rez | 196 | %type <event> object_rez |
196 | %type <event> remote_data | 197 | %type <event> remote_data |
197 | %type <event> http_response | 198 | %type <event> http_response |
199 | %type <event> http_request | ||
198 | %type <event> link_message | 200 | %type <event> link_message |
199 | %type <event> timer | 201 | %type <event> timer |
200 | %type <event> chat | 202 | %type <event> chat |
@@ -848,6 +850,11 @@ event | |||
848 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); | 850 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); |
849 | gAllocationManager->addAllocation($$); | 851 | gAllocationManager->addAllocation($$); |
850 | } | 852 | } |
853 | | http_request compound_statement | ||
854 | { | ||
855 | $$ = new LLScriptEventHandler(gLine, gColumn, $1, $2); | ||
856 | gAllocationManager->addAllocation($$); | ||
857 | } | ||
851 | ; | 858 | ; |
852 | 859 | ||
853 | state_entry | 860 | state_entry |
@@ -1216,6 +1223,20 @@ http_response | |||
1216 | } | 1223 | } |
1217 | ; | 1224 | ; |
1218 | 1225 | ||
1226 | http_request | ||
1227 | : HTTP_REQUEST '(' LLKEY IDENTIFIER ',' STRING IDENTIFIER ',' STRING IDENTIFIER ')' | ||
1228 | { | ||
1229 | LLScriptIdentifier *id1 = new LLScriptIdentifier(gLine, gColumn, $4); | ||
1230 | gAllocationManager->addAllocation(id1); | ||
1231 | LLScriptIdentifier *id2 = new LLScriptIdentifier(gLine, gColumn, $7); | ||
1232 | gAllocationManager->addAllocation(id2); | ||
1233 | LLScriptIdentifier *id3 = new LLScriptIdentifier(gLine, gColumn, $10); | ||
1234 | gAllocationManager->addAllocation(id3); | ||
1235 | $$ = new LLScriptHTTPRequestEvent(gLine, gColumn, id1, id2, id3); | ||
1236 | gAllocationManager->addAllocation($$); | ||
1237 | } | ||
1238 | ; | ||
1239 | |||
1219 | compound_statement | 1240 | compound_statement |
1220 | : '{' '}' | 1241 | : '{' '}' |
1221 | { | 1242 | { |