pa
�.he TABLE OF CONTENTS
INTRODUCTION ................................................ 1
INITIALIZE AN IBM DISKETTE .................................. 2
CHANGE AN IBM VOLUME SERIAL NUMBER .......................... 3
CHANGE AN IBM DATASET'S DIRECTORY ENTRY ..................... 4
DELETE AN IBM DATASET'S DIRECTORY ENTRY ..................... 5
LIST AN IBM DATASET'S DIRECTORY ............................. 6
TRANSFER CP/M TO IBM DATASET (BLOCK FORMAT) ................. 7
TRANSFER IBM TO CP/M DATASET (BLOCK FORMAT) ................. 8
TRANSFER CP/M TO IBM DATASET (SOURCE FORMAT) ................ 9
TRANSFER IBM TO CP/M DATASET (SOURCE FORMAT) ................ 10
DISPLAY AN IBM DATASET ...................................... 11
HARDWARE/SOFTWARE REQUIREMENTS .............................. 12
MAINTENANCE POLICIES ........................................ 13
PROGRAM ERROR REPORT ........................................ 14
PA
�.HE INTRODUCTION
Introduction
T� delet� � datase� fro� a� IB� diskette� plac� th� diskett� �
i� � drive�� invok� functio� cod� (4)� ente� th� dis� driv� (A-D� �
o� whic� th� diskett� resides� an� ente� th� secto� numbe� o� th� �
director�� entry�� I� yo� ar� i� doub� a� t� th� secto� number� �
us� functio� cod� (6)�� Lis� Directory�� t� fin� ou� wha� i� is� �
Whe� th� entr� ha� bee� delete� an� � completio� messag� ha� bee� �
posted, control will return to the main menu.
PA
�.HE LIST AN IBM DIRECTORY
PA
�.HE TRANSFER A CP/M FILE TO IBM FORMAT (BLOCK)
PA
�.HE TRANSFER AN IBM FILE TO CP/M FORMAT (BLOCK)
PA
�.HE TRANSFER A CP/M FILE TO IBM FORMAT (SOURCE)
PA
�.HE TRANSFER AN IBM FILE TO CP/M FORMAT (SOURCE)
PA
�.HE MAINTENANCE POLICIES
Maintenance Policies
SOURCE LANGUAGE:
PL/I-8� distributed by DIGITA� RESEARCH�� PACIFI� GROVE�
CALIFORNIA. Release developed under was 1.3.
SYSTEM REQUIRED:
1. 8080/Z80 processor w/60k minimum.
3. 2 disk drives (I used Double-Density w/600k capacity.)
2. CP/͠� Release� 1.�� or above� distributed� by� DIGITA�
RESEARCH, PACIFIC GROVE, CALIFORNIA.
3. PL/I-8� distributed by DIGITA� RESEARCH�� PACIFI� GROVE�
CALIFORNIA. Release developed under was 1.3.
INSTALLATION:
1�� Adjus� LL1ANL.SU� t� reflec� th� prope� driv� whic�
contains the source.
2) Submit the file, LL1ANL.SUB.
FILES DONATED:
EXAMPLE.GMR - First example grammar
EXAMPLE2.GMR - Second example grammar
LL1ANL.DOC - The file that you are reading.
LL1ANL.PLI - Driver program
LL1ANL.SUB - Command List to Compile and Link
the language analysis programs.
LL1CMN.DCL - Common area for all programs
LL1LNK.SUB - Command List to Link the language analysis
programs after re-compiling one of them.
LL1PRC.DCL - Common Procedures Declarations
LL1PRC.PLI - Common Procedures generated in LL1ANL
LL1P10.PLI - Language Parser
LL1P20.PLI - Language Sort and Print
LL1P30.PL� - Languag� Analysi� - Fin� Nullabl�
Production� an� Non-terminals
LL1P40.PL� - Languag� Analysi� - Calculate the
Beginning type relationships
LL1P50.PL� - Languag� Analysi� - Calculate the
Ending type relationships
LL1P60.PL� - Languag� Analysi� - Calculate the
Follow Set Relationship
LL1P70.PL� - Languag� Analysi� - Calculate the
Selection Set for all productions
LL1P80.PL� - Languag� Analysi� - Validate that
the language is LL(1)
REFERENCES:
These programs were written from the outline given in:
'COMPILER DESIGN THEORY' by P.M. Lewis III,
D.J. Rosenkrantz and R.E. Stearns, Addison-
Wesley Publishing Company, 1978.
If you are going to use this system, it is highly re-
commended that you get this book.
Other books referenced:
1. 'Compiler Design and Construction' by
Arthur Pyster, Van Nostrand Reinhold Co.,
1980.
2. 'Structured System Programming' by Jim
Welsh & Michael McKeag, Prentice-Hall
International, Inc., 1980.
3. 'Algorithms + Data = Programs', by N.
Wirth, Prentice-Hall International, Inc.,
1976.
FUTURE ENHANCEMENTS:
The following is list of items that I may or may not get
around to doing. They represent enhancements or changes
for the better (I hope!).
1. Add the following to the input language:
a. Allow sections of terminals to be sur-
rounded by parentheses followed by a
'?' for 0 or 1 repetitions, '*' for 0 or
more repetitions or '+' for 1 or more
repetitions.
b. Allow lists to be defined as <nt> LIST
',' which denotes a list of <nt>'s seperated
by commas.
2. Add a phase which checks for left recursion
since this is the most deadly sin.
3. Add a phase which given the internal language
tables and the selection set produces the outline
of the compiler for all the various rules.
NOTICE OF PUBLIC DOMAIN:
The files herein contained and denoted under my control
� ar� hereb�� place� int� th� publi� domai� an� ma�� b�
freely distributed for any non-commercial personal use.