097c054494f720bfd3d112fce865afd0aec182cf
if (!cond) X; else Y; -> if (cond) Y; else X; if (int1 == int2) X; else Y; -> if (int1 ^ int2) Y; else X; When 'cond' is of a type other than 'key': if (cond) ; else X; -> if (!cond) X; (this required changing if(str) to its compiled equivalent if(!(str == "")), so that 'cond' is always either key or integer). if (cond) ; -> cond; and folds it as a statement, which may eliminate it if it's SEF. This is done after eliminating 'else ;' so that it also optimizes 'if (cond) ; else ;' the same way. This removes a TODO item.
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.zone/lsl-pyoptimizer/
Description
Optimizes a LSL2 script, folding constants, removing unused code and more. Adds new syntax features too.
Languages
Python
73.5%
LSL
26.5%