ISPF Edit Spell Checker
Note: This tool is best clone (installed) using zigi (z/OS ISPF Git Interface) which can be found at zigi.rocks). Or, use the TSO Transmit file.
This site contains an ISPF Edit command to spell check your data.
Members of the PDS dataset:
$DOC What you are reading $MORE Information on where to find words to add to or create a public dictionary. The referenced URL refers to the web site for the Dictionaries for International Ispell which lists sources for words for most languages. WBAD A small member that can be used to verify SPELLC where there are invalid words WGOOD A small member that can be used to verify SPELLC where all words are valid. WORDS Sample starter dictionary (English) *** please share updates with the author so others *** may benefit from your updated word list Alternate dictionaries can be created for other languages but only one installation dictionary is allowed at any point in time. The REXX Exec Library Members are: SPELLC The ISPF Edit command written in REXX to do the Spelling verification SPELLCA The ISPF Edit command written in REXX to add words to the users personal dictionary (thanks to Russ Nesbitt) SPELLCDF The ISPF Edit command default REXX exec SPELLCPN The REXX Exec that contains the dynamic versions of the ISPF panels and which will load them The ISPF Panel Library Members are: SPELLCD The ISPF Panel to prompt for a user dictionary data set SPELLCH The ISPF Help Panel SPELLCP The ISPF PopUp Panel that displays the Spell Checking Progress
The most current version of this package can be found at my web site
Special Thanks to:
Asher Aremband Hartmut Beckmann John Kalinich Russell Nesbitt Sam Golob
for their contributions to this package.
1. Copy member WORDS into a sequential data set that can be accessed by all TSO/ISPF users. A DCB of RECFM=VB LRECL=84 is suggested. 2. Edit member SPELLCDF and update as appropriate ** see Local Customization section below 3. Copy member SPELLC, SPELLCA, and SPELLCDF into a CLIST or REXX library in your SYSPROC or SYSEXEC concatenation. 4. If the panelloc value in SPELLCDF is non-null then Copy members SPELLCD, SPELLCH, and SPELLCP into an ISPF Panel library in your ISPPLIB concatenation, otherwise this step is not required.
All local customization should occur within the SPELLCDF REXX Exec,
however if you find something that needs changing elsewhere let me know.
The variables to set in SPELLCDF are:
dictdsn The data set name of the public dictionary email The e-mail address to display in the first popup panel as the address to send words to add to the public dictionary (please set this to your address and do not leave it as mine) alpha The alphabet in upper case (may be customized for NLS support) from Special characters to be translated to blanks before each line of words is processed panelloc Determines if SPELLC will use the ISPF Panels from an existing ISPPLIB library or if the Panels should be dynamically loaded into a temporary library and then LIBDEF'd to access them. other Characters if found in a word cause the word to be ignored (and thus assumed to be correctly spelled) usrmodel A data set name model to be used to allocate the users personal dictionary if they have not already done so. This is used in SPELLCA on its first use if the personal dictionary variable is null.
*** Note the nls variables will be supported in the future ***
SPELLC is an ISPF Edit macro that is invoked on the ISPF Edit command
line with or without any other parameters. It will prompt the user to
ask if the user has their own dictionary of words and which records to
spell check. There are also options to have a progress popup and to
ignore words that are in all caps.
The optional parameters allowed are: Starting line number or label Ending line number or label If an ending line number or label is specified then a starting line number or label is required. An alternate way to specify a range of lines to check is to use a S followed by a number (e.g. S9 to check 9 lines) or a pair of SSs to mark a range.
If the user has their own dictionary then the words in it will be added to the
installation dictionary for the spelling check. A null data set name is
acceptable on this panel.
The spell checking is performed using the following 'rules':
1. Each line of text in the ISPF Edit (or View) data set is read from top to bottom 2. Each line will have the characters :,?()*=;<>|$ translated to blanks. See the from variable in SPELLCDF for the complete list 3. Each word (a string of characters without an intervening blank) is then converted to upper case for checking 4. Words that begin with numbers are not checked 5. The word is tested and if found then checking continues with the next word, otherwise a. Words ending with S, 'S, and 'D are checked as if the S, 'S, and 'D are not there. b. Words with these other characters 0123456789_-@ are ignored 6. Upon completion the invalid words are displayed in sorted sequence at the top of the data set in ISPF message format. 7. A message is inserted after each line with an invalid word indicating the misspelling on the prior line
SPELLCA is an ISPF Edit command that will add words to the users personal
dictionary. To use:
1. Enter SPELLCA on the ISPF Edit Command Line 2. Move the cursor to the word to be added 3. Press enter
This assumes that a personal dictionary has been defined. If one has not
been defined then a message indicating that is displayed.
The user dictionary is any sequential data set or member of a partitioned data
set that conforms to the following format:
1. records with * in column 1 are comments 2. words are separated by blanks or on separate records
It is suggested that the dictionary be allocated using RECFM=VB LRECL=84
and that more than one word be on a record.
Comments, suggestions, and complaints should be directed to the author
Lionel B. Dyck
Warranty and Guarantee - none.
License: This code is distributed under the GPL License which may
be found at http://www.gnu.org/copyleft/gpl.html