The table below has the keywords that are available in the X# language.
•The Keywords in the VO column find their origin in the Visual Objects language. When the compiler dialect is set to VO, these keywords may be abbreviated (4 letter minimum).
•The Keywords in the VN column were introduced in Vulcan.NET. These keywords may never be abbreviated, and most of these keywords are positional, so are only recognized in certain positions in the language. That also means that these keywords may be used as Variable Names or Method names.
•The Keywords in the X# column were introduced in X#. Just like the VN keywords, they may never be abbreviated and they are also positional.
•The Keywords in the VFP column are FoxPro specific. Please note that many FoxPro commands are implemented as "User Defined Commands" and their tokens are not strictly Keywords inside X#.
•The Keywords in the Xb++ column are Xbase++ specific. Please note that many FoxPro commands are implemented as "User Defined Commands" and their tokens are not strictly Keywords inside X#.
•Keywords that are listed in the Id column may also be used as an identifier. These are so called "context sensitive" keywords. You may see in the Visual Studio editor that these keywords will change color depending on the position in the source.
For example, if you start typing PROPERTY, the word will be shown in the IDENTIFIER color:
However, as soon as you continue to complete the PROPERTY definition, it will get the KEYWORD color:
Keyword |
VO |
VN |
X# |
VFP |
Xb++ |
Id |
---|---|---|---|---|---|---|
ABSTRACT |
|
Y |
|
|
|
Y |
ACCESS |
Y |
|
|
|
|
|
ADD |
|
|
Y |
|
|
Y |
ALIGN |
Y |
|
|
|
|
Y |
AND |
|
|
|
Y |
|
Y |
ANNOUNCE |
|
|
|
|
Y2 |
Y |
ANSI |
|
Y |
|
|
|
Y |
ARRAY |
Y |
|
|
|
|
Y1 |
AS |
Y |
|
|
|
|
|
ASCENDING |
|
|
Y |
|
|
Y |
ASPEN |
Y |
|
|
|
|
Y |
ASSEMBLY |
|
|
|
|
|
Y |
ASSIGN |
Y |
|
|
|
|
|
ASSIGNMENT |
|
|
|
|
Y |
Y |
ASYNC |
|
|
Y |
|
|
Y |
AUTO |
|
Y |
|
|
|
Y |
AWAIT |
|
|
Y |
|
|
Y |
BEGIN |
Y |
|
|
|
|
|
BREAK |
Y |
|
|
|
|
|
BY |
|
|
Y |
|
|
Y |
BYTE |
Y |
|
|
|
|
Y1 |
CALLBACK |
Y |
|
|
|
|
Y |
CASE |
Y |
|
|
|
|
|
CATCH |
|
Y |
|
|
|
|
CCALL |
Y |
|
|
|
|
|
CCALLNATIVE |
|
Y |
|
|
|
|
CHAR |
|
Y |
|
|
|
Y |
CHECKED |
|
|
Y |
|
|
Y |
CLASS |
Y |
|
|
|
|
|
CLIPPER |
Y |
|
|
|
|
Y |
CODEBLOCK |
Y |
|
|
|
|
Y1 |
CONST |
|
Y |
|
|
|
Y |
CONSTRUCTOR |
|
Y |
|
|
|
|
DATE |
Y |
|
|
|
|
Y1 |
DECLARE |
Y |
|
|
|
|
Y |
DEFAULT |
|
Y |
|
|
|
Y |
DEFERRED |
|
|
|
|
Y |
Y |
DEFINE |
Y |
|
|
|
|
Y |
DELEGATE |
|
Y |
|
|
|
Y |
DESCENDING |
|
|
Y |
|
|
Y |
DESTRUCTOR |
|
Y |
|
|
|
|
DIM |
Y |
|
|
|
|
Y |
DIMENSION |
|
|
|
Y |
|
Y |
DLLEXPORT |
Y |
|
|
|
|
Y |
DO |
Y |
|
|
|
|
|
DOWNTO |
Y |
|
|
|
|
Y |
DWORD |
Y |
|
|
|
|
Y1 |
DYNAMIC |
|
|
Y |
|
|
Y |
EACH |
|
|
|
Y |
|
Y |
ELSE |
Y |
|
|
|
|
|
ELSEIF |
Y |
|
|
|
|
|
END |
Y |
|
|
|
|
|
ENDCASE |
Y |
|
|
|
|
|
ENDDO |
Y |
|
|
|
|
|
ENDCLASS |
|
|
|
|
Y |
Y |
ENDDEFINE |
|
|
|
Y |
|
Y |
ENDIF |
Y |
|
|
|
|
|
ENDFOR |
|
|
|
Y2 |
Y2 |
Y |
ENDFUNC |
|
|
|
Y2 |
|
Y |
ENDPROC |
|
|
|
Y2 |
|
Y |
ENDSCAN |
|
|
|
Y2 |
|
Y |
ENDSEQUENCE |
|
|
|
|
Y2 |
Y |
ENDTRY |
|
|
|
Y2 |
|
Y |
ENDWITH |
|
|
|
Y2 |
|
Y |
ENUM |
|
Y |
|
|
|
Y |
EQUALS |
|
|
Y |
|
|
Y |
EVENT |
|
Y |
|
|
|
Y |
EXIT |
Y |
|
|
|
|
|
EXCLUDE |
|
|
|
Y |
|
Y |
EXPLICIT |
|
Y |
|
|
|
Y |
EXPORT |
Y |
|
|
|
|
|
EXPORTED |
|
|
|
|
Y |
Y |
EXTERN |
|
|
Y |
|
|
Y |
FALSE |
Y |
|
|
|
|
|
FASTCALL |
Y |
|
|
|
|
Y |
FIELD |
Y |
|
|
|
|
Y |
FINAL |
|
|
|
|
Y |
Y |
FINALLY |
|
Y |
|
|
|
|
FIXED |
|
|
Y |
|
|
Y |
FLOAT |
Y |
|
|
|
|
|
FOR |
Y |
|
|
|
|
|
FOREACH |
|
Y |
|
|
|
Y |
FOR EACH |
|
|
|
Y2 |
Y2 |
Y |
FREEZE |
|
` |
|
|
Y |
Y |
FROM |
|
|
Y |
|
|
Y |
FUNC |
Y |
|
|
|
|
Y |
FUNCTION |
Y |
|
|
|
|
|
GET |
|
Y |
|
|
|
Y |
GLOBAL |
Y |
|
|
|
|
Y |
GROUP |
|
|
Y |
|
|
Y |
HELPSTRING |
|
|
|
Y |
|
Y |
HIDDEN |
Y |
|
|
|
|
|
IF |
Y |
|
|
|
|
|
IIF |
Y |
|
|
|
|
|
IMPLEMENTS |
|
Y |
|
|
|
Y |
IMPLICIT |
|
Y |
|
|
|
Y |
IMPLIED |
|
Y |
|
|
|
Y |
IN |
Y |
|
|
|
|
Y |
INHERIT |
Y |
|
|
|
|
Y |
INITONLY |
|
Y |
|
|
|
Y |
INLINE |
|
|
|
|
Y |
Y |
INSTANCE |
Y |
|
|
|
|
Y |
INT |
Y |
|
|
|
|
Y1 |
INT64 |
|
Y |
|
|
|
Y1 |
INTERFACE |
|
Y |
|
|
|
Y |
INTO |
|
|
Y |
|
|
Y |
INTERNAL |
|
Y |
|
|
|
Y |
INTRODUCE |
|
|
|
|
Y |
Y |
IS |
Y |
|
|
|
|
|
JOIN |
|
|
Y |
|
|
Y |
LET |
|
|
Y |
|
|
Y |
LOCAL |
Y |
|
|
|
|
|
LOCK |
|
Y |
|
|
|
Y |
LONG |
Y |
|
|
|
|
Y1 |
LONGINT |
Y |
|
|
|
|
Y1 |
LOOP |
Y |
|
|
|
|
|
LPARAMETERS |
|
|
|
Y |
|
Y |
MEMBER |
Y |
|
|
|
|
|
MEMVAR |
Y |
|
|
|
|
|
METHOD |
Y |
|
|
|
|
|
MODULE |
|
|
Y |
|
|
Y |
NAMEOF |
|
|
Y |
|
|
Y |
NAMESPACE |
|
Y |
|
|
|
Y |
NEW |
|
Y |
|
|
|
Y |
NEXT |
Y |
|
|
|
|
|
NIL |
Y |
|
|
|
|
|
NOINIT |
|
|
|
Y |
|
Y |
NOP |
|
|
Y |
|
|
Y |
NOSAVE |
|
|
|
|
Y |
Y |
NOT |
|
|
|
Y |
|
Y |
NULL |
Y |
|
|
|
|
|
NULL_ARRAY |
Y |
|
|
|
|
|
NULL_CODEBLOCK |
Y |
|
|
|
|
|
NULL_DATE |
Y |
|
|
|
|
|
NULL_OBJECT |
Y |
|
|
|
|
|
NULL_PSZ |
Y |
|
|
|
|
|
NULL_PTR |
Y |
|
|
|
|
|
NULL_STRING |
Y |
|
|
|
|
|
NULL_SYMBOL |
Y |
|
|
|
|
|
OBJECT |
Y |
|
|
|
|
Y1 |
OFF |
|
Y |
|
|
|
|
OLEPUBLIC |
|
|
|
Y |
|
Y |
ON |
|
Y |
|
|
|
Y |
OPERATOR |
|
Y |
|
|
|
Y |
OPTIONS |
|
Y |
|
|
|
|
OR |
|
|
|
Y |
|
Y |
ORDERBY |
|
|
Y |
|
|
Y |
OTHERWISE |
Y |
|
|
|
|
|
OVERRIDE |
|
|
Y |
|
|
Y |
OUT |
|
|
|
|
|
Y |
PARAMETERS |
Y |
|
|
|
|
|
PARAMS |
|
|
Y |
|
|
Y |
PARTIAL |
|
Y |
|
|
|
Y |
PASCAL |
Y |
|
|
|
|
Y |
PCALL |
Y |
|
|
|
|
|
PCALLNATIVE |
|
Y |
|
|
|
|
PCOUNT |
Y |
|
|
|
|
|
POP |
|
Y |
|
|
|
|
PRIVATE |
Y |
|
|
|
|
|
PROC |
Y |
|
|
|
|
Y |
PROCEDURE |
Y |
|
|
|
|
|
PROPERTY |
|
Y |
|
|
|
Y |
PROTECTED |
Y |
|
|
|
|
|
PSZ |
Y |
|
|
|
|
Y1 |
PTR |
Y |
|
|
|
|
Y1 |
PUBLIC |
Y |
|
|
|
|
|
PUSH |
|
Y |
|
|
|
|
REAL4 |
Y |
|
|
|
|
Y1 |
REAL8 |
Y |
|
|
|
|
Y1 |
RECOVER |
Y |
|
|
|
|
|
REF |
Y |
|
|
|
|
|
REMOVE |
|
|
Y |
|
|
Y |
REPEAT |
|
Y |
|
|
|
|
REQUEST |
|
|
|
|
Y2 |
Y |
RETURN |
Y |
|
|
|
|
|
SCOPE |
|
Y |
|
|
|
Y |
SEALED |
|
Y |
|
|
|
Y |
SELECT |
|
|
Y |
|
|
Y |
SELF |
Y |
|
|
|
|
|
SEQUENCE |
Y |
|
|
|
|
Y |
SET |
|
Y |
|
|
|
Y |
SHARED |
|
|
|
|
Y |
Y |
SHARING |
|
|
|
|
Y |
Y |
SHORT |
Y |
|
|
|
|
Y1 |
SHORTINT |
Y |
|
|
|
|
Y1 |
SIZEOF |
|
Y |
|
|
|
|
STATIC |
Y |
|
|
|
|
|
STEP |
Y |
|
|
|
|
Y |
STRICT |
Y |
|
|
|
|
Y |
STRING |
Y |
|
|
|
|
Y1 |
STRUCT |
Y |
|
|
|
|
|
STRUCTURE |
|
Y |
|
|
|
Y |
SUPER |
Y |
|
|
|
|
|
SWITCH |
|
|
Y |
|
|
Y |
SYMBOL |
Y |
|
|
|
|
Y1 |
SYNC |
|
|
|
|
Y |
Y |
THEN |
|
|
|
Y |
|
Y |
THISCALL |
Y |
|
|
|
|
Y |
TO |
Y |
|
|
|
|
|
THROW |
|
Y |
|
|
|
|
TRUE |
Y |
|
|
|
|
|
TRY |
|
Y |
|
|
|
Y |
TUPLE |
|
|
Y |
|
|
Y |
TYPEOF |
|
Y |
|
|
|
|
UINT64 |
|
Y |
|
|
|
Y1 |
UNCHECKED |
|
|
Y |
|
|
Y |
UNICODE |
|
Y |
|
|
|
Y |
UNION |
Y |
|
|
|
|
Y |
UNSAFE |
|
|
Y |
|
|
Y |
UNTIL |
|
Y |
|
|
|
Y |
UPTO |
Y |
|
|
|
|
Y |
USING |
Y |
|
|
|
|
Y |
USUAL |
Y |
|
|
|
|
Y1 |
VALUE |
|
Y |
|
|
|
Y |
VAR |
|
|
Y |
|
|
Y |
VIRTUAL |
|
Y |
|
|
|
Y |
VOID |
Y |
|
|
|
|
Y1 |
VOLATILE |
|
|
Y |
|
|
Y |
VOSTRUCT |
|
Y |
|
|
|
Y |
WARNINGS |
|
Y |
|
|
|
|
_WINCALL |
Y |
|
|
|
|
Y |
WHEN |
|
|
Y |
|
|
Y |
WHERE |
|
|
Y |
|
|
Y |
WHILE |
Y |
|
|
|
|
|
WORD |
Y |
|
|
|
|
Y1 |
XOR |
|
|
|
Y |
|
Y |
YIELD |
|
|
Y |
|
|
Y |
__ARGLIST |
|
|
Y |
|
|
|
_AND |
Y |
|
|
|
|
|
_CAST |
Y |
|
|
|
|
|
_CODEBLOCK |
Y |
|
|
|
|
|
_DLL |
Y |
|
|
|
|
|
_FIELD |
Y |
|
|
|
|
|
_GETFPARAM |
|
|
|
|
|
|
_GETMPARAM |
|
|
|
|
|
|
_INIT1, _INIT2, _INIT3 |
Y |
|
|
|
|
|
_NOT |
Y |
|
|
|
|
|
_OR |
Y |
|
|
|
|
|
_SIZEOF |
Y |
|
|
|
|
|
_TYPEOF |
Y |
|
|
|
|
|
_XOR |
Y |
|
|
|
|
|
.AND. |
Y |
|
|
|
|
|
.F. |
Y |
|
|
|
|
|
.NOT. |
Y |
|
|
|
|
|
.OR. |
Y |
|
|
|
|
|
.T. |
Y |
|
|
|
|
|
.XOR. |
Y |
|
|
|
|
|
... |
Y |
|
|
|
|
|
#command |
|
Y |
|
|
|
|
#define |
|
Y |
|
|
|
|
#else |
|
Y |
|
|
|
|
#endif |
|
Y |
|
|
|
|
#endregion |
|
Y |
|
|
|
|
#ifdef |
|
Y |
|
|
|
|
#ifndef |
|
Y |
|
|
|
|
#include |
|
Y |
|
|
|
|
#line |
|
Y |
|
|
|
|
#pragma |
|
Y |
|
|
|
|
#region |
|
Y |
|
|
|
|
#translate |
|
Y |
|
|
|
|
#undef |
|
Y |
|
|
|
|
#using |
|
Y |
|
|
|
|
#warning |
|
Y |
|
|
|
|
#xcommand |
|
Y |
|
|
|
|
#xtranslate |
|
Y |
|
|
|
|
#ycommand |
|
|
Y |
|
|
|
#ytranslate |
|
|
Y |
|
|
|
1 These type names can only be used as identifiers when the dialect is not Core, VO or Vulcan.
2 This keyword is actually defined by a preprocessor command.