[Opensim-dev] My new LSL compiler project

Jak Daniels jak at ateb.co.uk
Thu Nov 5 12:52:54 UTC 2015


Hi Eric,

yes I can confirm now that it does open and compile correctly in VS C# 
2010 express now. Thank you.

I'm now installing VS2015 in a win10 virtual machine so I don't clobber 
my SSD, so I can compile and play with the LSL editor.

kind regards
Jak



On 04/11/2015 06:10, Eric  wrote:
> Let me just make a slight correction to my last message, and add some 
> info...
>
> After removing the "<LangVersion>5</LangVersion>" stuff from the 
> non-editor related .csproj files,
>
> I found that VS2010 is actually able to open the 
> "MonoDevelop-LibLSLCC.sln" solution file in the source tree and build 
> it without any problems.
>
> I'm going to be pushing the changes I made to the .csproj files 
> shortly,  I will probably rename "MonoDevelop-LibLSLCC.sln" to 
> something like
> "LibLSLCC-No-Editor.sln" and update the build instructions in the 
> README.md to specify that solution as the solution to use for building 
> the library on Mono.
>
>
> I have not tested that the editor build is working with anything other 
> than vs2015,  but I will test with the prior versions vs2012+ to see 
> what all
> works, then put some info in the README.md about what IDE's the Editor 
> portion of the project can be built in.
>
>
>
> On Tue, Nov 3, 2015 at 11:53 PM, Eric  <e800 at gmail.com 
> <mailto:e800 at gmail.com>> wrote:
>
>     Thanks for letting me know about this problem Jak. (See the bottom
>     for TLDR :P)
>
>
>     I am using vs2015 and WiX 3.10.1, it does indeed seem to be a
>     problem with vs2010 C#.
>
>     I was unable to find an updated download for vs2010 C# to test
>     with, only an SP1 ISO I found on stackoverflow:
>
>     http://stackoverflow.com/questions/6871865/url-for-visual-studio-2010-express-iso
>
>     http://go.microsoft.com/?linkid=9709969
>
>
>     I tried installing vs2010, however this version will not attempt
>     to open my solution files at all as it says they are incompatible.
>
>     I can however, load the .csproj files for certain projects in my
>     build.
>
>     I cannot get it to update from SP1, I am unsure if updates are
>     still available to download for vs2010.
>
>     When I try to update, it just directs me to use windows update
>     which does not seem to find any updates related to it.
>
>
>     === Why it's not loading ===
>
>
>     With vs2010 SP1,  I was only able to load: LibLSLCC.csproj,
>     lslcc_cmd.csproj and DemoArea.csproj.
>
>     LibraryDataScrapingTools was incompatible because it was building
>     against .NET 4.5.
>
>     I downgraded LibraryDataScrapingTools to .NET 4.0  and
>     re-installed the 'System.Data.Sqlite.Core' package from nuget
>     using vs2015 in order to make it load in vs2010.
>     I then made some code changes to make it compatible with .NET 4.0.
>
>     I will be committing the changes to LibraryDataScrapingTools
>     tonight, as this project is supposed to be .NET 4.0 compatible.
>
>
>
>     The LSLCCEditor related projects I am pretty sure are incompatible
>     at the moment due to the .NET framework level they require as well.
>
>     The code base for LSLCCEditor requires a minimum of .NET 4.5 to
>     compile, and the code changes required to make the editor projects
>     compatible with .NET 4.0 are not as trivial as the changes I made
>     to the LibraryDataScrapingTools project.
>
>     I am not sure if I want to limit the LSLCCEditor part of the
>     project to a  .NET 4.0 at the moment, as it is a Windows
>     only WPF application, and that sort of compatibility profile is
>     not necessary.
>
>
>
>     I also noticed when installing WiX v3.10.1 on a Virtual Machine
>     with vs2010 installed that It does not try to register itself with
>     vs2010 as a project type.
>     I do not think the latest version of WiX installer framework
>     supports vs2010 anymore.
>
>
>     === How I got LibLSLCC, LibraryDataScrapingTools, lslcc_cmd and
>     DemoArea  to build.  ===
>
>
>
>     After the code changes to LibraryDataScrapingTools and downgrading
>     the .NET Framework level...
>
>     I created a new vs2010 project and added (LibLSLCC,
>     LibraryDataScrapingTools, lslcc_cmd and DemoArea) as existing
>     projects.
>
>     When trying to build these projects I got the message
>     "Error1Invalid option '5' for /langversion; must be ISO-1, ISO-2,
>     3 or Default"
>     for all of the projects except 'DemoArea'
>
>     I resolved this by manually editing the .csproj file for each
>     non-building project in a text editor, removing the occurrences of:
>
>     <LangVersion>5</LangVersion>
>
>
>     That particular MSBuild setting is not necessary for vs2015 or
>     Mono to build the library anyway, so I am going to remove it and
>     commit the changes.
>
>     After that, LibLSLCC, LibraryDataScrapingTools, lslcc_cmd and
>     DemoArea were all able to build under vs2010.
>
>     ===
>
>     That all being said,  I will be adding a vs2010 compatible
>     solution file to the repository that contains Projects:
>
>     * LibLSLCC,
>     * lslcc_cmd
>     * LibraryDataScrapingTools
>     * DemoArea
>
>     So that you can at-least build the library, command line compiler,
>     library data scraper and demo project with vs2010.
>
>
>     Unfortunately making LSLCCEditor build in vs2010 would require
>     some non trivial code changes, a new method of triggering the WiX
>     installer build,
>     and a downgrade from .NET 4.5 to .NET 4.0 for the editor related
>     projects.
>
>     I'm not sure if I want to make these changes to the Editor portion
>     of the project just for the sake of being compatible with older
>     versions of Visual Studio.
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>     On Tue, Nov 3, 2015 at 10:05 AM, Jak Daniels <jak at ateb.co.uk
>     <mailto:jak at ateb.co.uk>> wrote:
>
>         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
>>         <mailto:Opensim-dev at opensimulator.org>
>>         http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
>
>
>         _______________________________________________
>         Opensim-dev mailing list
>         Opensim-dev at opensimulator.org
>         <mailto:Opensim-dev at opensimulator.org>
>         http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
>
>
>
>
>
> _______________________________________________
> 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/20151105/a9c7f3e1/attachment-0001.html>


More information about the Opensim-dev mailing list