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