[Opensim-dev] My new LSL compiler project

Jak Daniels jak at ateb.co.uk
Tue Nov 3 16:05:15 UTC 2015


Hi Eric,

Thank you for posting up your work to this group. This all looks very 
promising, and I was intrigued to give it a try.
I checked out the source from github and I tried building in VS C# 2010 
express... but only 3 of the projects will load. 
LibraryDataScrapingTools, LSLCCEditor, LSLCCEditor.CompletionUI all say 
(incompatible) and LSLCCEditorInstaller says (unavailable) even though I 
have WIX 3.10.1 installed.

Is this a VS 2010 problem do you think?

I'm a bit loathed to install VS2015 as the last time I installed VS2013 
it just dumped everything onto my SSD c: drive and filled it up, with no 
option to put things on drive D: my large harddrive. It also left a mess 
behind (more than 50% of itself including MSSQL server stuff) when I 
tried to uninstall it. VS2015 might be better now in this respect, but 
knowing MS products probably not! I also found VS2013 to be way, way 
slower loading up large projects like OpenSimulator than VS2010. So 
before I take the possibly irreversible path of installing VS2015, is 
there something I can do to make it load in VS2010 express?

Thanks
Jak

On 02/11/2015 19:24, Eric  wrote:
> Hello all.
>
> I am a bit new to OpenSim development (well at-least sharing stuff I 
> have made..) but for a quite a while now I have been working on
> a new (BSD Licensed) Compilation/Code Generation framework for LSL, 
> tailored towards usage with OpenSim.  I thought I should share it
> at this point of its development.
>
>
> This is pretty much a "full" or "true" compiler front end.
>
> It's built on-top of ANTLR4 and ANTLR4's CSharp target.
> ANTLR4 however has been completely abstracted and the library provides 
> its own Rich LSL Syntax Tree for users to deal with.
>
> My library includes an OpenSim code generation target which I have 
> integrated into my OpenSim fork on GitHub, it's implemented as an
> optional compiler that you can enable in your OpenSim.ini.
>
>
> The Code validation step my library performs when building a syntax 
> tree implements full front end syntax checking, dead code detection, 
> the works.
> It also emits extended warning information that is standard to most 
> compilers now days.
>
>
> The OpenSim code generator I have written and included with the 
> library drastically improves compatibility with scripts written for 
> SecondLife.
> Order of evaluation in generated code is correct for LSL (Right to 
> Left) among many other things.
>
> As an example, all of the encryption scripts you can find on the LSL 
> wiki will compile correctly and execute with correct behavior using my 
> compiler.
>
>
> The README.md for the project goes into a bit more detail on what all 
> the library can do.
>
>
> My library LibLSLCC is on GitHub here:
>
> https://github.com/EriHoss/LibLSLCC
>
>
> The project includes an LSL Editor (Windows Only, I used AvalonEdit) 
> with the project that features code completion and syntax highlighting.
>
> It can be used to test CSharp code generation for OpenSim by compiling 
> LSL into C# using LibLSLCC, which can then be uploaded to an
> OpenSim server with C# scripting enabled.
>
> The library itself is cross-platform, but the editor and editor 
> installer are not.  There's a separate project file for building the 
> library on
> mono with monodevelop/xbuild.
>
>
> ===
>
>
> The OpenSim fork that integrates my compiler is here:
>
> https://github.com/EriHoss/OpenSim_With_LibLSLCC
>
>
> It includes a few minor bug fixes to XEngine and Runtime Script 
> functions.
>
> Such as the 'IdleTimeout' setting not being honored properly.
>
> And llParseString2List using culture specific comparisons, causing it 
> to misbehave when comparing Unicode characters on Mono.
>
>
>
> I have added new attributes to OpenSim's script module 
> constants/functions and also to ScriptBaseClass.
> This is so LibLSLCC can de-serialize the classes into library data 
> that's consumable by its code validator and code generator.
>
> I have also made some slight changes to IScriptModuleComms and 
> ScriptModuleCommsModule.
>
> The old compiler in my fork works as it did before, so you can switch 
> back and forth from LibLSLCC to the old compiler
> if you want without any problems.
>
> There are more details on the changes I have made in the README.md.
>
>
> ==
>
> I started working on this sometime early last year when I broke my 
> wrist and was unable to do much for a while, and
> I have only recently moved the code from my Git server up to GitHub.  
> I'm going to continue improving this in my spare time,
> right now I am doing rolling releases versioned by date anywhere from 
> once every few days to a few times a day.  I am also keeping my 
> OpenSim fork synced with the latest OpenSim commits.
>
> Hopefully this will be useful, any feedback is appreciated :)
>
>
>
> _______________________________________________
> Opensim-dev mailing list
> Opensim-dev at opensimulator.org
> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://opensimulator.org/pipermail/opensim-dev/attachments/20151103/2c081c0e/attachment.html>


More information about the Opensim-dev mailing list