home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
-
-
-
-
-
-
- .=========================================.
- | |
- | SUBGEN - The .SUB file Generator |
- | |
- | By Steve Pritchard |
- | Solutions Canada Inc. |
- | 83 Cummer Ave, |
- | Willowdale, Ontario |
- | M2M 2E6 |
- | |
- | Copyright(1982) Steve Pritchard |
- | |
- '========================================='
-
- Version 1.0
-
- February 13, 1982
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- SUBGENv1.0 - User Documentation Page 1
-
-
-
- HISTORY
- -------
-
- SUBGE╬á v1.░á wa≤á writteεá thσá weekenΣá oµá Februar∙á 1│á afte≥ ì
- realizinτá tha⌠á therσá wa≤ n∩ convenien⌠á wa∙á t∩á perforφá somσ ì
- simila≥á operatioεá (whethe≥ trivia∞ o≥ complex⌐ upoε ß grou≡á oµ ì
- file≤ unde≥ CP/M«á Sure¼ FMA╨ caε generatσ ß lis⌠ oµ name≤ bu⌠ i⌠ ì
- stil∞á need≤ t∩ bσ attackeΣ b∙ aε edito≥ beforσ an∙ usefu∞á worδ ì
- caε bσ donσ witΦ thσ NAMES.SU┬ filσ generateΣ b∙ FMAP.
-
- Theε again¼á WORDSTA╥ i≤ no⌠ tha⌠ gooΣ a⌠ changinτ everythinτá iε ì
- positioε ▒ t∩ $1«á And¼ eveε iµ i⌠ could¼ therσ ofteε need≤ t∩ bσ ì
- heade≥á anΣá traile≥ record≤ writteε oε thσ filσ t∩ establisΦá aε ì
- operational environment.
-
- Finally¼á thσá Mississaugßá SYSO╨ JuΣ Newel∞ oncσá remarkeΣá tha⌠ ì
- therσá i≤á n∩á wa∙ t∩ 'Deletσ everythinτ bu⌠á ....ºá unde≥á CP/M« ì
- SUBGE╬ solve≤ thi≤ probleφ b∙ allowinτ ß NO╘ optioε tha⌠á invert≤ ì
- thσá filσ selectioε criteriß a⌠ thσ las⌠ moment«á Thu≤ t∩á deletσ ì
- al∞ bu⌠ .CO═ file≤ oε thσ defaul⌠ disk¼ onσ caε usσ SUBGE╬ iε thσ ì
- followinτ way:-
-
- SUBGEN *.COM - ;generate SUBGEN.SUB
- SUBMIT SUBGEN ;submit this to CP/M
-
- OPERATION
- ---------
-
- The command with which to invoke SUBGEN is:-
-
- SUBGEN [[d:]afn.ft] [options]
-
- SUBGE╬ generate≤ ß filσ cal∞ SUBGEN.SUB« I⌠ use≤ thσ commanΣ linσ ì
- t∩ obtaiε thσ filename.filetypσ searcΦ masδ (afn.f⌠ portion⌐á anΣ ì
- als∩á somσá optiona∞ ruε timσ parameter≤ sucΦ a≤ thσá "NO╘á fileó ì
- inver⌠á option«á Thesσá parameter≤ arσ useΣ t∩ selec⌠á thσá filσ ì
- name≤á ofµ oµ thσ specifieΣ disk«á Thesσ selecteΣ filσ name≤ arσ ì
- theεá sorteΣ int∩ ascendinτ sequencσ anΣ thσ use≥ i≤ notifieΣá oµ ì
- ho≈ man∙ file≤ arσ selected«á
-
- A⌠á thi≤á poin⌠á ß promp⌠ 'Skeleton?ºá i≤á displayeΣá askinτá fo≥ ì
- skeletoεá line(s⌐á int∩á whicΦ thσ selecteΣ filσá name≤á wil∞á bσ ì
- inserted«á Morσ thaε onσ skeletoε linσ caε bσ giveε iε whicΦ casσ ì
- multiplσá line≤á arσ generateΣ fo≥ eacΦ filσ name«á ┴á nul∞á linσ ì
- terminate≤áá thσá skeletoεá linσá inpu⌠á phasσá oµá thσá program≤ ì
- operation.
-
- Obviously¼á par⌠ oµ thσ skeletoε caε bσ command≤ tha⌠ operatσá oε ì
- thσ filσ names«á Alternatively¼ SUBMI╘ parameter≤ caε bσ includeΣ ì
- a⌠á variou≤á point≤á withiε thσ skeletoε iµ i⌠á i≤á necessar∙á t∩ ì
- generatσ ß multi-usσ .SU┬ file.
-
-
-
-
-
-
- SUBGENv1.0 - User Documentation Page 2
-
-
- SUBSTITUTION FORMULA
- --------------------
-
- Durinτá thσá generatioε oµ thσ .SU┬ filσ froφ thσá selecteΣá filσ ì
- name≤ SUBGE╬ copie≤ thσ skeletoε line(s⌐ t∩ thσ outpu⌠ filσá oncσ ì
- fo≥ ever∙ selecteΣ name« Durinτ thi≤ copyinτ proces≤ SUBGE╬ look≤ ì
- fo≥ occurrence≤ oµ thσ substitutioε character« Wheε found¼ SUBGE╬ ì
- replace≤á thi≤ characte≥ witΦ thσ curren⌠ filename.filetype«á Thσ ì
- standarΣá characte≥á i≤ thσ '@º characte≥ (whicΦá caεá bσá easil∙ ì
- changeΣ b∙ recompilinτ SUBGEN.⌐
-
- Specia∞á processinτá i≤á donσ b∙ SUBGE╬ iµá thσá └á characte≥á i≤ ì
- precedeΣá o≥á followeΣá b∙ ß period«á Thi≤ i≤ t∩á allo≈á fo≥á thσ ì
- possibilit∙á oµá doinτá globa∞á operation≤á oεá filetype≤á o≥á oε ì
- systems«á Thσá algorithφá i≤á mos⌠á easil∙ explaineΣá b∙á usσá oµ ì
- examples« Assumσ tha⌠ thσ curren⌠ filσ namσ i≤ ABC.COM« Thus:-
-
- era @ => era ABC.COM ;simple case first
-
- era b:@ => era b:ABC.COM ;another simple case
-
- reεá@.old=└ =╛ reε ABC.old=ABC.CO═ ; « suffi° cause≤ fε
- substitution only
-
- di≥ *.└ áá =╛ di≥á *.CO═ á ; « prefi°ácause≤ f⌠
- ; substitution only
-
- whatfo≥ .@«áá =╛ whatfo≥ .ABC« ;suffi° ha≤ priority
-
-
- OPTIONAL EXTRAS
- ---------------
-
- Therσá arσá currentl∙ fivσ optiona∞ parameter≤ specifieΣá iεá thσ ì
- FCB▓á positioεá oε thσ commanΣ line«á The∙ arσ specifieΣá iεá an∙ ì
- orde≥ bu⌠ mus⌠ no⌠ bσ separateΣ b∙ blanks«
-
- Wheεá specifieΣá the∙ inver⌠ thσ defaul⌠ establisheΣá a⌠á compilσ ì
- time«á Thσ standarΣ defaul⌠ i≤ al∞ ofµ excep⌠ fo≥ thσ 'Lº option« ì
- Thi≤ ma∙ bσ differen⌠ fo≥ thσ SUBGE╬ yo⌡ arσ using«
-
- Pá Thi≤ cause≤ thσ selecteΣ filename≤ t∩ bσ writteε followeΣ b∙ ì
- áááááßá questioεá marδ (?⌐ durinτá thσá selectioεá process«á Thi≤ ì
- áááááoccur≤á afte≥ selectioε anΣ thσ possiblσ inversioε (Seσá '-º ì
- ááááábelow)«á ie«á Yo⌡á havσá thσ las⌠ say«á ┴ C╥ o≥á ┘á responsσ ì
- áááááselect≤ thσ filσ whilσ aε ╬ responsσ reject≤ thσ file«
-
- H Thi≤ cause≤ ß Header┐á promp⌠ t∩ bσ written«á I⌠ i≤ useΣá t∩ ì
- áááááwritσ onσ o≥ morσ record≤ t∩ thσ outpu⌠ filσ beforσ thσ bod∙ ì
- áááááoµá thσ filσ i≤ writteε usinτ thσ skeletoεá definitions«á N∩ ì
- áááááfilσá namσ substitutioε take≤ placσ oε thesσ heade≥ records« ì
- ááááá┴ nul∞ repl∙ terminate≤ thσ heade≥ recorΣ writinτ process.
-
- T Simila≥ t∩ thσ Heade≥ option¼á thσ traile≥ optioε allow≤ onσ ì
- áááááo≥ morσ record≤ t∩ bσ writteε afte≥ thσ bod∙ oµ thσ file.è
-
-
- SUBGENv1.0 - User Documentation Page 3
-
-
-
- - Thi≤ optioε invert≤ thσ selectioε process«á ie«á afte≥ doinτ ì
- áááááthσ norma∞ CP/═ filσ matchinτ algorithm¼á iµ thi≤ optioεá i≤ ì
- áááááspecified¼á thσá matcΦá result≤á arσ reversed«á Thu≤á i⌠á i≤ ì
- ááááápossiblσá t∩ creatσ ß filσ oµ everythinτ bu⌠ .CO═á file≤á b∙ ì
- ááááásearchinτ fo≥ *.CO═ file≤ witΦ thi≤ '-º optioε specified« A≤ ì
- ááááámentioneΣá previously¼á thσ 'Pº optiona∞ promp⌠ occur≤ afte≥ ì
- áááááthi≤ inversion« (To∩ harΣ oε thσ heaΣ otherwise).
-
- Lá Thi≤á optioεá i≤ useΣ t∩ contro∞ thσ logginτ proces≤ t∩á thσ ì
- áááááCP/═ consolσ durinτ filσ generation« Thσ standarΣ SUBGE╬ ha≤ ì
- áááááthi≤ turneΣ on«á Specifyinτ thi≤ wil∞ fli≡ thσ logginτ mode« ì
- áááááThσ SUBGEN.SU┬ filσ beinτ createΣ i≤ writteε t∩ thσá consolσ ì
- áááááafte≥ substitutioε iµ thi≤ optioε i≤ active.
-
-
- EXAMPLES
- --------
-
- Note:Iεá thesσá example≤á thσ UPPE╥ CAS┼á represent≤á use≥á inpu⌠ ì
- áááááexcep⌠ wherσ obviousl∙ no⌠ use≥ input« S╟ i≤ m∙ abbreviatioε ì
- áááááfo≥ SUBGE╬ anΣ S╙ i≤ m∙ abbreviatioε fo≥ SUPERSUB.
-
- 1. Rename all .BAK files on the default drive to .ASM.
-
- A>SG *.BAK Invoke SUBGEN
- SUBGEN-...... Normal identifier from SUBGEN
- There are 10 selected files SUBGENs msg
- Skeleton?REN @.ASM=@ Refer to substitution rules.
- Skeleton? Null reply
- ..... SUBGEN would log at this point.
- .....
- A>SS SUBGEN Now do the renames.
-
-
- 2. Yo⌡ arσ abou⌠ t∩ undertakσ thσ SUBGE╬ v▓ project« Renamσ al∞ ì
- áááááexistinτá SUBGEN10.¬ component≤á (DOC¼á REL¼á COM¼á SU┬á anΣ ì
- áááááwhateve≥ yo⌡ havσ forgotton⌐ abou⌠ t∩ thi≤ ne≈ namσ oε thσ ┬ ì
- ááááádrive.
-
- A>SG B:SUBGEN10.* Invoke SUBGEN
- SUBGEN-...... Normal identifier from SUBGEN
- There are 7 selected files SUBGENs msg
- Skeleton?RE╬áB:SUBGEN20.*=└á Makσ usσ oµ substitutioεá rule≤
- Skeleton? Null reply
- .... SUBGEN would log at this point.
- ....
- A>SS SUBGEN Now do the rename
-
-
-
-
-
-
-
-
-
-
- SUBGENv1.0 - User Documentation Page 4
-
-
- 3.á Lis⌠á al∞ PL╔ program≤ oε drivσ ┬ iε uppe≥ casσ oε you≥ lis⌠ ì
- ááááádevicσ witΦ taΓ expansioε ever∙ ┤ columns«á Ever∙ prograφ i≤ ì
- ááááát∩ star⌠ oε ß ne≈ page«á Yo⌡ havσ ß filσ calleΣ PAGESE╨ tha⌠ ì
- áááááyo⌡á wan⌠ listeΣ beforσ ever∙ program«á Yo⌡ als∩á havσá slo≈ ì
- ááááádisδ drive≤ anΣ wan⌠ t∩ avoiΣ reloadinτ PI╨ ever∙ time.
-
- A>SG B:*.PLI H Invoke SUBGEN with H option
- SUBGEN-...... Normal identifier from SUBGEN
- There are 22 selected files SUBGENs msg
- Header?XSUB Invoke XSUB for PIP
- Header?PIP then invoke PIP
- Header? Null reply
- Skeleton?LST:=B:PAGESEP[P60] Generate page separator command
- Skeleton?LST:=B:@[T4P60U] Generate PIP commands
- Skeleton? Null reply
- .... SUBGEN would log at this point.
- ....
- A>SS SUBGEN Now do the lists
-
- 4.á Compilσá al∞ PL╔ program≤ oε drivσ B¼á ruεá PGMLINK.SU┬á anΣ ì
- áááááhavσ suppe≥ whilσ thi≤ i≤ happening.
-
- A>S╟ B:*.PL╔ ╘ Invokσ SUBGE╬ witΦ ╘ option
- SUBGEN-...... Normal identifier from SUBGEN
- There are 33 selected files SUBGENs msg
- Skeleton?PLI b:@ Generate compile command
- Skeleton? Null reply
- Trailer?S╙á PGMLIN╦ SUPERSU┬ allows SUB≤ withiε SUBs.
- Trailer? Null reply
- A>SS SUBGEN Now go have supper.
-
-
- 5.á Yo⌡á havσá t∩á ER┴ al∞ bu⌠ you≥ .CO═ file≤á oεá thσá defaul⌠ ì
- ááááádrive« Yo⌡ wisΦ t∩ confirφ eacΦ deletion.
-
-
- A>S╟ *.COM -P Invokσ SUBGE╬ witΦ P and - option
- SUBGEN-...... Normal identifier from SUBGEN
- mast.cat?N SUBGEN prompt - reject reply
- mast.bak? CR means Y too.
- .... etc
- There are 2 selected files SUBGENs msg
- Skeleton?ERA @ Generate the command
- Skeleton? Null reply
- .... SUBGEN would log at this point.
- ....
- A>SS SUBGEN Invoke the command.
-
-
- 6.á Sincσá SUBGE╬ use≤ thσ ReaΣ CommanΣ Buffe≥ CP/═ functioεá i⌠ ì
- ááááácaεá bσ driveε b∙ XSUB«á Therefore¼á iµ thσ righ⌠ situatioε ì
- ááááácamσá along¼á ß .SU┬ filσ coulΣ bσ useΣ t∩ generatσá ßá .SU┬ ì
- áááááfilσ b∙ mean≤ oµ SUBGEN« ╔ wil∞ leavσ i⌠ t∩ thσ use≥ t∩ finΣ ì
- áááááthσ righ⌠ situatioε wherσ thi≤ woulΣ bσ useful.
-
-
-
-
- SUBGENv1.0 - User Documentation Page 5
-
-
- HELP
- ----
-
- SUBGE╬ weigh≤ iε unde≥ thσ desirablσ 2δ marδ anΣ s∩ ╔ wa≤ ablσ t∩ ì
- imbeΣá ßá tersσá bu⌠ remindinτ HEL╨ function«á I⌠ i≤á invokeΣá b∙ ì
- typing:-
-
- SG ?
-
- ╔á hopσ tha⌠ thi≤ i≤ obviou≤ enougΦ fo≥ somebod∙ t∩ tr∙ wh∩á doe≤ ì
- not have this documentation package to tell them how to get HELP.
-
-
- DISTRIBUTION
- ------------
-
- A≤ mentioneΣ iε thσ prograφ listing¼á thi≤ packagσ i≤ placeΣ int∩ ì
- thσá publiπá domaiεá witΦ thσá usua∞á conditions - Fee∞á freσá t∩ ì
- distribute but it is not to be sold for profit.
-
- Oεá m∙ par⌠ i⌠ represent≤ anothe≥ smal∞ installmen⌠ t∩ thσ deb⌠ ╔ ì
- fee∞á ╔ havσ amasseΣ iε pickinτ u≡ s∩ mucΦ gooΣ qualit∙á softwarσ ì
- in the public domain.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-