c544b51e37ca4b6fcef7f41dadc49f6a5d257725
ReportError() needed to account for terminal encodings that don't support the characters being printed. It was also reporting an inaccurate column number and its corresponding marker position, because the count was in bytes, not in characters, so that has been fixed. Now EParse.__init__() calls a new function GetErrLineCol() that calculates the line and column corresponding to an error position. The algorithm for finding the start of the line has also been changed in both ReportError() and EParse.__init__(); as a result, function fieldpos() has been removed. The exception's lno and cno fields have been changed to be 1-based, rather than 0-based. Thanks to @Jomik for the report. Fixes #5.
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%