=DCL_DIET, UTILITIES, Charlie Hammond's unsupported DCL dieter5 [The following also appears near the beginning of+ DCL_DIET.COM and DCL_DIET.COM_SOURCE.]B **************************************************************B This procedure "DIETs" a command procedure file -- compressingB it by removing comments and unnecessary space. This saves fileC space and improves execution time. It may also remove comments% that you don't want users to see.( To run this procedure, enter command# $@DCL_DIET 6 where is the input command procedure3 is the "DIETed" output file: ( may also be in the form "/OUTPUT="F If you use DCL_DIET frequently, you may wish to assign a symbol inA your LOGIN.COM file to execute DCL_DIET. For example, if theE DCL_DIET.COM is in you LOGIN default directory, you might put the following in your LOGIN.COM:, $ DCL_DIET :== "@SYS$LOGIN:DCL_DIET"G Alternatively, if you put DCL_DIET.COM in SYS$SYSTEM, you might put8 the following in your SYS$SYLOGIN (which is normally SYS$MANAGER:SYLOGIN.COM):- $ DCL_DIET :== "@SYS$SYSTEM:DCL_DIET"H If the translation of the logical name DCL$DIET_DOTDOT is true, thenM this version adds a space a the beginning of a line that starts with ".".J This is to overcome a problem with SMTP mail in Compaq TCP/IP services6 so that TCP/IP V5.3-18's SMTP won't double the "."B **************************************************************%Version 1.1 implements the following:;$! We want to TRIM, COMPRESS and UNCOMMENT the dcl record,8$! But first we must deal with problem that F$EDIT has:$!C$! - Exclaimation marks used for formating directives in F$FAO?$! control strings may be taken as comments and removed.J$! This only occurs when the F$FAO is preceded by two single quotesG$! indicating symbol substitution within a quoted string. e.g.$!A$! $ write sys$output "Value is: ''f$fao("!4UL",value)'"$!E$! - Multiple spaces in strings within a lexical function may beI$! incorrectly compressed. Again, This only occurs when the F$FAOI$! is preceded by two single quotes indicating symbol substitution)$! within a quoted string. e.g. $!?$! $ write sys$output "''f$locate(" a"," a")'"$!B$! (These may not be good coding practice, but tye ARE used.)$!G$! We could write a lot of clumsy code to handle this, but since it isE$! an unusual occurance, we just skip dieting any lines that containF$! the string "''F$" or the string "''f$'"(although we do strip extra?$! spaces after the "$" and we also strip any trailing spaces.