Parser

Richard Gaskin ambassador at fourthworld.com
Tue Nov 14 13:26:19 EST 2006


Mikey wrote:
> Is there really an xTalk "standard"?

"xTalk" is a generic term used to describe all of these related 
languages collectively (HyperTalk, SuperTalk, OpenScript, MetaTalk, etc.).

The commonalities among them form a de facto standard, with additional 
weight usually given to HyperTalk in honor of its role as the "mother 
tongue".

> I have never seen a "standard", as the dialects can be somewhat different. 

Yes, there's little point in making a new product which does everything 
exactly the same as an existing product.  SuperCard was the first 
dialect, and since it allowed multiple windows within a single file, had 
integrated color, etc., its language had to extend the original 
HyperTalk.  MetaTalk (which we're using now in Rev under a new name) 
added even more to the object model which required new tokens, and 
introduced new language features like "repeat for each", binary tokens, etc.

> HT never required "the", and to my recollection, neither did SuperCard.

Regardless of what other program have done, in Rev "the" is required for 
properties.  Many of us got into the habit even when using HC if only to 
make the scripts a tad more readable.   Either way, the habit is easily 
gained with a little practice.

It may help to note why this is required in Rev.  I was talking about 
this with Jacque, and she reminded me of Scott Raney's fetish for 
reducing the branches in the token lookup table.

You've probably noticed that most things in Rev run several times faster 
than in HC.  This is not merely some nifty compiler optimization, it's a 
product of the language design.

By requiring "the" before accessing properties, the engine can know it 
only needs to look through the tokens for properties and functions, 
whereas HyperCard needs to also look through all variables.

This is just one of a number of places where Rev is slightly less 
flexible than HypeCard, many of which are outlined in Jacque's helpful 
article on converting from HC:
<http://www.hyperactivesw.com/mctutorial/index.html>

While Rev is a tad more rigid, in practice I think you'll find the 
modest learning curve more than pays for itself with much greater 
performance.


> If there is a "standard" then I want the name of whomever the Keeper
> of the Standard is, since the Revolution grammar has some restrictions
> that I would like to have addressed.

As a de facto standard there is no single keeper.

As for Rev, if you want to suggest changes the mechanism for logging 
those requests is Bugzilla:
<http://support.runrev.com/bugzilla/bugzilla.php>

--
  Richard Gaskin
  Fourth World Media Corporation
  ___________________________________________________________
  Ambassador at FourthWorld.com       http://www.FourthWorld.com



More information about the use-livecode mailing list