Jim, I was only explaining the facts as they are, not 'rationalizing' them. And misconstruing requirements in language definitions - rigorous definitions as in the C++ standard or more lax ones as in the Fox documentation - is an error that even otherwise experienced programmers commit occasionally, especially after being pampered by an environment with excellent diagnostics.
A programming language definition usually states how valid constructs in that language are to be formed and what said constructs are then supposed to mean. But only very rarely does such a language specification require an implementation to detect failures to comply with the language definition ('required diagnostics' in C++ parlour). Apart from required diagnostics, an implementation is completely free to choose what it does with ill-formed constructs - it could emit a diagnostic, or quietly try to do something sensible, or format your hard disk.
Of course, ideally we would like a compiler to detect all ill-formed fragments but in the real world there are trade-offs to be made; in C++ you could run your code through the Comeau compiler or one of the lint programs before compiling it for the target platform with whatever compiler you have to use for that, but in the case of Fox there no such choice (FoxLint has the right name but does something entirely different).
So, if the Fox docs state that such and such words are reserved then this does not describe a service by Fox for the programmer, it is the other way round: it imposes a requirement on the programmer as a precondition for receiving the services described elsewhere in the docs. And, as I said in my earlier article, Fox imposes quite a lot; having several thousand reserved words is preposterous by any standard ...
Précédent
Répondre
Voir le fil de ce thread
Voir le fil de ce thread à partir de ce message seulement
Voir tous les messages de ce thread
Voir tous les messages de ce thread à partir de ce message seulement