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 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 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.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.