No description
Find a file
Sei Lisa e60457f00e Fix rare bug with breakcont and label scope.
This caused "Label not defined within scope" when breakcont was active:
  default{timer(){jump x;while(0)@x;}}
The problem was that breakcont opens a new scope for the case where it has to deal with a loop which is the single statement of an outer statement, e.g.
  default{timer(){if(1)while(1)break;}}
would add braces to jump to the correct break point:
  default{timer(){if(1){while(1)jump brk;@brk;}}
To avoid excessive complication, a new scope was always opened for the whole statement in each of the loops, regardless of whether we needed braces later on or not. That should be transparent most of the time, but then if the statement was a label declaration, the label would be in a new scope that would be invisible outside the loop.

Fix that by checking explicitly for a label to temporarily get rid of the new scope in that case, and add a test case for it.
2016-07-09 23:41:27 +02:00
lslopt Fix rare bug with breakcont and label scope. 2016-07-09 23:41:27 +02:00
.gitignore Meta - add .gitignore 2014-07-26 03:06:33 +02:00
builtins-unittest.txt Get rid of builtins.txt.dat by adding a parameter to the parser ctor. 2015-07-09 20:35:14 +02:00
builtins.txt New upstream version of builtins.txt 2016-06-26 00:48:13 +02:00
COPYING Add copyright notices to all files, to prepare the program for release. 2015-03-05 23:18:41 +01:00
main.py Bump version. 2016-06-28 03:51:43 +02:00
README.md Update URL. 2015-04-29 00:49:34 +02:00
seftable.txt Update copyright years of some files; add legalese to seftable.txt 2016-06-27 20:06:41 +02:00
testfuncs.py Update copyright years of some files; add legalese to seftable.txt 2016-06-27 20:06:41 +02:00
testparser.py Fix rare bug with breakcont and label scope. 2016-07-09 23:41:27 +02:00

LSL PyOptimizer

LSL PyOptimizer is a LSL2 script optimizer written in Python 2. Currently it only supports code memory optimization (no speed optimization), only for Mono (no LSO), and only for the Second Life flavour of LSL (no OpenSim etc.).

HTML introduction, list of features and documentation available at http://lsl.project.li/lsl-pyoptimizer/