will this run and compile with mono in linux and mac too? On Nov 4, 2015 5:55 PM, "Eric Blundell" <[email protected]> wrote:
> I also just recently (tonight) adjusted code generation to support script > resets in code generated on the server, and also to support script state > persistence. > > Previously globals were not being reset when the script reset because they > were generated in a container class during server side compilation, and > assigned to a single field in the generated class all together in one > object. > > This was not friendly to the way XEngine script resets occur since the > current script base class code requires all global variables be a declared > member of the generated script class that derives from it. > > The base class collects the initial values of the generated script global > fields so it can reset them later, and also has an API for manipulating > them dynamically that I had not considered before. > > === > > I moved the generated global variable initialization into the constructor > of the actual script class, and declared the fields in the script class > itself to make script resets/state persistence work; while still > maintaining the ability for global variables to reference previously > defined globals in their declaration. > > > > On Nov 4, 2015 7:30 PM, "Zadark Portal" <[email protected]> wrote: > >> Thank you for the update Eric >> >> Over the next few days we will extend the tests hopefully provide you >> with additional validation. >> In the meantime should you wish for any specifics to be considered please >> shout. >> >> Z >> >> On 4 November 2015 at 07:56, Eric Blundell <[email protected]> >> wrote: >> >>> Thanks Zadark, that's also good to know. >>> >>> >>> The OpenSim fork should indeed build without problems in every version >>> of visual studio that OpenSim is already stated to support. >>> I have pre-built my library for that repository and stuck it in the >>> 'bin' folder with its ANTLR 4 dependency. >>> Then updated prebuild.xml for the places I needed to reference it. >>> >>> It does not affect the build OpenSim build very much since they are just >>> binary files. >>> prebuild.exe is still used to generate the new OpenSim project that >>> houses the compiler addon, so everything new is friendly to the existing >>> build system. >>> >>> >>> You're right, I should probably remove the pre-configuration though. >>> I had it there so whenever I pulled the repository down onto a new >>> machine I was testing I would not have to re-configure after building. >>> >>> Having it there is not inline with how the OpenSim project actually does >>> things. >>> >>> == >>> >>> >>> Jak was talking about the actual LibLSLCC library over here: >>> *https://github.com/EriHoss/LibLSLCC >>> <https://github.com/EriHoss/LibLSLCC>* >>> >>> >>> It has an LSL editor included in it that will not build in vs2010 due to >>> .NET 4.5 compatibility issues. >>> >>> I provide several .sln files in the source tree of that project however, >>> I just got done fixing the "LibLSLCC-NoEditor.sln" project file so >>> that it should build in VS2010 and up. >>> >>> That solution file of course excludes the editor, and just builds the >>> projects related to the library itself, which I made sure so far will >>> build with at least VS2010. >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> On Wed, Nov 4, 2015 at 12:27 AM, Zadark Portal <[email protected]> >>> wrote: >>> >>>> FWIW >>>> The project builds and runs when using VS2012 with no modification >>>> other than networks adjustments to the various ini files. As these >>>> adjustments would be required by most test environments I would however >>>> suggest that opensim.ini and *common.ini files be omitted from the git >>>> repository. >>>> >>>> Great project all the same, >>>> Z >>>> >>>> On 4 November 2015 at 05:53, Eric Blundell <[email protected]> >>>> 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 "Error 1 Invalid >>>>> 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 <[email protected]> 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 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> >>>>>> 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> >>>>>> 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 >>>>>> [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 >>>>>> >>>>>> >>>>> >>>>> _______________________________________________ >>>>> 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 >>>> >>>> >>> >>> _______________________________________________ >>> 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 >> >> > _______________________________________________ > 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
