lslint
is a tool to check the syntactic and semantic validity of Second Life LSL scripts.
For now I have taken over keeping this updated as much as possible as there have been no updates on the official repo in years.
~ FixedBit / Coal Edge
See Releases for binaries. Latest release resides here.
make
should be all that's required on POSIX systems, and a solution file exists for VS2015 on Windows.- Win flex-bison as well as VS2015 or SDK7.0 or later are required for Windows build. See the comment in NMakefile for detailed instructions.
All code is public domain unless otherwise noted.
LSL scripts are from various sources and the property of their respective owners.
.l
and .y
files are based on samples provided by Linden Lab.
WARNING: lslint
faithfully reproduced all the quirks of the LSL compiler circa ~2006,
like having constants as lexer tokens, events as part of the parser grammar,
and lots of right recursion. From a compiler perspective, it does everything
wrong, and is not recommended as a base for anything but a lint tool.
- added nmake support (see NMAkefile for details).
- dropped builtins.txt creator. if you look for new builtins.txt, see kwdb project
- enabled appending the input file path to the result lines by "-p".
- Makefile-less VS2015 support (more cpp hybridization was necessary)
- Side effects includes x86_64 binary, x86 is possible still
- added Mono mode (-m for Mono(default), -m- for LSO)
- added option to make the warning on unused event parameters optional (-u to enable, -u- to disable)
- added option to ignore preprocessor commands (-i)
- added switch() statement and lazy list support
- added god mode support
- added reporting of several errors and warnings
- numerous bug fixes and enhancements
- updated and and cleaned up compile for all languages
- Strife Onizuka
- Howie Lament
- Cory Linden
- Huns Valen
- Doran Zemlja / Adam Wozniak
- Daniel Linden
- Bakuzelas Khan
- One Song
- Otacon Falcone
- Shokra Patel