Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!zaphod.mps.ohio-state.edu!sol.ctr.columbia.edu!lll-winken!uunet!munnari.oz.au!goanna!ok From: ok@goanna.cs.rmit.oz.au (Richard A. O'Keefe) Newsgroups: comp.lang.prolog Subject: Turbo Syntax -- HELP! Message-ID: <3991@goanna.cs.rmit.oz.au> Date: 17 Oct 90 04:58:04 GMT Organization: Comp Sci, RMIT, Melbourne, Australia Lines: 28 I've been asked to help someone with a Turbo Prolog program. I believe it used to work under 1.3 (there's an object version running), but the 2.0 compiler doesn't like it at all. I have hunted through the Turbo Prolog 2.0 Reference Guide and the Turbo Prolog 2.0 User's Guide, but I cannot find a grammar for the language, not even a clear description of the tokens. Some specific points: it appears that Turbo Prolog accepts \n, \t, \", \', and \\ escapes in characters and strings, but that it also accepts \ddd -- one to three DECIMAL digits. That's what I infer from the code, however the manual is quite explicit that anything other than \n or \t will be mapped to itself, so \9 should be 9, not a tab. some parts of the code are sloppy with variable names, e.g. a clause will have "Text" and "TEXT". Now the Turbo manual is explicit (when you find it!) that case doesn't matter in predicate names, but I cannot find anything about whether case is significant in variable names. Declarations in 2.0 are more complex than they used to be, but I can find no summary of their syntax. One thing I have learned from this program is that Turbo Prolog's static typing appears to have played a significant part in shaping a very inefficient program. (That was very carefully worded.) -- Fear most of all to be in error. -- Kierkegaard, quoting Socrates.