Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Whats bad about Visual Foxpro
Message
De
19/07/2001 10:04:36
Dragan Nedeljkovich (En ligne)
Now officially retired
Zrenjanin, Serbia
 
 
À
17/07/2001 17:01:55
Gerry Schmitz
GHS Automation Inc.
Calgary, Alberta, Canada
Information générale
Forum:
Visual FoxPro
Catégorie:
Autre
Divers
Thread ID:
00530878
Message ID:
00532515
Vues:
28
>>The definitions I always used were that an interpreter converted raw source or tokenized code at run-time into machine instructions. A compiler linked in library modules and converted source into machine code so that very little or no intepreting was done at run-time.
>>
>>Is this wrong?
>
>You're talking about degrees here.
>
>Typically, "compilers" don't "link"; linkage editors do that, unless you want to contrast static vs dynamic linking ... in either case, neither is done by the compiler. And the "classic Compilers" produced "machine code"; it may be more accurate to call what VFP does "pre-processing" (when it creates FXPs).

The Fox XP was there far before its time :)

Joking aside, Fox compiler is doing more than just tokenize the keywords - it lists variables, interprets the #defines, hoops the loops etc. Its object code, IMO, is then just a set of parameters to pass to the runtime, a line at a time. Now this would pretty much be the scope of what any decent p-code should be doing. The definition of 'interpretation' would involve parsing the source code, looking keywords up some tables, finding their codes and routines to call, parsing the parameters and passing them to these routines etc. FXP has all of these done already, and the runtime is not doing any of these (except when you use macros, eval(), dynamic properties in grids, and Compile command). Ergo, p-code is compiled code. It doesn't need further interpretation and transformation into another form to be run; it's ready to go, just pass it to the runtime.

>And if "no interpretation" is occurring, then the assumption is that we're executing machine code directly on the processor (ie. the hardware).

You can think of it this way, since VFP .exe will find the runtime, and pass it the p-code. Though, nothing is run directly on the processor nowadays; it all goes through several circles of he... operating system.

>The "definition" that I see most frequently is that unless the "generated code" (ie. object code) is capable of being executed "directly" by the (hardware) processor, you're dealing with an "interpreter" (ie. "layer", run-time, virtual machine, CLR, whatever).

The only compiled code, then, would be C without any dlls, or just plain assembly code. And you wouldn't be able to run it directly on the processor, because the OS would recognize it and fly a few circles around it before allowing it to commence.

back to same old

the first online autobiography, unfinished by design
What, me reckless? I'm full of recks!
Balkans, eh? Count them.
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform