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