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 Blundell 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
[email protected]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev

_______________________________________________
Opensim-dev mailing list
[email protected]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev

Reply via email to