We are pleased to offer you the first public beta of XSharp (X#).

When we started this project we have promised a first beta version in the first quarter of 2016, and that has not been an empty promise!

You can download the beta now from this website for free. The only thing that we request from you is that you register yourself as user on our website.

Of course we would like to "warn" you that it is still a beta version of our product. It is not finished yet.

This beta version of the compiler supports the “Core” language, that means that VO & Vulcan specific datatypes such as DATE, ARRAY, USUAL, SYMBOL, FLOAT etc. are not supported yet.

The Visual Studio integration supports the Edit/Compile/Debug cycle. Only the source code editor is supported. Other editors, such as the WPF editor, Forms Editor and Resource editor are not supported yet.

The debugger may stop more often than you would expect.

Please note that this is an early build of the compiler. Some things will NOT work, you can be sure of this.

Please also read our other article about our Roadmap and support options.

 

On behalf of the XSharp Development team

Robert van der Hulst


It is time for a quick status update:

  • The first public Beta will be released in the coming week. Is is a little bit delayed because the flu epidemy has unfortunately also found its way to one of our team members.
  • We will also publish a public Roadmap next week in which we will give you an impression of what you can expect from us in 2016. It is going to be an exciting year.
  • We hope that you have already booked your ticket for the xBase.Future conference in April in Cologne. If not then please visit http://www.visualobjects.de/en/conference/ and book for the special early bird price which is valid until the end of this month.
    We have planned to demonstrate and release our version 1 product at that conference! More details about that will be in the roadmap. Of course this conference is also the perfect place to tell us what you would like to see added to X#.

On behalf of the team,

Robert van der Hulst


Another new build of X# has been released to our FOX subscribers. This build was mostly focused on making the compiler more compatible with the VO an Vulcan xBase language. Some of the changes are:

  • The "ns" (add default namespace to classes without namespace) has been implemented
  • The "vo3" compiler option (to make all methods virtual ) has been implemented
  • Fixed an issue where the send operator on an expression between parentheses was not compiling properly
  • Relational operators for strings (>, >=, <, <=) are now supported. They are implemented using the String.Compare() method.
  • Fixed a problem with local variables declared on the start line from FOR .. NEXT statements
  • Added first version of the documentation in CHM & PDF format
  • Added several properties to the Visual Studio Project properties dialog to allow setting the new compiler options
  • Fixed a problem in the Targets files used by MsBuild because some standard macros such as $(TargetPath) were not working properly
  • XIDE 0.1.7 is included. This version of XIDE is completely compiled with XSharp !
  • The name of some of the MsBuild support files have changed. This may lead to problems loading a VS project if you have used the VS support from the previous build. If that is the case then please edit the xsproj file inside Visual Studio and replace all references of "XSharpProject" with "XSharp" . Then safe the xsproj file and try to reload the project again.
  • The WHILE.. ENDDO (a DO WHILE without the leading DO) is now recognized properly

Upon request from one of our Fox Subscribers we have started a new Examples Forum today.

The purpose of this forum is to demonstrate examples of code, usually using new language features.

We have posted 3 examples to start with, showing the syntax for Anonymous methods, LINQ and how to create a Generic Class


We are proud that we can announce a new Alpha build of X# which has been uploaded to the download area for our Fox subscribers.

This new build (0.1.6) is the first build that comes with a Setup and it also includes the first version of our Visual Studio integration.

This Visual Studio integration is still work in progress. Source code Edit/Compile/Debug is supported, but Intellisense (apart from keyword highlighting), Form Editor, XAML editor and other subsystems are not supported yet.

There are quite some changes in the compiler too. For example the "az" and "vo2" compiler options from Vulcan.NET are now supported as well.

Chris has been able to almost completely recompile XIDE with this new XSharp build. Only some small portions that depend on DBF support are not working yet.

This new XIDE 0.1.6 is available for download from the subscriber area as well!


We are pleased to announce that Alpha build 0.1.5 has been uploaded to the downloads area on this website.
Most of the issues reported by our FOX subscribers have been fixed in this build.

Some of the changes in this build:

  • When an error occurs in the parsing stage, X# no longer enters the following stages of the compiler to prevent crashes. In addition to the errors from the parser also an error 9002 is displayed.
  • Parser errors now also include the source file name in the error message and have the same format as other error messages. Please note that we are not finished yet with handling these error messages. There will be improvements in the format of these error messages in the upcoming builds.
  • The compiler will display a “feature not available” (8022) error when a program uses one of the Xbase types (ARRAY, DATE, FLOAT, PSZ, SYMBOL, USUAL).
  • Fixed an error with VOSTRUCT and UNION types
  • Fixed a problem with the exclamation mark (!) NOT operator

We are pleased to announce that Alpha build 0.1.4 has been uploaded to the downloads area on this website.
Most of the issues reported by our FOX subscribers have been fixed in this build.

Some of the changes in this build:

  • Several changes to allow calculations with integers and enums
  • Several changes to allow VO compatible _OR, _AND, _NOT an _XOR operations
  • Fix interface/abstract VO properties
  • Insert an implicit “USING System” only if not explicitly declared
  • Error 542 turned to warning (members cannot have the same name as their enclosing type)
  • Changes in the .XOR. expression definition
  • Fix double quote in CHAR_CONST lexer rule
  • Allow namespace declaration in class/struct/etc. name (CLASS Foo.Bar)
  • Fix access/assign crash where identifier name was a (positional) keyword: ACCESS Value
  • Preprocessor keywords were not recognized after spaces, but only at the start of the line. This has been fixed.

In this message I would like to share with you some of the progress that we have made with the X# project, and especially the progress with the new compiler.

We have planned to release the first public version of the compiler in the first quarter of 2016 and we are very much on schedule. In fact I think we are a little ahead of schedule.

Most of the new language features that we have on our list for the X# Core dialect are working, and the code generation has proven to be of excellent quality. Our choice to build the new compiler on top of the Roslyn architecture has proven to be an excellent choice. It has taken some effort, but we are getting there. At this moment almost all “valid code” compiles and runs perfectly. We are now focussing on the level of handling incorrect code and producing meaningfull error messages. We are also focussing on some of the areas where the Xbase language is quite different from the C# and VB languages where the Roslyn architecture was written for.

As proof that the compiler is working we have uploaded a few examples (both source, EXE and PDB) that you can test on your own machine.