The current build of the X# compiler can compile the Vulcan SDK without changes, except for some obvious errors in the Vulcan SDK that Vulcan did not find!
We consider the Vulcan Compatibility of the compiler finished. All Vulcan code should compile without problems now.
The next builds of the compiler will focus on bug fixing and adding some VO compatibility options which are listed below as well as adding some new features.
Below is the complete (but short) list of things that are not supported yet or are known problems in the current build of X#.
•Some VO compatibility compiler options are not implemented yet. The command line options are recognized but nothing is done with them
/cs: Case Sensitivity (the compiler is now always Case Insensitive)
/vo 11: VO Compatible Numeric conversions
•The compiler pragmas (#pragma warnings and #pragma options) do not work. They are ignored by the compiler.
•Parser errors need improvements
Erroneous code may generate compiler runtime errors
•Compiler errors may be cryptic every now and then
•The compiler is case insensitive. There may be a problem with case insensitive matching of interface member names. The case insensitivity cannot be switched off for now.
We have also seen problems for classes where different member names are defined with a name that is only different in case.
•Sometimes you may see a "Include file not found" error, where the file DOES exist. This seems to be a side effect of the codepage that was used to save the include files.
When you save the file as UTF8 (File Advanced Save Options in Visual Studio) then this problem almost always disappears.
•New features in the Debugger, such as a window for Globals and RDD Workareas
•DbServer and Fieldspec binaries are not exported yet
•Some of the string conversion functions such as Str() and NTrim() do not always return the same string as VO . In VO the return value of these functions heavily depends on state settings such as SetFixed, SetDecimals, SetScience and more. This will be most likely fixed in Beta 2
•Some of the TransForm() pictures also depend on the same settings as Str() and NTrim() and have the same problems
•The macro compiler in this release is fully functional but not as fast as we'd like. We are working on a smaller and faster macro compiler.
•The RDD system as well as the Db..() and VoDb..() functions are missing
•MEMVAR (PUBLIC & PRIVATE) support is missing
•Some runtime functions are not supported yet