Compiler status - Updated on November, 2007
We are getting closer to the completion of the Runtime now we are half way in the Functions and very advanced in the commands front.
| Category |
Our implementation |
VFP9 |
% completion |
| Functions |
244 |
445 |
55% |
| Commands |
88 |
174 |
51% |
And the Full Independent TableLayer 64 bits capable, that supports more than 1000 fields and Big tables (bigger than 4 GB) is debuting. The debuting version of the TableLayer supports only Free tables, if the table is in a database the TableLayer ignores any Database information as long names and use only the info available in the table. This is just for now, the next month it will support Database functionality as longnames.
Currently the following commands are implemented:
| Command |
Comment |
| = |
|
| ? |
Basic syntax implemented including several expressions at the same time. |
| ?? |
|
| & |
Macro implemented for statements as this:
cMacro = "some command | expression"
&cMacro |
| ADD |
Implemented for
ADD OBJECT AS <ClassName> |
| APPEND |
|
| ASSERT |
|
| BLANK |
Implemented only as a Clause of other commands |
| CASE |
|
| CATCH |
|
| CD |
|
| CHDIR |
|
| CLEAR |
Implemented for CLEAR EVENTS |
| COMPILE |
|
| CONTINUE |
|
| COPY |
Iimplemented for:
COPY FILE ...
|
| CREATE |
TABLE | DBF Implemented for the FROM ARRAY syntax |
| DEBUG |
|
| DEBUGOUT |
|
| DECLARE |
|
| DEFINE |
Syntax implemented for Interfaces, Classes, Structures and enums:
DEFINE CLASS myClass AS System::Object
PROCEDURE MethodA
Procedure MethodB as long
TPARAMETERS cValue as String
ENDDEFINE
DEFINE INTERFACE aInteface
PROCEDURE MethodA
Procedure MethodB as long
TPARAMETERS cValue as String
ENDDEFINE
DEFINE ENUM MyEnum
nValue1
nValue2
ENDDEFINE
DEFINE STRUCTURE MyStruct
PROCEDURE MethodA
Procedure MethodB as long
TPARAMETERS cValue as String
ENDEFINE |
| DELETE |
|
| DIMENSION |
|
| DO |
|
| ELIF |
|
| ELSE |
|
| END |
|
| ENDCASE |
|
| ENDDEFINE |
Syntax extended see DEFINE |
| ENDDO |
|
| ENDFOR |
|
| ENDFUNC |
|
| ENDIF |
|
| ENDPROC |
|
| ENDSCAN |
|
| ENDTRY |
|
| ERASE |
Clause RECYCLE NOT IMPLEMENTED YET |
| ERROR |
|
| EXIT |
|
| FINALLY |
|
| FIND |
Implemented as a call to SEEK |
| FLUSH |
|
| FOR |
|
| FUNCTION |
|
| GO |
|
| GOTO |
|
| HIDDEN |
Actually implemented as a private member |
| IF |
|
| IFDEF |
|
| IFNDEF |
|
| IMPLEMENTS |
|
| INCLUDE |
|
| INDEX |
Implementado para CDX index files |
| INSERT |
|
| KEYBOARD |
|
| LOCAL |
|
| LOCATE |
|
| LOOP |
|
| LPARAMETERS |
|
| MD |
|
| MKDIR |
|
| NEXT |
|
| NODEFAULT |
|
| PACK |
|
| PARAMETERS |
|
| PRIVATE |
|
| PROCEDURE |
|
| PROTECTED |
|
| PUBLIC |
|
| RD |
|
| READ |
Implemented for READ EVENTS |
| RECALL |
|
| RENAME |
|
| REPLACE |
|
| RETURN |
|
| RMDIR |
|
| SCAN |
In the table layer for 64 bits, the WHILE clause is accepted but ignored this will be reenabled in the next revision. |
| SEEK |
|
| SELECT |
|
| SKIP |
|
| STORE |
|
| SUSPEND |
Implemented as System::Diagnostics::Debugger::Break()
|
| THROW |
|
| TRY |
|
| UNDEFINE |
|
| UNLOCK |
|
| USE |
|
| WAIT |
Does not suportst the NOCLEAR BEHAVIOR. Allways use a Window to display the message even if you don't include WINDOW.
TODO: Fix the implementation. |
| ZAP |
|
And the following functions are implemented:
| 1 ACopy |
| 2 ACos |
| 3 ADIR |
| 4 ADel |
| 5 AElement |
| 6 AFields |
| 7 AIns |
| 8 ALEN |
| 9 ALines |
| 10 AScan |
| 11 ASin |
| 12 ASort |
| 13 ASubscript |
| 14 ATN2 |
| 15 AT_C |
| 16 ATan |
| 17 Abs |
| 18 Acopy |
| 19 AddBs |
| 20 Ains |
| 21 Alias |
| 22 AllTrim |
| 23 Asc |
| 24 At |
| 25 AtC |
| 26 AtCLine |
| 27 AtLine |
| 28 Atn2 |
| 29 BETWEEN |
| 30 BindEvent |
| 31 BitAnd |
| 32 BitClear |
| 33 BitLShift |
| 34 BitNot |
| 35 BitOr |
| 36 BitRShift |
| 37 BitSet |
| 38 BitTest |
| 39 BitXOR |
| 40 Bof |
| 41 CDOW |
| 42 CDX |
| 43 CMonth |
| 44 CPConvert |
| 45 CPCurrent |
| 46 CTOD |
| 47 CTOT |
| 48 CURDIR |
| 49 CapsLock |
| 50 Ceiling |
| 51 Chr |
| 52 ChrTran |
| 53 CompObj |
| 54 Cos |
| 55 CpDBF |
| 56 CreateBinary |
| 57 CreateObject |
| 58 CursorGetProp |
| 59 CursorSetProp |
| 60 DBF |
| 61 DMY |
| 62 DOW |
| 63 DTOC |
| 64 DTOR |
| 65 DTOS |
| 66 DTOT |
| 67 Date |
| 68 DateTime |
| 69 Day |
| 70 DefaultExt |
| 71 Deleted |
| 72 Descending |
| 73 Difference |
| 74 DiskSpace |
| 75 DisplayPath |
| 76 EVL |
| 77 Empty |
| 78 Eof |
| 79 Error |
| 80 ExecScript |
| 81 Exp |
| 82 FCHSIZE |
| 83 FClose |
| 84 FCount |
| 85 FCreate |
| 86 FDate |
| 87 FEof |
| 88 FFlush |
| 89 FGets |
| 90 FKLABEL |
| 91 FKMAX |
| 92 FLock |
| 93 FORCEPATH |
| 94 FOpen |
| 95 FPuts |
| 96 FRead |
| 97 FSeek |
| 98 FSize |
| 99 FTime |
| 100 FV |
| 101 FWrite |
| 102 Field |
| 103 File |
| 104 FileToStr |
| 105 Filter |
| 106 Floor |
| 107 For |
| 108 ForceExt |
| 109 Found |
| 110 FullPath |
| 111 GetCursorAdapter |
| 112 GetNextModified |
| 113 GetPem |
| 114 GetWordCount |
| 115 GetWordNum |
| 116 GoMonth |
| 117 HEADER |
| 118 Hour |
| 119 ID |
| 120 IIF |
| 121 INSMODE |
| 122 ISRLocked |
| 123 IndexSeek |
| 124 Inlist |
| 125 Int |
| 126 IsAlpha |
| 127 IsBlank |
| 128 IsColor |
| 129 IsDigit |
| 130 IsExclusive |
| 131 IsFLocked |
| 132 IsLower |
| 133 IsMouse |
| 134 IsNull |
| 135 IsReadOnly |
| 136 IsUpper |
| 137 JustDrive |
| 138 JustExt |
| 139 JustFName |
| 140 JustPath |
| 141 JustStem |
| 142 Key |
| 143 KeyMatch |
| 144 LEFTC |
| 145 LENC |
| 146 LTrim |
| 147 LUpdate |
| 148 Left |
| 149 Len |
| 150 Log |
| 151 Log10 |
| 152 Lower |
| 153 MCOL |
| 154 MDX |
| 155 MDY |
| 156 MLine |
| 157 MROW |
| 158 MTON |
| 159 Max |
| 160 MemLines |
| 161 MessageBox |
| 162 Min |
| 163 Minute |
| 164 Mod |
| 165 Month |
| 166 NTOM |
| 167 NVL |
| 168 NewObject |
| 169 NumLock |
| 170 ORDER |
| 171 Occurs |
| 172 OldVal |
| 173 PCount |
| 174 PEMSTATUS |
| 175 PI |
| 176 PV |
| 177 PadC |
| 178 PadL |
| 179 PadR |
| 180 Parameters |
| 181 Payment |
| 182 Proper |
| 183 Quarter |
| 184 RATC |
| 185 RAt |
| 186 RAtLine |
| 187 RGB |
| 188 RTOD |
| 189 RTrim |
| 190 Rand |
| 191 RecCount |
| 192 RecNo |
| 193 RecSize |
| 194 Replicate |
| 195 Right |
| 196 Round |
| 197 SQLCancel |
| 198 SQLColumns |
| 199 SQLCommit |
| 200 SQLConnect |
| 201 SQLDisconnect |
| 202 SQLExec |
| 203 SQLGetProp |
| 204 SQLPrepare |
| 205 SQLRollback |
| 206 SQLSetProp |
| 207 SQLStringConnect |
| 208 SQLTables |
| 209 STR |
| 210 STRTRAN |
| 211 Sec |
| 212 Seconds |
| 213 Seek |
| 214 Select |
| 215 Set |
| 216 Sign |
| 217 Sin |
| 218 Soundex |
| 219 Space |
| 220 Sqrt |
| 221 StrExtract |
| 222 StrToFile |
| 223 StrTran |
| 224 Stuff |
| 225 SubStr |
| 226 Sys |
| 227 TTOC |
| 228 TTOD |
| 229 TableRevert |
| 230 TableUpdate |
| 231 Tag |
| 232 TagCount |
| 233 Tan |
| 234 Target |
| 235 Time |
| 236 Transform |
| 237 Trim |
| 238 Type |
| 239 Upper |
| 240 Used |
| 241 VAL |
| 242 VarType |
| 243 Week |
| 244 Year |