Show/Hide Toolbars

XSharp

The compiler and runtime have the following "special" behavior when compiling for the "Core" dialect.

Compiler

Does NOT allow 4 letter abbreviations of keywords.

Allows the DOT ('.') operator to call Instance methods.

Single quotes are used for Character literals.

String Comparisons are mapped to the String.Compare() method in the .Net runtime.

The String "=" operator is not supported.

The String "-" operator is not supported.

Anything that requires runtime support, such as the X# specific types (DATE, ARRAY, SYMBOL, FLOAT and USUAL) and dynamic memory variables, is not supported.

Supports the use of '@' to retrieve the address of a variable. This may also be used for REF variables if the compiler option -vo7 is used.

The '=' operator may be used for assigns but will generate a warning when used.

The compiler generated functions class is called:

 Functions                        for normal functions and globals;

 X$<ModuleName>$Functions for static functions and globals.

Procedures cannot return values.

Does not allow skipping arguments in method calls.

 

Runtime

The Core dialect does not require a runtime. However, you can still link to XSharp.Core and XSharp.RDD and call methods and functions in these assemblies.