TweetFollow Us on Twitter

Jun 90 Letters
Volume Number:6
Issue Number:6
Column Tag:Letters

Parse Table Correction

By Kirk Chase, Editor, MacTutor

Parse Table Correction

Kirk Chase

MacTutor

Unfortunately, Clifford Story’s second part in his Language Translation Series was missing the parse table. Here it is for you now:

Dialogs, the easy way

Neil Ticktin

Truin Software

I was glad to see that dialogs are now getting some press. I wanted to make sure, though, that your readers connect dialogs with Extender DialogHandler™ by Invention Software. First, there is a review by David Kelly on DialogHandler in the January, 1990 issue of MacTutor.

In the April, 1990 article on extending modal dialogs, Paul Potts talks about default bold outlining, key equivalents and default items.

DialogHandler takes care of all of these things automatically for you. In your article on Messenger, you speak about placing dialogs, icons, multiple buttons, character equivalents, and adding filters. Again, DialogHandler takes care of all of these things as well -- all automatically. In short, DialogHandler handles push buttons, multiple sets of radio buttons, check boxes, counter items, icons and pictures with animation, display text items, pop-up menus, pull down menus, “pick lists” (list manager style), and string, integer, long integer, and real “flavors” of edit and static text. All number conversion, on-the-fly character filtering, cut/copy/paste support, and key equivalents are taken care of automatically.

DialogHandler now supports modeless dialogs. In addition, almost every item can have a “user hook” associated with it. In other words, if you want a push button to do something special, you can write a procedure to do that and pass a pointer to that procedure to DialogHandler. DialogHandler, in turn, will call your routine when the item is hit.

For example, take a simple dialog that asks for an integer between -100 and 100, has a bold outlined OK button, a Cancel button, on-the-fly character filtering (the user can’t enter a bad character), full cut/copy/paste support, range checking with alert and handling of the ok and cancel buttons. Using DialogHandler, you can write the support code for this dialog with 6 lines of code.

In summary, if you are doing dialogs, modal or modeless, you can do them in 5-10% of the time using Extender DialogHandler™ from Invention Software at 313-996-8108. It will pay for itself on the first dialog. As you already may know, MacTutor is also selling DialogHandler in the mail order store.

MultiFinder Detection

Ajay Nath

Oakland Gardens

Daniel Allens excellent book, “On Macintosh Programming: Advanced Techniques”, shows a quick way (on p. 160) to find out if MultiFinder is running. Simply examine the long word at $B7C which is called “Twitcher2”, if its less than 0 then MultiFinder isn’t running. I have a feeling that somebody at Apple didn’t read his book too carefully since I don’t think they’d want us to know this.

cdevShell

Charles Dyer

Jamaica, West Indies

I am writing about that cdevShell.p article in February, 1990 MacTutor. I finally got it all entered and tried to test it out, but then I found drumroll, please BUGS. Some of them were typos, but those were easily fixed. However, I still get the ever-popular ID=2 and ID=28 bombs even after I had corrected all of my spelling errors. So I used TMLPascal’s TMLPasRef utility to try to track who did what/where, and guess what: a lot of items are initialized but never used. In particular, the variables totalItems, p, c, tempD, and r in the procedure startupCdev are never used anywhere. It appears that a line or two may have been left off. And those were only the more obvious and easier to find examples. After I found them, I went through the source checking every case where PasRef said that a variable had been used once, and found several others. I also checked the .r file, and noted that there doesn’t seem to be a DLOG or an ALRT for DITL -15999.

Tracking would have been easier if only Mr. Hoddie hadn’t used so many cryptic variable names. I mean, in startupCdev the variable c is of type ControlHandle. A little further on, there is another c which is an INTEGER. Would it have been so difficult to use theControl and counter, respectively? The whole programme is peppered with single-character variables: e, i, j, p, r I haven’t seen so many single-character variables in one place since I stopped using BASIC on an Apple II. Variable names like dP, tempD, and rH don’t help either. It’s not so bad if the thing works right the first time, but

In the past, if I had a problem, when I translated a program over from Pascal to Modula-2 and things didn’t work, I wouldn’t know if it was because so obscure difference between Pascal and Modula-2 or if it was just that I did something wrong. Thanks to TML, if it doesn’t work and I can’t find any difference between my code and what’s in the magazine, I’d say something is wrong with the published code. In any case, I’ve gone through my code several times and cannot see where I’ve gone wrong. It might still be something I did, so I’ll try again, but in the meantime, I’d like to know if anyone else has had any problems with cdevShell.p.

I now use TML Pascal II, as SemperSoft seems to have bitten the dust. I would like to get another Modula-2 package, but no-one else seemed to have an MPW Modula-2 package available. Having shelled out all that cash for MPW in the first place, I am not going to give up on it without a fight. I’ll even get C-ugh-if I have to. Actually, what with UNITs and some of the other extensions, TML Pascal is almost Modula-2 anyway. The .o and executable files that TML makes are a little bigger than those made by SemperSoft Modula-2, but TML is faster and doesn’t give weird problems when you’re trying to build cdevs and INITs. The biggest problem so far has been the Show Icons LDEF demo program from the TML Source Code Library crashes and burns under MultiFinder. I haven’t gotten around to writing them about that yet.

[I have check the printed code against the original source code, and I could not see a line missing in startupCdev. I have had no complaints, other than yours, about cdevShell.p. I ask if anyone else has to write a letter to MacTutor. On the good side, Metrowerks has Modula-2 for MPW at $150. Their phone number in the USA is 514-458-2018; their FAX number is 514-458-2010.-ed]

MPW Pascal Compiler

Richard H. Winkler

Boulder, CO

We have discovered a bug in the MPW Pascal compiler which has remained constant from version 2.02 through version 3.1. The bug arises when the stack frame in a procedure exceeds 32k bytes in size. Two Pascal programs used to test this bug differ only in stack frame size, the program ‘lgstkfrmst’ had added to it a second array, z2: ARRAY[1..7000] OF REAL, which caused the stack frame to grow beyond 32k. As one would expect, the addressing strategy for all stack frame variables which are normally addressed indirect through A6 is altered such that A6 is moved to A0, the variable offset is added to A0, and the variable is then addressed indirect through A0. The assembly code produced from ‘lgstkfrmst’ produces an instruction:

;1

PEA$252A(A6)

which should in fact be the set of instructions:

;2

MOVEA.L A6,A0
ADDA.L  $FFFF252A, A0
PEA(A0)

This is a particularly unusual error in that the lower half of the address is correct. Had the compiler used proper (A6) addressing one would have expected something other than $252A. In particular one would have expected -$6D6C as in the assembly listing of ‘smstkfrmtstcd’, the smaller stack frame test code. This error is believed to occur following calls to transcendental function other than _LN.

As a historical note, let me add the following. I suspect that what is now the MPW Pascal compiler was originally developed by Silicon Valley Software for earlier 68000 based machines. In particular, I believe that this was the same Pascal compiler used for the ill fated IBM 9000 computers. I have worked extensively with 9000’s and base this conclusion on the fact that the manual included with version 2.02 of the MPW complier was word for word identical, down to the page breaks, with the Pascal manual supplied with the IBM 9000. With the 9000 compiler, we also had a compiler bug associated with the stack frame growing beyond 32k bytes. In particular there was a range of stack frame sizes from 32000 bytes to somewhere greater than 32768 bytes where the stack frame pointer, A6, was set point to the load point of the system library rather than to the stack frame when a subroutine was entered. This bug was fixed by IBM (Silicon Valley Software?) in version 2.0 of the compiler, but I find it an interesting coincidence that the MPW compiler has a bug which arises under similar circumstances surrounding the stack frame.

 
AAPL
$519.01
Apple Inc.
+1.05
MSFT
$40.40
Microsoft Corpora
+0.65
GOOG
$556.54
Google Inc.
+20.10

MacTech Search:
Community Search:

Software Updates via MacUpdate

PDFpenPro 6.2 - Advanced PDF toolkit for...
PDFpenPro allows users to edit PDF's easily. Add text, images and signatures. Fill out PDF forms. Merge or split PDF documents. Reorder and delete pages. Even correct text and edit graphics! Create... Read more
PDFpen 6.2 - Edit and annotate PDFs with...
PDFpen allows users to easily edit PDF's. Add text, images and signatures. Fill out PDF forms. Merge or split PDF documents. Reorder and delete pages. Even correct text and edit graphics! Features... Read more
Monolingual 1.5.9 - Remove unwanted OS X...
Monolingual is a program for removing unnecesary language resources from OS X, in order to reclaim several hundred megabytes of disk space. It requires a 64-bit capable Intel-based Mac and at least... Read more
Maya 2015 - Professional 3D modeling and...
Maya is an award-winning software and powerful, integrated 3D modeling, animation, visual effects, and rendering solution. Because Maya is based on an open architecture, all your work can be scripted... Read more
Starcraft II: Wings of Liberty 1.1.1.180...
Download the patch by launching the Starcraft II game and downloading it through the Battle.net connection within the app. Starcraft II: Wings of Liberty is a strategy game played in real-time. You... Read more
Sibelius 7.5.0 - Music notation solution...
Sibelius is the world's best-selling music notation software for Mac. It is as intuitive to use as a pen, yet so powerful that it does most things in less than the blink of an eye. The demo includes... Read more
Typinator 5.9 - Speedy and reliable text...
Typinator turbo-charges your typing productivity. Type a little. Typinator does the rest. We've all faced projects that require repetitive typing tasks. With Typinator, you can store commonly used... Read more
MYStuff Pro 2.0.16 - Create inventories...
MYStuff Pro is the most flexible way to create detail-rich inventories for your home or small business. Add items to MYStuff by dragging and dropping existing information, uploading new images, or... Read more
TurboTax 2013.r17.002 - Manage your 2013...
TurboTax guides you through your tax return step by step, does all the calculations, and checks your return for errors and overlooked deductions. It lets you file your return electronically to get... Read more
TrailRunner 3.8.769 - Route planning for...
Note: While the software is classified as freeware, it is actually donationware. Please consider making a donation to help support development. TrailRunner is the perfect companion for runners,... Read more

Latest Forum Discussions

See All

Unpossible (Games)
Unpossible 1.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: **Important** Requires at least iPad 2, iPhone 4S, iPod Touch (5th gen), or newer. | Read more »
Hitman GO (Games)
Hitman GO 1.2 Device: iOS Universal Category: Games Price: $4.99, Version: 1.2 (iTunes) Description: Get your daily fix of Agent 47 with this elegant, strategy-based Hitman game! | Read more »
The Seventh Sign: Hodappy Bird Released...
The Seventh Sign: Hodappy Bird Released on the App Store Posted by Jeff Scott on April 16th, 2014 [ permalink ] Universal App - Designed for iPhone and iPad | Read more »
Rogue Heroes (Games)
Rogue Heroes 1.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: Rogue Heroes is awesome fast-paced 2D action-platforming roguelike game with RPG elements. - explore the depth of procedurally... | Read more »
Fourcast Review
Fourcast Review By Jennifer Allen on April 16th, 2014 Our Rating: :: VIDEO POTENTIALiPhone App - Designed for the iPhone, compatible with the iPad Fourcast is a great idea for combining video clips, but it does lack a number of... | Read more »
Hearthstone: Heroes of Warcraft is Avail...
Hearthstone: Heroes of Warcraft is Available on the U.S. App Store Right Now – Gogogogo! Posted by Rob Rich on April 16th, 2014 [ permalink ] | Read more »
Grammar Pop HD Review
Grammar Pop HD Review By Jennifer Allen on April 16th, 2014 Our Rating: :: FUN LEARNINGiPad Only App - Designed for the iPad Learning the different parts of speech isn’t always fun, but Grammar Pop HD makes it much more... | Read more »
Groundskeeper2 Review
Groundskeeper2 Review By Nadia Oxford on April 16th, 2014 Our Rating: :: SLICE THOSE ALIEN SLIMEUniversal App - Designed for iPhone and iPad Putting aside some minor control issues, Groundskeeper2 is a fun and furious action/... | Read more »
Pinnacle Studio for iPhone (Photography...
Pinnacle Studio for iPhone 5.0 Device: iOS iPhone Category: Photography Price: $9.99, Version: 5.0 (iTunes) Description: | Read more »
Season 3 of Zombies, Run! Starts Right N...
Season 3 of Zombies, Run! | Read more »

Price Scanner via MacPrices.net

Microsoft Blinks – Drops Microsoft Office 365...
Microsoft has dropped the annual subscription fee for Microsoft Office 365 Personal – which is needed in order to create and edit documents in Microsoft Office for iPad. However, Apple’s iOS and OS X... Read more
New AVG Vault Apps for iOS and Android Help K...
AVG Technologies N.V. an online security company for 177 million active users, has announced the launch of its latest mobile application, AVG Vault. The free app introduces an innovative user... Read more
Free Local Carrot iPhone App Helps Find Fresh...
I love fresh vegetables. I’m not a vegan, although I was for several years in the 1980s, but fresh vegetables and other whole foods are still my dietary mainstays as a matter of taste rather than... Read more
Apple refurbished iPad Airs available startin...
Apple is now offering Certified Refurbished iPad Airs for up to $140 off MSRP. Apple’s one-year warranty is included with each model, and shipping is free. The following Airs are available today: -... Read more
21-inch 2.7GHz iMac on sale for $1179, save $...
B&H Photo has the 21″ 2.7GHz iMac on sale for $1179 including free shipping plus NY sales tax only. Their price is $120 off MSRP. Add an iMac to your shopping cart, and B&H will offer an... Read more
Download our app, iTracx, for iOS and Android
MacPrices is proud to offer readers a free iOS app (iPhones, iPads, & iPod touch) and Android app (Google Play and Amazon App Store) called iTracx, which allows you to glance at today’s lowest... Read more
Education discounts shave up to $300 off the...
Purchase a new Mac at The Apple Store for Education and take up to $300 off MSRP. All teachers, students, and staff of any educational institution qualify for the discount. Shipping is free, and all... Read more
Save $50 on Mac mini Server
B&H Photo has the 2012 Mac mini Server on sale for $949 including free shipping plus NY sales tax only. Their price is $50 off MSRP. Read more
PhatWare’s “Ultimate Writing App For iOS” Ren...
PhatWare Corp. has announced it has renamed its new WritePro word processing app for iPhone and iPad: WritePad Pro. The decision to change the app’s name to leverages the strong brand awareness and... Read more
Full Resolution Photo Editor Tint Mint 1.0 Re...
California based independent developer, Jeffrey Sun, creator of the iOS app Modern Editor, has released Tint Mint, a new photography app for editing enthusiasts. The app costs a dollar, and it packs... Read more

Jobs Board

*Apple* Retail - Manager - Holyoke - Apple I...
Job Summary Keeping an Apple Store thriving requires a diverse set of leadership skills, and as a Manager, you’re a master of them all. In the store’s fast-paced, Read more
*Apple* Retail - Manager - Apple (United Sta...
Job SummaryKeeping an Apple Store thriving requires a diverse set of leadership skills, and as a Manager, you're a master of them all. In the store's fast-paced, dynamic Read more
*Apple* Solutions Consultant (ASC) - Apple (...
**Job Summary** The ASC is an Apple employee who serves as an Apple brand ambassador and influencer in a Reseller's store. The ASC's role is to grow Apple Read more
*Apple* Retail - Market Leader - Cincinnati...
…challenges of developing individuals, building teams, and affecting growth across Apple Stores. You demonstrate successful leadership ability - focusing on excellence Read more
*Apple* Retail - Manager - SoHo - Apple (Uni...
Job SummaryKeeping an Apple Store thriving requires a diverse set of leadership skills, and as a Manager, you're a master of them all. In the store's fast-paced, dynamic Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.