这种方言具有“所有非 Core 方言”的特征。
编译器和运行时在编译 “Foxpro” 方言时具有以下“特殊”行为。
•允许使用 4 个字母缩写某些旧关键字。
•允许将"&&"作为同行注释字符,就像"//"一样。
•允许使用 DOT('.') 操作符调用实例方法。
•"@"操作符仅用于通过引用传递变量。
•允许用 ENDFOR 代替 NEXT,用 FOR EACH 代替 FOREACH。
•当"="操作符用作赋值操作符时,不会产生警告。
•添加了几个关键字,如 THIS (作为 SELF 的别名)。
•支持 CursorName.FieldName 语法。
•添加了对 M.VariableName 语法的支持。
•添加了 DIMENSION 语句语法。
•添加 LPARAMETERS 语句。
•添加了 TEXT ... ENDTEXT 语句。
•添加了 \\ 和 \\\ 语句。
•添加了 "= <Expression>" 命令
•添加了 FoxPro 特有的 DEFINE CLASS 语法来定义类,包括使用 FUNCTION 和 PROCEDURE 来定义类内的方法,以及在这些函数和过程的名称上使用 _ACCESS 和 _ASSIGN 后缀来声明 access/assign 方法。
•过程可以有返回值,因此与函数一样。
•允许在源文件的第一个实体之前编写代码。这将被编译成与 PRG 文件同名的函数。
•添加对 DoDefault() 伪函数的支持。
•FoxPro 中的 NIL 关键字具有 "unitialized "属性,但其值为 FALSE。
•FoxPro 方言中的默认 RDD 是 DBFVFP。
•MemoWrit() 函数会在文件末尾添加一个额外的 ^Z 字符。MemoRead() 会在发现该字符时将其删除。
•DBF() 函数返回文件的全名。
•_MRelease() 函数不会清除内存变量,而是完全释放它们。
•新的内存变量总是以 FALSE 值填充。
•在 FoxPro 方言中,比较初始化 USUAL 值和未初始化值时会产生错误。其他方言将直接返回 FALSE。