home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / sigm / vols000 / vol055 / sigmlog.039 < prev    next >
Encoding:
Text File  |  1985-02-10  |  14.4 KB  |  350 lines

  1. Sig/M    volume 39    Updated IBM 3740 Disk Utility
  2.             Language Analyzer
  3.  
  4.     -CATALOG.039    contents of Sig/M volume 39
  5.     ACKLIST.039    acknowledgement file
  6.     CRCKLIST.039    checksum file of Sig/M volume 39
  7.  
  8. index    name        size    description
  9.  
  10. 39.01    3740UTIL.SUB     1K    Updated 3740 Disk Utility
  11. 39.02    3740UTIL.DOC     8K         /
  12. 39.03    3740UTIL.ASM    67K        /
  13. 39.04    3740UTIL.COM    13K       /
  14. 39.05    MACS3740.LIB    17K      /
  15. 39.06    EGRAMMAR.GMR     1K    Language Analyzer
  16. 39.07    EXAMPLE.GMR     1K              /
  17. 39.08    EXAMPLE2     1K                 /
  18. 39.09    GRAMMA         1K                /
  19. 39.10    LL1ANL.DOC     6K                   /
  20. 39.11    LL1ANL.PLI     3K              /
  21. 39.12    LL1ANL.SUB     1K                    /
  22. 39.13    LL1LNK.SUB     1K            /
  23. 39.14    LL1P00.PLI     3K               /
  24. 39.15    LL1P10.PLI    18K              /
  25. 39.16    LL1P1O.PLI    19K             /
  26. 39.17    LL1P20.PLI     7K            /
  27. 39.18    LL1P30.PLI    10K           /
  28. 39.19    LL1P40.PLI     6K          /
  29. 39.20    LL1P50.PLI     5K         /
  30. 39.21    LL1P60.PLI     4K        /
  31. 39.22    LL1P70.PLI     4K       /
  32. 39.23    LL1P80.PLI     6K      /
  33. 39.24    LL1PRC.PLI    13K     /
  34.  
  35. .HE     * * *  INDEX  * * *
  36.                           INTRODUCTION
  37.  
  38.  
  39.      Thσá followinτ manua∞ describe≤ thσ usσ anΣ functioε oµá thσ 
  40. CP/═á - IB═á disδ utility«á  I⌠ i≤ designeΣ t∩ allo≈ thσ use≥á t∩ 
  41. easily transfer data between CP/M and IBM disk formats.
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50. CP/═ i≤ ß registereΣ trademarδ oµ Digita∞ Research¼ Gardeε Grove¼ 
  51. CA«á  IB═á i≤á ß registereΣ trademarδ oµá Internationa∞á Busines≤ 
  52. Machines, Poughkeepsie, NY.
  53.  
  54. .paè.he TABLE OF CONTENTS
  55. INTRODUCTION ................................................   1
  56. INITIALIZE AN IBM DISKETTE ..................................   2
  57. CHANGE AN IBM VOLUME SERIAL NUMBER ..........................   3
  58. CHANGE AN IBM DATASET'S DIRECTORY ENTRY .....................   4
  59. DELETE AN IBM DATASET'S DIRECTORY ENTRY .....................   5
  60. LIST AN IBM DATASET'S DIRECTORY .............................   6
  61. TRANSFER CP/M TO IBM DATASET (BLOCK FORMAT) .................   7
  62. TRANSFER IBM TO CP/M DATASET (BLOCK FORMAT) .................   8
  63. TRANSFER CP/M TO IBM DATASET (SOURCE FORMAT) ................   9
  64. TRANSFER IBM TO CP/M DATASET (SOURCE FORMAT) ................  10
  65. DISPLAY AN IBM DATASET ......................................  11
  66. HARDWARE/SOFTWARE REQUIREMENTS ..............................  12
  67. MAINTENANCE POLICIES ........................................  13
  68. PROGRAM ERROR REPORT ........................................  14
  69. .PAè.HE INTRODUCTION
  70.                           Introduction
  71.  
  72.      Thi≤á prograφá wa≤ developeΣ s∩ tha⌠ developemen⌠á coulΣá bσ ì
  73. performeΣá oε ß smal∞ compute≥ utilizinτ CP/═ fo≥ largσ IB═ site«  ì
  74. Thσá datß o≥ program≤ werσ codeΣ usinτ thσá smal∞á computer¼á anΣ ì
  75. theεá transfereΣá t∩á thσ IB═ compute≥á utilizinτá thi≤á program«  ì
  76. Also¼á certaiεá datß werσ transferreΣ bacδ t∩ thσ smal∞á compute≥ ì
  77. fo≥á updatinτá anΣá agaiε transferreΣ bacδ t∩ thσá IB═á computer«  ì
  78. Thus¼á thσ timσ involveΣ fo≥ codinτ anΣ keypunchinτ werσ absorbeΣ ì
  79. oε thσ smal∞ machine«á  All transfers were performed by diskette.
  80.      Thi≤á manua∞ assume≤ tha⌠ thσ reade≥ ha≤ ß workinτ knowledgσ ì
  81. oµ botΦ CP/═ anΣ IB═ operatinτ systems«á  Iε particular¼ thσ use≥ ì
  82. shoulΣá full∙ understanΣ thσ basiπ disδ layou⌠ fo≥á IB═á StandarΣ ì
  83. Interchangσ Format«á  Thi≤ prograφ assume≤ thσ SI╞ throughou⌠ anΣ ì
  84. wa≤á writteε t∩ bσ compatiblσ witΦ onl∙ it«á  NOä othe≥ IB═ forma⌠ ì
  85. i≤á utilized«á  Fo≥ furthe≥ informatioε concerninτá thi≤á format¼ ì
  86. pleasσ revie≈ manua∞ GA21-9182¼ IB═ Genera∞ Informatioε Manua∞ oε ì
  87. Diskettes.
  88.      Thσá prograφ wa≤ designeΣ t∩ bσ men⌡ driveε witΦá prompting«  ì
  89. Currently¼á eacΦá responsσá i≤ verified¼á anΣ iµá incorrect¼á re-ì
  90. prompted«á  Iµ yo⌡ makσ ß mistakσ whicΦ i≤ ß valiΣ reply¼ re-boo⌠ ì
  91. CP/═ anΣ restar⌠ thσ program«á  A⌠ thi≤ time¼á n∩ backu≡ facilit∙ ì
  92. i≤ offereΣ s∩ bσ carefu∞ a≤ t∩ you≥ responses.
  93.      Wheε workinτ witΦ CP/═ files¼á thσ filσ name≤ arσ assumeΣ t∩ ì
  94. bσá aεá 1-╕ bytσ namσ witΦ ß typσ oµ '.DAT'«á  Thσ 1-╕ bytσá namσ ì
  95. mus⌠ corresponΣ witΦ ß filσ namσ oε thσ IB═ diskette.
  96. .paè.HE INITIALIZE AN IBM DISKETTE
  97.                    Initialize an IBM Diskette
  98.  
  99.      T∩á initializσá ßá diskettσ iεá IB═á SI╞á format¼á usσá thi≤ ì
  100. command«  Placσ thσ diskettσ t∩ bσ initializeΣ iε thσ appropriatσ ì
  101. drive«á  Selec⌠á thi≤ functioε (1)«á  Repl∙ witΦ thσ drivσ (A-D)«  ì
  102. Theε repl∙ witΦ thσ ne≈ 6-bytσ volumσ seria∞ number«  Thσ prograφ ì
  103. wil∞á theε forma⌠ thσ diskettσ t∩ IB═ specifications«á  Thi≤á ma∙ ì
  104. takσá ßá fe≈ minute≤ s∩ don'⌠ bσ alarmeΣ iµ i⌠ doesn'⌠á repl∙á t∩ ì
  105. yo⌡ immediately«á  Afte≥ initialization¼ thσ diskettσ i≤ read∙ t∩ ì
  106. use as an IBM diskette.
  107. .PAè.HE CHANGE AN IBM VOLUME SERIAL NUMBER
  108.                Change an IBM Volume Serial Number
  109.  
  110.      Thi≤á functioεá allow≤á thσ use≥ t∩á simpl∙á changσá aεá IB═ ì
  111. diskette'≤ volumσ seria∞ number«  Usσ functioε codσ (2⌐ t∩ invokσ ì
  112. it«  Repl∙ witΦ thσ disδ drivσ (A-D⌐ tha⌠ thσ diskettσ i≤ on¼ anΣ ì
  113. theε repl∙ witΦ thσ ne≈ volumσ seria∞ number¼ 1-╢ characters«  N∩ ì
  114. checkinτá i≤ donσ oε thσ res⌠ oµ thσ diskette«á  Onl∙ thσá volumσ ì
  115. serial number is changed.
  116. .PAè.HE CHANGE AN IBM DATASET'S DIRECTORY ENTRY
  117.              Change an IBM Dataset's Directory Entry
  118.  
  119.      Thi≤á functioε allow≤ yo⌡ t∩ changσ thσ director∙ entr∙á fo≥ ì
  120. aε IB═ file«á  Yo⌡ wil∞ usσ thi≤ entr∙ t∩ creatσ ßá file¼á renamσ 
  121. i⌠ o≥ adjus⌠ it≤ parameters«á  T∩ invokσ thi≤ function¼á usσ codσ 
  122. (3)«á  Repl∙á witΦá thσ disδ drivσ containinτ thσá IB═á diskette«  
  123. Theε repl∙ witΦ thσ director∙ secto≥ t∩ bσ changed«  Yo⌡ caε finΣ 
  124. thσá secto≥ numbe≥ b∙ usinτ functioε (6)¼á Lis⌠á Directory«á  Thσ 
  125. prograφ wil∞ theε displa∙ al∞ thσ field≤ iε thσ entr∙ anΣ reques⌠ 
  126. tha⌠ yo⌡ entr∙ ß ne≈ value«á  Ente≥ ONLYä thσ field≤ tha⌠ yo⌡ wan⌠ 
  127. t∩ change«á  Wheε thσ las⌠ fielΣ ha≤ beeε entered¼á thσ director∙ 
  128. wil∞á automaticall∙ bσ updated¼á anΣ ß completioε messagσ wil∞ bσ 
  129. posted to the terminal.  You will then return to the main menu.
  130. .PAè.HE DELETE AN IBM DATASET'S DIRECTORY ENTRY
  131. Delete an IBM Dataset's Directory Entry
  132.  
  133.      T∩ deletσ ß datase⌠ froφ aε IB═ diskette¼ placσ thσ diskettσ ì
  134. iε ß drive¼á invokσ functioε codσ (4)¼ ente≥ thσ disδ drivσ (A-D⌐ ì
  135. oε whicΦ thσ diskettσ resides¼ anΣ ente≥ thσ secto≥ numbe≥ oµ thσ ì
  136. director∙á entry«á  Iµ yo⌡ arσ iε doub⌠ a≤ t∩ thσ secto≥á number¼ ì
  137. usσ functioε codσ (6)¼á Lis⌠ Directory¼á t∩ finΣ ou⌠ wha⌠ i⌠á is«  ì
  138. Wheε thσ entr∙ ha≤ beeε deleteΣ anΣ ß completioε messagσ ha≤ beeε ì
  139. posted, control will return to the main menu.
  140. .PAè.HE LIST AN IBM DIRECTORY
  141. .PAè.HE TRANSFER A CP/M FILE TO IBM FORMAT (BLOCK)
  142. .PAè.HE TRANSFER AN IBM FILE TO CP/M FORMAT (BLOCK)
  143. .PAè.HE TRANSFER A CP/M FILE TO IBM FORMAT (SOURCE)
  144. .PAè.HE TRANSFER AN IBM FILE TO CP/M FORMAT (SOURCE)
  145. .PAè.HE MAINTENANCE POLICIES
  146.                       Maintenance Policies
  147.  
  148.      Iε thσ even⌠ oµ ß problem¼á contac⌠ Rober⌠ M« Whitσ a⌠ (208⌐ ì
  149. 377-0336«á  Hσ i≤ responsiblσ fo≥ answerinτ question≤ relatinτ t∩ ì
  150. installation¼á operatioεá anΣá maintenance«á  Iµ thσá probleφá i≤ ì
  151. determineΣ t∩ bσ ß par⌠ oµ thi≤ package¼á pleasσ obtaiε ß printeΣ ì
  152. dum≡ beforσ callinτ fo≥ support«á  ALLä use≥ modification≤ mus⌠ bσ ì
  153. removeΣá beforσ obtaininτ an∙ erro≥ analysi≤ anΣ correctioεá froφ ì
  154. Rober⌠ M«á White«  Iµ thσ probleφ persist≤ afte≥ initia∞ contact¼ ì
  155. pleasσá completσ thσ Prograφ Erro≥ Repor⌠ supplieΣ a≤ ßá par⌠á oµ ì
  156. thi≤á manua∞ anΣ senΣ i⌠ alonτ witΦ al∞ supportinτá documentatioε ì
  157. to:
  158.                     Robert M. White
  159.                     8530 Stonehaven
  160.                     Boise, ID  83704
  161.  
  162.      Rober⌠á M«á Whitσ wil∞ providσ custoφ modification≤ t∩ user≤ ì
  163. wh∩ reques⌠ them«á  Thesσ modification≤ ma∙ requirσ aε additiona∞ ì
  164. chargσá anΣá ma∙ no⌠ bσ quaranteeΣ t∩ functioε correctl∙á iεá al∞ ì
  165. futurσ releases«á  Al∞ agreement≤ mus⌠ bσ iε writing«á  Estimate≤ ì
  166. wil∞ bσ issueΣ pertaininτ t∩ thσ worδ involveΣ iε performinτá thσ ì
  167. modifications.
  168. .PAè.HE Program Error Report
  169. Date: _______▀ Title:___________________________________________
  170.  
  171. Submittor:______________________________________________________
  172.  
  173. Address:  ______________________________________________________
  174.  
  175.           ______________________________________________________
  176.  
  177.           ______________________________________________________
  178.  
  179. Phone:    (   ) ___-____ ext. ____
  180.  
  181. Error Description:
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192. Environment:
  193.      Computer Type: ________________________________________
  194.  
  195.      Core Size:     _____k
  196.  
  197.      No. and type of disks: ________________________________
  198.  
  199.      Console type:  ________________________________________
  200.  
  201.      CP/M release:  ________________________________________
  202. .PAè
  203. *****************************************************************
  204. *             LL(1) Language Analyzer            *
  205. *****************************************************************
  206.  
  207. BY:
  208.     ROBERT M. WHITE
  209.     H & W COMPUTER SYSTEMS, INC.
  210.     P.O. BOX 4173
  211.     BOISE, ID  83704
  212.  
  213. DESCRIPTION:
  214.     Thi≤á systeφá read≤á ßá BN╞á descriptioεá oµá aεáá LL(1⌐ 
  215. language¼á analyze≤á i⌠á fo≥ error≤ anΣ generate≤ thσá selectioε 
  216. set≤ fo≥ thσ productions«á  Variou≤ intermediatσ table≤ arσ als∩ 
  217. generated to allow better debugging of the language.
  218.  
  219. SOURCE LANGUAGE:
  220.     PL/I-8░ distributed by DIGITA╠ RESEARCH¼á PACIFI├ GROVE¼ 
  221. CALIFORNIA.  Release developed under was 1.3.
  222.  
  223. SYSTEM REQUIRED:
  224.     1.  8080/Z80 processor w/60k minimum.
  225.     3.  2 disk drives (I used Double-Density w/600k capacity.)
  226.     2.  CP/═áá Releaseá 1.┤á or  aboveá distributedá byá DIGITA╠ 
  227. RESEARCH, PACIFIC GROVE, CALIFORNIA.
  228.     3.  PL/I-8░ distributed by DIGITA╠ RESEARCH¼á PACIFI├ GROVE¼ 
  229. CALIFORNIA.  Release developed under was 1.3.
  230.  
  231. INSTALLATION:
  232.     1⌐á Adjus⌠ LL1ANL.SU┬ t∩ reflec⌠ thσ prope≥ drivσá whicΦ 
  233.             contains the source.
  234.     2)  Submit the file, LL1ANL.SUB.
  235.  
  236. SYSTEM EXECUTION:
  237.     1⌐á  Pu⌠ thσ BN╞ gramma≥ int∩ ß filσ witΦ thσá extensioε 
  238.              oµ GM╥ (i.e«á EXAMPLE.GMR)«á  Thi≤ filσ i≤ expecteΣ 
  239.              t∩ bσ iε standarΣ sourcσ forma⌠ (i.e«á eacΦ linσ i≤ 
  240.              terminateΣ witΦ ß carriage-return¼ line-feed)«  Thσ 
  241.              format of the BNF must be as follows:
  242.         <grammar> -> <rule> '<eof>'
  243.               ;
  244.         <rule> -> '<ident>' <alt> ';' <rule>
  245.                -> 
  246.                ;
  247.         <alt> -> '->' <rp> <alt>
  248.               ->
  249.               ;
  250.         <rp> -> '<string>' <rp>
  251.              -> '<ident>' <rp>
  252.              ->
  253.              ;
  254.          Aεá identifie≥ i≤ an∙ 1-╕ character≤ surroundeΣá b∙ 
  255.              <...╛á (i.e«áá <grammar>«á  ┴á strinτá i≤á an∙á 1-╕ è             character≤áá surrounΣá b∙áá quote≤áá (i.e«áá '->')«  
  256.              Comment≤á ma∙á bσ addeΣ t∩ thσ enΣ oµ an∙á linσá b∙ 
  257.              merel∙á codinτ ß '$ º anΣ theε thσá comments«á  Thσ 
  258.              analyze≥á als∩á ha≤ certaiε switche≤ whicΦá ma∙á bσ 
  259.              turneΣá oε o≥ ofµ b∙ usinτ thσ '$º followeΣ b∙á thσ 
  260.              switcΦá numbers«áá  Revie≈á program¼áá LL1P10¼á fo≥ 
  261.              further information.
  262.     2⌐á  Sincσá thσ  program≤ use≤ overlays¼á thσá currentl∙ 
  263.              loggeΣá disδ mus⌠ bσ thσ onσ containinτ thσá objec⌠ 
  264.              fo≥ LL1ANL.COM«á  T∩ analyzσ ß grammar¼á ente≥á thσ 
  265.              following:
  266.             LL1ANL grammar_file_name<return>
  267.              For example, the example grammar was analyzed with:
  268.             LL1ANL EXAMPLE<return>
  269.              The file extension of GMR is always assumed.
  270. áááááááá3)   Prin⌠á thσá filσá witΦ thσ extensioε oµá PR╬á (i.e« 
  271. áááááááááááááEXAMPLE.PRN)«  Thi≤ wil∞ prin⌠ thσ selectioε se⌠ a≤ 
  272. áááááááááááááwel∞á a≤ thσ intermediatσ table≤ useΣ t∩á calculatσ 
  273. áááááááááááááthσ selectioε set«  Thσ las⌠ repor⌠ wil∞ onl∙ exis⌠ 
  274. áááááááááááááiµá thσ gramma≥ i≤ no⌠ LL(1⌐ anΣ i⌠á wil∞á indicatσ 
  275. áááááááááááááwhicΦ production≤ causeΣ i⌠ no⌠ t∩ be.
  276.  
  277. FILES DONATED:
  278.     EXAMPLE.GMR - First example grammar
  279.     EXAMPLE2.GMR - Second example grammar
  280.     LL1ANL.DOC - The file that you are reading.
  281.     LL1ANL.PLI - Driver program
  282.     LL1ANL.SUB - Command List to Compile and  Link 
  283.                      the language analysis programs.
  284.     LL1CMN.DCL - Common area for all programs
  285.     LL1LNK.SUB - Command List to Link the language analysis
  286.              programs after re-compiling one of them.
  287.     LL1PRC.DCL - Common Procedures Declarations
  288.     LL1PRC.PLI - Common Procedures generated in LL1ANL
  289.     LL1P10.PLI - Language Parser
  290.     LL1P20.PLI - Language Sort and Print
  291.     LL1P30.PL╔ - Languagσ Analysi≤ - FinΣ Nullablσ 
  292.                      Production≤ anΣ Non-terminals
  293.     LL1P40.PL╔ - Languagσ Analysi≤ - Calculate the 
  294.                      Beginning type relationships
  295.     LL1P50.PL╔ - Languagσ Analysi≤ - Calculate the 
  296.                      Ending type relationships
  297.     LL1P60.PL╔ - Languagσ Analysi≤ - Calculate the 
  298.                      Follow Set Relationship
  299.     LL1P70.PL╔ - Languagσ Analysi≤ - Calculate the 
  300.                      Selection Set for all productions
  301.     LL1P80.PL╔ - Languagσ Analysi≤ - Validate that 
  302.                      the language is LL(1)
  303.  
  304. REFERENCES:
  305.     These programs were written from the outline given in:
  306.         'COMPILER DESIGN THEORY' by P.M. Lewis III,
  307.         D.J. Rosenkrantz and R.E. Stearns, Addison-
  308.         Wesley Publishing Company, 1978.
  309.     If you are going to use this system, it is highly re-
  310.     commended that you get this book.
  311.     Other books referenced:
  312.         1. 'Compiler Design and Construction' by
  313.            Arthur Pyster, Van Nostrand Reinhold Co.,
  314.            1980.
  315.         2. 'Structured System Programming' by Jim
  316.            Welsh & Michael McKeag, Prentice-Hall
  317.            International, Inc., 1980.
  318.         3. 'Algorithms + Data = Programs', by N.
  319.            Wirth, Prentice-Hall International, Inc.,
  320.            1976.
  321.  
  322. FUTURE ENHANCEMENTS:
  323.     The following is list of items that I may or may not get
  324.     around to doing.  They represent enhancements or changes
  325.     for the better (I hope!).
  326.         1.  Add the following to the input language:
  327.             a.  Allow sections of terminals to be sur-
  328.             rounded by parentheses followed by a
  329.             '?' for 0 or 1 repetitions, '*' for 0 or
  330.             more repetitions or '+' for 1 or more
  331.             repetitions.
  332.             b.  Allow lists to be defined as <nt> LIST
  333.             ',' which denotes a list of <nt>'s seperated
  334.             by commas.
  335.         2.  Add a phase which checks for left recursion 
  336.             since this is the most deadly sin.
  337.         3.  Add a phase which given the internal language
  338.             tables and the selection set produces the outline
  339.             of the compiler for all the various rules.
  340.  
  341. NOTICE OF PUBLIC DOMAIN:
  342.     The files herein contained and denoted under my controlè    arσá hereb∙á placeΣ int∩ thσ publiπ domaiεá anΣá ma∙á bσ 
  343.         freely distributed for any non-commercial personal use.
  344.  
  345.  
  346.  
  347.             Robert M. White
  348.             July 15, 1981
  349.  
  350.