💾 Archived View for mirrors.apple2.org.za › archive › ground.icaen.uiowa.edu › upl1998 › Jul98 › Pas… captured on 2023-01-29 at 11:20:35.

View Raw

More Information

-=-=-=-=-=-=-

About: AOL.PascalGS.shk

Following is a description of the files contained in the archive for AOL
Programmers' University's  Advanced Pascal for Apple IIGS course, which spanned
August, 1992 through February, 1993.  Instructor was Jim Merritt (Presbyte).



Programmers' University Advanced Pascal for the Apple IIGS course, 92.08.10.


EQUIPMENT: Apple IIGS
NEEDS:     Orca Pascal (to complete assignment)
This is the initial assignment for Advanced Pascal on the Apple IIGS.


Programmers' University Advanced Pascal for the Apple IIGS course, and about its
instructor, Jim Merritt.  Find textbook acquisition information and a
mini-outline here.


  * File:  ciphertext
  EQUIPMENT: Any computer that can read text files
NEEDS:     Decoder program as specified in Asst 1 main file This is "ciphertext,"
the encoded file that your decoder program is to   translate into plaintext,
according to the method given in the Assignment 1 description.  It contains
upper-case, lower-case, and punctuation;  feel free to deal with case and
punctuation during translation as you see fit.  As I have mentioned elsewhere,
the statistical method of assignment 1 will NOT decipher this file with 100%
accuracy, but it should give you something that is extremely readable.

 * File:  decoder.pas
  EQUIPMENT: Any computer that can read text files
  NEEDS:     Pascal compiler (originally written for ORCA/Pascal)
This is the source text for the program that "decodes" the "ciphertext" file.
  * File:  plaintext
  EQUIPMENT: Any computer that can read text files
  NEEDS:     compiled version of "decoder.pas" and copy of "cipertext" file
This is the output of the "decoder.pas" file, when given "ciphertext" as input.



This is the edited log for the second session of the Programmers' University
Advanced Pascal for the Apple IIGS course, 92.08.17.


This is the edited log for the third session of the Programmers' University
Advanced Pascal for the Apple IIGS course, 92.08.31.


This is the edited log for the fourth session of the Programmers' University
Advanced Pascal for the Apple IIGS course, 92.09.14.


EQUIPMENT: Apple IIGS
NEEDS:     Orca Pascal (to complete assignment)
This is the second assignment for Advanced Pascal on the Apple IIGS.


NEEDS:     Apple IIGS, Orca Pascal
Prob.1.5a.pas:  This satisfies the "custom" portion of Assignment 2 for the
Advanced Pascal for the Apple IIGS course.  It is a modified version of
Prob.1.5.pas, taken from the source-text disks for the Byteworks' "Toolbox
Programming in Pascal" course.


This is a discussion of type-casting and the two main methods of accomplishing it
in modern Pascal compilers.  I wrote this to supplement the discussion of
type-casting that we had in the Advanced Pascal for the Apple IIGS class, in
hopes that we could then use our weekly, "live" Q&A time for other topics.  While
brief mention is made of the Apple IIGS, its system software, and processor's
architectural aspects, the coverage is actually rather independent of platform,
and may be of interest to Pascal programmers on PCs, Macs, or Commodores as well.
 (For Eight-bit Apple II users:  note that Apple Pascal supports only the older,
variant-record style of type-casting;  even so, this file may contain information
of interest to you.)

I was going to make this discussion even more comprehensive, but ran up against
the text-editor window limit in the Macintosh version of AOL.  It could also use
a few good charts and figures, which I can't easily include within a text-only
file.  But if you have a copy of Koffman (or any good Pascal textbook) at hand,
and refer to the syntax diagrams and examples in that book, you should be able to
understand everything in this file with no difficulty at all.


This is the edited log for the fifth session of the Programmers' University
Advanced Pascal for the Apple IIGS course, 92.09.21.


This is the edited log for the sixth session of the Programmers' University
Advanced Pascal for the Apple IIGS course, 92.09.28.


This is the edited log for the seventh session of the Programmers' University
Advanced Pascal for the Apple IIGS course, 92.10.19.


This is the edited log for the eighth session of the Programmers' University
Advanced Pascal for the Apple IIGS course, 92.11.02.


NEEDS:     Orca, w/ Pascal and Rez (to complete the assignment)
This is the third assignment for Advanced Pascal on the Apple IIGS.


Announcement that there will be no posted key for Assignment #3 of the Advanced
Pascal for Apple IIGS course.


This is the edited log for the ninth session of the Programmers' University
Advanced Pascal for the Apple IIGS course, 92.11.23.


This is the edited log for the tenth session of the Programmers' University
Advanced Pascal for the Apple IIGS course, 92.11.30.


This is the edited log for the eleventh session of the Programmers' University
Advanced Pascal for the Apple IIGS course, 92.12.07.


This is the edited log for the twelfth session of the Programmers' University
Advanced Pascal for the Apple IIGS course, 92.12.14.


NEEDS:     Apple IIGS, GS/OS, ORCA/Pascal to compile and employ
This is an example UNIT that shows how free-union variant records can be used to
get around eccentricities of operating system design, to produce Pascal
definitions for operating system components.  The resulting GSOSExtras UNIT
itself is somewhat ugly and kludgy, but permits its clients to have reasonably
legible, convenient, and elegant access to FST-specific call parameter blocks, in
conjunction with the use of the GS/OS "FSTSpecific" operating system call.

The technique used involves nested free-unions, where non-variant fields at the
top of the structure are used in practice to substitute for the tagfields that
would normally be part of the variant record definitions.  Here, we had a
"two-dimensional" nested structure, corresponding to a variable parameter-block
structure in GS/OS that changes based on the values of two independent fields,
but the technique can be generalized for as many dimensions as your particular
needs require (and your compiler supports!).

Any questions or comments should be sent via Email to Presbyte (Merritt) or
Odyssey II (Flynn).  Merritt apologizes in advance for the spotty  internal
commentary, and perhaps someday will have time to rework the source code to make
it a bit more beautiful and well-documented.  For now, refer to A2GS Adv Pascal
Class Logs #11 and #12 (found elsewhere in the archive containing this ReadMe
file), for more background on the problem this unit attempts to solve.


This is the edited log for the thirteenth session of the Programmers' University
Advanced Pascal for the Apple IIGS course, 93.01.11.


This is the edited log for the fourteenth session of the Programmers' University
Advanced Pascal for the Apple IIGS course, 93.01.25.


This is the edited log for the fifteenth (and final) session of the Programmers'
University Advanced Pascal for the Apple IIGS course, 93.02.01.


NEEDS:     Pascal compiler with UNITS, and parametric procedures
A unit that provides a grab-bag of sorts for use with any data type.  See A2GS
Advanced Pascal Class Log #15 for more info.  Originally compiled with ORCA
Pascal, but if your compiler has UNITs and permits parametric procedures, it
should compile and work for you, too, regardless of your development environment
or target system.


NEEDS:     Pascal compiler with UNITs and parametric procedures
See A2GS Advanced Pascal Class log #15 for more info.  This program shows how to
use the universal sort UNIT, and how to write the callback procedures for proper
interfacing to the unit.  This was originally compiled on the Apple IIGS using
ORCA Pascal, but if your compiler supports UNITs and parametric procedures, you
should have no trouble, whatever your development system or brand of computer.


This contains all messages posted to the "Online Apple IIgs Pascal Class" message
board, which were not of a routine, administrative nature (e.g., "I just uploaded
the chat log from last week's class.," etc.).  Some non-routine administrative
matters and some technical matters were discussed.