xsharp.eu • Hello, long time VFP user.
Page 1 of 1

Hello, long time VFP user.

Posted: Tue Feb 07, 2017 9:53 am
by Bourke
Hi

FoxPro user since 2.0 days, along with .NET since version 2. Enthused to see this project, I had wondered why nobody had undertaken something similar although until the advent of Roslyn etc it was probably like trying to hit a moving target.

I think there is a big market for a product that supports Visual FoxPro syntax as a first-class .NET citizen, with all the legacy stuff (like @ ..SAY, defunct SYS() functions etc) stripped away.

Hello, long time VFP user.

Posted: Tue Feb 07, 2017 10:39 am
by lumberjack
Hi Alan,
Welcome on board. I am sure Robert or one of the developers will answer you in more detail, but rest assure these requests will probably be available very soon.

From Clipper days one of the powers of the language that was implemented in its successor Visual Objects and then Vulcan, was the pre-processor that allowed you to define commands. Once that is in place it would be relatively easy to implement many of the legacy stuff, it was how Clipper was actually designed, e.g.:

#command CREATE [PUBLIC|HIDDEN] CLASS <cls> => [PUBLIC|HIDDEN] CLASS <cls>
#command CREATE OBJECT <o> FROM <cls> => VAR <o> := <cls>{}

So in essence many of the VFP commands will easily map to the X# syntax that will be understood by the compiler. I would suggest to learn the x# syntax, until you can remove the need for legacy stuff, but should allow for porting of VFP code to x# in a migration period.

Have fun!
Jack

Hello, long time VFP user.

Posted: Tue Feb 07, 2017 2:55 pm
by Bourke
What I meant really was the implementation of the VFP dialect as it's sufficiently different from the Clipper-based strain of xBase.

Hello, long time VFP user.

Posted: Tue Feb 07, 2017 3:50 pm
by robert
Alan,
Alan wrote:What I meant really was the implementation of the VFP dialect as it's sufficiently different from the Clipper-based strain of xBase.
I agree there are some significant differences.
For example the fact that you have to prefix a function call with the '='(Equals) sign of you are calling it without assigning a value.

On the other hand, I also agree with Jack that a lot can be handled with smart User Defined commands and translated to function calls, such as the many commands that FoxPro has, such as Edit and Browse with all their options.

Robert

Hello, long time VFP user.

Posted: Wed Feb 08, 2017 4:44 am
by lumberjack
Robert
Robert van der Hulst wrote:
On the other hand, I also agree with Jack that a lot can be handled with smart User Defined commands and translated to function calls, such as the many commands that FoxPro has, such as Edit and Browse with all their options.

Robert
Any target date for the #command/#translate implementation?

Hello, long time VFP user.

Posted: Wed Feb 08, 2017 7:18 am
by robert
Jack,
Jack wrote:Robert
Any target date for the #command/#translate implementation?
We are working on it. That is all that I can say.
I hope to have it in the product before the conference in Germany.

Robert

Hello, long time VFP user.

Posted: Wed Feb 08, 2017 3:47 pm
by Bourke
Yes, Visual FoxPro as I say is in the xBase ballpark but fairly different syntactically from the Clipper/VO world. However I would assume it is largely an exercise in creating an Antlr grammar (which I realise is a non-trivial exercise!)