Commit Graph

23 Commits

Author SHA1 Message Date
Justin Clark-Casey (justincc)
2f94165dcc Add lsl arg syntax checking for control event 2013-12-21 01:00:50 +00:00
Justin Clark-Casey (justincc)
f1cd813a29 refactor: rename internal lsl parser VectorDeclaration -> VecDeclaration for consistency 2013-12-21 00:49:01 +00:00
Justin Clark-Casey (justincc)
871ac5b16c Add arg checking for at_target lsl event 2013-12-21 00:46:34 +00:00
Justin Clark-Casey (justincc)
a5e4780547 Add lsl event arg checking for at_rot_target 2013-12-21 00:37:56 +00:00
Justin Clark-Casey (justincc)
b757ab2586 Add lsl event argument checking for attach and on_rez 2013-12-21 00:08:36 +00:00
Justin Clark-Casey (justincc)
a64377149d Add parameter checking for land_collision, land_collision_start and land_collision_end lsl events
Wrong number of parmeters now generates syntax error on compile, as seen on LL grid
2013-11-29 00:44:53 +00:00
Justin Clark-Casey (justincc)
79c1ed8cb9 Add syntax checking for no_sensor() no-arg event 2013-11-16 03:00:03 +00:00
Justin Clark-Casey (justincc)
edd7e19463 If anything other than a single integer is specified for events that only take a single integer, generate a syntax error on LSL script compile rather than an exception later on.
This applies to events changed, collision, collision_start, collision_end, on_rez, run_time_permissions, sensor, touch, touch_start, touch_end
2013-11-16 02:50:14 +00:00
Justin Clark-Casey (justincc)
62006baaef Make state_exit, moving_end, moving_start, not_at_rot_target, not_at_target and timer LSL events generate a syntax error if inappropriately given arguments.
This matches behaviour seen on the LL grid and a previous change for state_entry.
These are all the events which should take no arguments
2013-11-16 01:30:23 +00:00
Justin Clark-Casey (justincc)
2b069a3b1e If the LSL state_entry() event definition contains any parameters, then generate syntax error as seen on the LL grid
This is done through the parser and so generates the same syntax error message if any parameters are wrongly specified for this event.
We were already enforcing event names in the parser.
This is only for state_entry so far as an initial test of the approach - appears to work correctly.
2013-11-02 00:39:12 +00:00
Justin Clark-Casey (justincc)
daad0a3e11 Revert "Bind ~ and ! operators in LSL tighter in order to resolve issues in LSL where these aren't evaluated propertly."
This reverts commit a8a9d13dc0.

Accidentally committed, this patch might not be the correct approach.
2012-06-11 23:30:58 +01:00
Justin Clark-Casey (justincc)
a8a9d13dc0 Bind ~ and ! operators in LSL tighter in order to resolve issues in LSL where these aren't evaluated propertly.
Addresses http://opensimulator.org/mantis/view.php?id=3268
2012-06-09 05:11:08 +01:00
Mike Mazur
48bc2f3a42 Allow empty assignment in for-loop
For loops with no assignment are no longer syntax errors. For example,
this is now valid:

    for ( ; i < 10; i++) { ... }

Corresponding changes to lsl.{lexer,parser} in r99 in opensim-libs.

Fixes Mantis #2501. Fixes Mantis #2884.
2009-06-07 10:22:41 +00:00
Melanie Thielker
fb3d5770dd Make the LSL HTTP server create and give out URLs to scripts 2009-05-13 20:32:14 +00:00
Homer Horwitz
7083be07b0 Allow empty statements in LSL (; followed by ;). Fixes Mantis#2320 2008-12-07 19:20:45 +00:00
Melanie Thielker
d95794d05c Refactor XEngine parser as per suggestions from mikem 2008-09-23 13:28:17 +00:00
Melanie Thielker
a5d2674a43 This is an attempt to fix the handling of constants in LSL.
It wraps constants in new LSLType(x), so that lists with
constant values are processed correctly. Contains changes to
the lsl.parser.cs that are not (yet) reflected in opensim-libs,
since this experimental patch affects XEngine only. Also contains
nuts.
2008-09-01 23:33:12 +00:00
Mike Mazur
16cf5aa2b8 Allow the list hack from issue 1863 to compile, however its behavior is
different than in SL. See http://opensimulator.org/mantis/view.php?id=1863 for
details.
2008-07-31 07:11:49 +00:00
Mike Mazur
56c4cc39ff Allow assignments in if/while/do-while control statements. Fix issue 1862. 2008-07-31 04:13:46 +00:00
Mike Mazur
eef3864278 Fix issue 1860; exception thrown in the parser on if/if-else/for/while/do-while
statements with no body.
2008-07-31 01:27:33 +00:00
Charles Krinke
476e08286e Mantis#1728. Thank you kindly, Mikem for a patch that solves:
The compiler was missing grammar rules for += etc. operators on 
vector.member variables, which the attached patch implements.
2008-07-14 01:07:21 +00:00
Johan Berntsson
130d8047a2 Thanks Mike for another LSL compiler patch which fixes a bug where 'vector v=<0, 0, -0.5>' caused a syntax error, and implements multiple assignments in one line (x = y = 3;) 2008-07-11 08:33:53 +00:00
Johan Berntsson
a73e3b4e3f another patch from Mike: the llscript compiler is now available in XEngine as well. Thanks Mike 2008-07-08 03:02:11 +00:00