home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club 1995 March / SOFM_Mar1995.bin / pc / os2 / alphal / alpha.txt < prev    next >
Text File  |  1995-01-27  |  25KB  |  748 lines

  1.  
  2.     *******************************************************************
  3.     *                                                                 *
  4.     * (C) Copyright International Business Machines Corporation 1993. *
  5.     *                 All rights Reserved.                            *
  6.     *                                                                 *
  7.     *******************************************************************
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.                            ALPHA V2.3
  15.  
  16.              Lionel de Lambert - Iunius MMDCCXLIII AUC
  17.  
  18.                 IBM United Kingdom Laboratories Ltd.
  19.  
  20.                         16 January 1995
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27. This document describes the installation, function and commands
  28. of the ALPHA software analysis programme which runs under
  29. the OS/2 v2.x operating system. 
  30.  
  31. The languages supported are :-
  32.  
  33. 370 and 386 assembler, PASCAL(Ada), PL/X(PL/I, REXX), C(C++), and
  34. FORTRAN.
  35.  
  36.  
  37. Description
  38. ===========
  39. This is a simple 32-bit configurable multi-document highlighting editor
  40. version of the alpha software analysis programmes which were written
  41. together with the CMS programme ANALYSE in order to establish the praecognita 
  42. for the CICS restructure project and may be of interest to those people who
  43. examine 370, 386 assembler, PASCAL(Ada), PL/X(PL/I, REXX), C(C++),
  44. FORTRAN etc. under OS/2 V2.x. 
  45.  
  46.  
  47.  
  48. This programme will provide basic browse and edit functions for all files
  49. with a record size <=256 as well as highlighting specified
  50. keywords for language files such as 370 & 386 Assemble, PASCAL,
  51. PL/AS, C(CPP), FORTRAN etc. ALPHA will also display the programme
  52. call structure, and expand the procedure calls in a secondary
  53. window.
  54.  
  55. This version of Alpha was written in C-Set/2 and MASM V6.0 and will run
  56. on OS/2 V2.0 or later.
  57.  
  58.  
  59.  
  60. Highlighting of keywords has been provided for the following
  61. language types :-  A37,ASM,PAS,(PLS,PLX,PLI),(C,CPP,H),FOR,IPF
  62.  
  63.  
  64.  
  65. The syntax of the Alpha programme is :-
  66.  
  67.  
  68.  
  69.    START ALPHA [file] [/p [profile name - default ALPHA.PRF]]
  70.  
  71.  
  72.  
  73. The Language_colour,  Language_operator, Precedent_C, File_type,
  74. Comment_start, Comment_end, Transfer_pgm(1) and Window keywords
  75. are the only ones which are recognized from the profile. {The main
  76. window position is remembered when Alpha is closed.}
  77.  
  78.  
  79.  
  80. Installation
  81. ============
  82. The minimum requirement is to copy the file ALPHA.EXE to a
  83. directory under OS/2 v2.x. If you want to access the Extended
  84. help you must copy the file ALPHA.HLP in to the HELP path. If
  85. you wish to use the Alpha fonts you should copy the ALPHA.FON
  86. file to a directory under OS/2 v2.x and select 'System Setup'
  87. from 'OS/2 System' and use 'Add' in the 'Edit font' of  the
  88. 'Font Palette'. If you wish to access files from the host then
  89. you should also install a file transfer programme such as
  90. ALMCOPY.
  91.  
  92.  
  93.  
  94. Menu  
  95. ====
  96. The Allocate dialogue box is used to request a file to be read.
  97. If the drive letter is changed then the OK button should be used
  98. to refresh the List boxes. A file may also be allocated by
  99. dragging mouse button 2 with the Ctrl key pressed from a Drives
  100. window and releasing it over the Alpha window. {The maximum
  101. number of child windows is 16.} The Profile button may be used
  102. to remember the file name entered in the Combo box as the
  103. profile for subsequent invocations. This will obviate the need
  104. for the '/p' option and allow the dropping of files on the
  105. unstarted programme. A null file name will remove the saved profile name. 
  106. The Transfer button will pass the contents of the Combo box to the
  107. Transfer_pgm. 
  108.  
  109.  
  110.  
  111. The Command dialogue box(2) may be used to issue a search command
  112. e.g.
  113.  
  114.  
  115.  
  116. Non-case sensitive search for a string.
  117.  
  118. Case sensitive search for a string.
  119.  
  120. Case sensitive search for a string in column one.
  121.  
  122. (The string search starts from the current cursor position +1.)
  123.  
  124. Move to a specified line number.
  125.  
  126. Replace the text at the current cursor position with the text from
  127.      the Replacement Text Entry Box.
  128.  
  129. Options
  130. =======
  131. The Options menue may be used to set the following options :-
  132.  
  133.  Statement No. - display the statement number in the TITLE bar.
  134.  
  135.  Tab - expand the record by using X'09' characters to round to
  136.        columns n*8.
  137.  
  138.  Keyword - highlight the keywords.
  139.  
  140.  Include - For the file types of MASM, PASCAL, PL/S {PL/I etc.}
  141.         and C read the include files specified by :-
  142.  
  143.         include file_name, {$INCLUDE : 'file_name' }, %INCLUDE
  144.         first_part_of_file_name;, #include <file_name>, respectively
  145.         when expanding a call etc.
  146.  
  147.         {The current directory together with the paths defined by the
  148.         INCLUDE environment variable will be searched. The total number
  149.         of open files/windows is limited to 16 so the include nesting
  150.         level can not exceed 16 - the number of open windows. For
  151.         language 4, PL/S, the file extension is appended to the
  152.         first_part_of_file_name.}
  153.  
  154. Grid - Draw vertical grid lines through every tenth character in
  155. the Grid colour.
  156.  
  157. Box - Switch the select mode to box format. In box mode the "Paste" function 
  158.       will overwrite the text at the cursor position with the box area.
  159.  
  160. Tool bar - Display the "Tool bar"; which makes toggling of some options
  161.          easy.
  162.  
  163. Configure
  164. =========
  165. This will invoke the Configure notebook with the following pages :-
  166. C - Colour - Set the text colour
  167. F - Font - set the text font.
  168. T - Configure the Tool bar.
  169.  
  170.  
  171. Font
  172. ----
  173. The Font  dialogue box may be used to change and remember the
  174. font of the text, comments etc.
  175.  
  176. You can use the System Monospaced, Helvetica, Roman and Courier
  177. fonts but the Courier, System VIO and the System Monospaced fonts are the
  178. only monospaced fonts supplied with OS/2 V2.x. A monospaced font
  179. with point sizes 8,9,10,11,16 & 20 is supplied with the ALPHA
  180. PACKAGE, which may also be used. 
  181. Outline fonts are not selectable.
  182.  
  183.  
  184.  
  185. Point sizes (1/72") are :- Courier
  186. (8,10,12), Roman (8,10,12,14,18,24), Helvetica
  187. (8,10,12,14,18,24), System (8,10,12, {8x8, 8x16,9x20}), "Alpha"
  188. (8{8x12},9{9x10},10{8x14},11{11x12},16{12x16},20{12x20}). The
  189. Alpha font point size 10 is suitable for 8513 screens and the
  190. point size 20 for 8515/8516. 
  191.  
  192.  
  193. Colour
  194. ------
  195. The Colour dialogue box may be used to change and remember the
  196. colours(3) of the text, comments etc. The following colours may be
  197. changed with this dialog box :-
  198.  
  199. Text - The main text colour.
  200.  
  201. Highlight - The mouse button 1 isolate keyword.
  202.  
  203. Locate/Position - The mouse button 2 locate string, the
  204. character position of the last mouse button 1 click and the
  205. Structure List box procedures.
  206.  
  207. Comment/statement# - The Comment colour, statement number and
  208. Structure List box calls.
  209.  
  210. Background - The text background colour.
  211.  
  212. Branch - The Branch/Jump instruction colour.
  213.  
  214. Grid/Help balloon - The vertical grid line colour and the Tool bar
  215.      help balloon background.
  216.  
  217. Select area - The mouse button 1 drag area.
  218.  
  219. Help balloon - The Tool bar help balloon colour.
  220.  
  221. Comment background - The background colour for the comment text.
  222.  
  223. Configure Tool bar
  224. ------------------
  225. This Dialog box may be used to Delete or Add buttons to the Tool bar
  226. and to change its size and orientation.
  227.  
  228.  - The Buttons List box contains the available buttons; one should be 
  229.    selected and the Add button pressed to add it to the Tool bar.
  230.  - The Tool bar List box shows the current list of buttons in the 
  231.    Tool bar; one should be selected and the Delete
  232.    button pressed to remove it.
  233.  - The Entry box displays the current button size which may be changed.
  234.  - The Horizontal and vertical Radio buttons will read the Entry box
  235.    and reconstruct the Tool bar.
  236.  - The menu Radio button will cause the Tool bar to be placed in the menu
  237.    when Alpha is restarted. 
  238.  - The Configure button will cause the changes to be applied.
  239.  
  240. The new Tool bar structure will be remembered when Alpha is closed. If the
  241. Tool bar is changed from menu to floating then Alpha should be closed
  242. and restarted.
  243.  
  244.  
  245.  
  246. The Print dialogue box may be used to print a range of records
  247. on one of :- LPT1, LPT2, LPT3. If a range of records has been
  248. selected by dragging the mouse with button one down then this
  249. range will be used in the print dialogue box. The default record
  250. range is the whole file.
  251.  
  252.  
  253.  
  254. The Window menu may be used to close all child windows or to
  255. arrange them so that the title text is visible, Cascade, or so
  256. that a partial view of each child may be seen, Tile. The Select
  257. window option will create a dialogue box from which a child
  258. window may be selected to become the active widow. The first six
  259. windows may be selected by file name from this menu.
  260.  
  261. The Edit dialogue box may be used to edit the current line :-
  262.  
  263.  - The Multi-Line Entry box may be used to modify the current line
  264.    or add new lines. The number of lines added is the No. 
  265.    of lines in the MLE.
  266.  - The Modify button will replace the current line
  267.    with the contents of the MLE.
  268.  - The Undo button will undo the changes to the MLE.
  269.  - The Cancel button will leave the current line unchanged.
  270.  - The number on the left shows
  271.    the current cursor position in the MLE.
  272.  - The number on the right shows
  273.    the current pointer, mouse, position in the MLE.
  274.  
  275. The current line is the top line in the window unless button 1 has
  276. been pressed when the cursor will indicate the line.
  277.  
  278. If major modifications,
  279. {The Multi-line Entry field will only accept 64 lines at a time}, 
  280. are to be made to the file then a purpose built editor should be used.
  281. The maximum record size allowed is 256.
  282.  
  283. Help                                                       
  284. ----
  285. The Help menu may be used to display the About window, the Help
  286. summary window or access the OS/2 help file ALPHA.HLP(5).
  287.  
  288. The Help summary window may be scrolled by :-
  289.  
  290. Page_up - scroll up 1 screen
  291.  
  292. Page_down - scroll down 1 screen 
  293.  
  294. Home - scroll to the top of the Help data 
  295.  
  296. End - scroll to the end of the Help data 
  297.  
  298. Up_arrow - scroll up 1 line. 
  299.  
  300. Down_arrow  - scroll down 1 line.
  301.  
  302.  
  303. The mouse button 1 will highlight a string and mouse button 2
  304. will cause a case sensitive search for this string from the 
  305. current cursor position +1, {if the Ctrl key is held down then the
  306. search is not case sensitive}. 
  307. If the Ctrl key is held down when the mouse button 1 is pressed 
  308. then the current line may be edited. If mouse button 1 is clicked 
  309. twice on a label then a search from the top of the file is made 
  310. for the label definition or procedure entry and a secondary window 
  311. is opened, Expand.
  312.  
  313. {The language structure tables are searched first so if you have
  314. specified some structure keywords via. Language_operator then
  315. you will have to record the structure first, Ctrl+s.}
  316.  
  317.  
  318.  
  319. If mouse button 1 is clicked twice on BEGIN for PASCAL, {  for C
  320. or DO for PL/S then the following records up to the matching END
  321. etc. will not be displayed. If the mouse button 1 is double
  322. clicked on the suppressed message line or F12 is pressed then
  323. the records will be re-displayed. If the Include option is
  324. effective and mouse button 1 is double clicked on an Include
  325. statement then a second window containing the include file will
  326. be created.  The following keys are effective for the programme -
  327.  
  328.  
  329.  
  330. F1 will open the Help window. 
  331.  
  332. F2 will open the Configure Notebook. 
  333.  
  334. F3 will close the programme. 
  335.  
  336. F4 will open the Allocate file dialogue box.
  337.  
  338. F5 will repeat the previous command. 
  339.  
  340. F6 will open the Command dialogue box. 
  341.  
  342. F7 will scroll the window up 1/2 a screen. 
  343.  
  344. F8 will scroll the window down 1/2 a screen. 
  345.  
  346. F12 will reset the collapse of the BEGIN/END pairs etc.
  347.  
  348. Page_Up will scroll up 1 screen. 
  349.  
  350. Page_Down will scroll down 1 screen. 
  351.  
  352. The Home key will scroll to the top of the file.
  353.  
  354. The End key will scroll to the end of the file.
  355.  
  356. Up_arrow - scroll up 1 line. 
  357.  
  358. Down_arrow - scroll down 1 line.
  359.  
  360. Left_arrow - scroll left 1 column.
  361.  
  362. Right_arrow - scroll right 1 column.
  363.  
  364. (Hold down the Shift key to highlight an area of the window.)
  365.  
  366. The Insert key will toggle the Insert/Overwrite 
  367. mode for character Edit in the Child window at the
  368. current cursor position.
  369.  
  370. The Insert+Shift keys will insert the lines from the Clipboard at the
  371. current cursor position.
  372.  
  373. The Insert+Ctrl keys will copy the lines highlighted by the
  374. button(4) 1 drag area from the display to the Clipboard.
  375.  
  376. The Delete key will delete the character or select area 
  377. at the current cursor position in the child window.
  378.  
  379. The Delete+Shift keys will copy the selected area to the Clipboard and 
  380. delete the text.
  381.  
  382. The Space+Ctrl keys will clear the selected area to blanks.
  383.  
  384. The Ctrl+b keys will re-insert the last deleted records.
  385.  
  386. The Ctrl+e keys will edit the current line. The current line will
  387. be the top line in the window unless button 1 has been pressed when
  388. the cursor will indicate the the line.
  389.  
  390. The Ctrl+h will hide/restore the selected lines.
  391.  
  392. The Ctrl+shift+s keys will save the current file.
  393.  
  394. The Ctrl+s keys will record or display the programme structure.
  395. {The programme calling structure will be recorded if this has
  396. not already been done and then the Structure dialog box will be displayed.
  397. If an entry from the List box is selected then the last active 
  398. window will be scrolled to that line. The Print button may be used 
  399. to print the contents of the List box on LPT1. 
  400. The calling structure is based on the profile keywords :- 
  401. Language_operator, Precedent_C and File_type.
  402. If the file contains tab characters then Tab expansion must be active 
  403. before the structure is recorded.} 
  404.  
  405. The Ctrl+x keys will display the record references to the 
  406.     highlighted label.
  407.  
  408. The Ctrl+c keys will suppress/display the comments in a language file.
  409.     If a single line is scrolled then the comment suppression will 
  410.     be disabled.
  411.  
  412. The Ctrl+Shift+c keys will compile the last active file using the
  413. command displayed in the Compile dialogue box which will be scanned 
  414. and the % replaced by the file name from the file entry box.
  415. The resultant command will be executed when the Execute button is pressed.
  416. The Standard Output for the Child process will be
  417. written to the "Output" MLE.
  418. The programme name is formed by appending ".EXE" to the first name of
  419. the command line.
  420. If the command line is modified then it will be remembered
  421. when Alpha is closed.
  422.  
  423. The Alt+n keys will record a bookmark, where n is a numeric key
  424. 0-9.
  425.  
  426. The Ctrl+n keys will move to the bookmark.
  427.  
  428.  
  429. Profile
  430. =======
  431. A profile(6) may be specified defining the following keyword
  432. values, these are the only ones recognized by the Alpha programme:-
  433.  
  434.  
  435.  
  436. File_type specifies the File types to be recognized. The string
  437. must be <=64 characters and terminated by a comma. The first 6
  438. types are used for :-   
  439.  
  440. 370 assembler  
  441.  
  442. 386 assembler  
  443.  
  444. PASCAL, (Ada)  
  445.  
  446. PL/S, PL/AS, PL/I  etc., (REXX)   
  447.  
  448. C(C++)  
  449.  
  450. FORTRAN
  451.  
  452.  
  453.  
  454. For REXX files use :- "A37,ASM,PAS,CMD,C,FOR," and replace the
  455. PL/S entries in the Language_colour entries. For Ada  files use
  456. :- "A37,ASM,ADA,PLS,C,FOR," and replace the PAS entries in the
  457. Language_colour entries.
  458.  
  459. If a file extension is an alias then place the extensions in
  460. parenthesis, e.g. "A37,ASM,PAS,PLS,(C,CPP),FOR,".
  461.  
  462. Comment_start specifies the first two characters of the start of
  463. a comment. The string must be £12 characters.  The 6 pairs are
  464. used for :- 
  465.  
  466. 370 assembler 
  467.  
  468. 386 assembler  
  469.  
  470. PASCAL, for Ada specify Comment_start="* ; --/*/*C "   
  471.  
  472. PL/S, PL/AS etc.   
  473.  
  474. C  
  475.  
  476. FORTRAN 
  477.  
  478.  
  479.  
  480. The default value is Comment_start="* ; { /*/*C ". If the second
  481. character of the pair is a blank then the comment is assumed to
  482. begin with a single character. 
  483.  
  484.  
  485.  
  486. Comment_end specifies the last two characters of the comment.
  487. The string must be £12 characters. The 6 pairs are used as in
  488. Comment_start.  
  489.  
  490.  
  491.  
  492. The default value is Comment_end="    } */*/  ". If the second
  493. character of the pair is a blank then the comment is assumed to
  494. terminate with a single character. 
  495.  
  496.  
  497.  
  498. Precedent_C specifies the C language keywords which precede a
  499. procedure, e.g. int, char, etc. The string must be <=64
  500. characters and terminated by a comma.
  501.  
  502. Language_colour  defines the highlight colours for key words. Up to 255
  503. entries may be defined as follows :-
  504.  
  505.  file_type,key_word,colour,scan_length
  506.  
  507. and are terminated by .END, invalid entries are ignored. 
  508. The colour may be a single colour or an expression viz. :-
  509.   (<text_colour>,<background_colour>,<UNDERLINE>)
  510.                    
  511. The case and spaces within the keyword are significant,
  512. {the first character is used for the initial scan so a space would
  513. reduce the performance}.
  514. The keywords must be <=12 characters.
  515. {Colours may take the values :BLUE, DARKCYAN, BLACK, DARKBLUE,
  516. DARKPINK, DARKGRAY, DARKRED, DARKGREEN, BROWN, CYAN, RED, GREEN
  517. ,PINK, YELLOW, PALEGRAY, DEFAULT, WHITE (ORANGE, PURPLE, PALEGREEN, 
  518. PALEBLUE)}
  519.  
  520.  
  521. Language_operator defines the operator keywords for each language.
  522. The second value indicates how to process the keyword, viz.
  523. < or > indicate the scan direction from the keyword to locate the label,
  524. 'P' or 'C' indicates that the keyword specifies an entry point or call,
  525. ':' indicates that the label will be followed by a colon,
  526. '2' indicates that the second label following a ',' is to be used.
  527. Up to 32 entries may be defined as follows :-
  528. file_type,<║>C║P[:][2],keyword
  529. and are terminated by '.END', invalid entries are ignored.
  530. The keywords must be <=12 characters. The C-language procedure
  531. values are supplied on the Precedent_C keyword.
  532. Window  specifies the initial window position. A suitable value
  533. for 8515 and 8516 type screens may be - (0,60,800,600). If no
  534. profile is specified then Window=(0,60,420,635) is assumed. 
  535. When the main window is closed its position will be remembered.
  536.  
  537. Transfer_pgm specifies the programme name invoked 
  538. from the Allocate widow. The data from the COMBO box is passed
  539. without modification to the Transfer_pgm when the Transfer button is
  540. selected.
  541.  
  542. Tool bar
  543. ========
  544. The Tool bar may be used to set an option etc. quickly.  
  545. The Tool bar position and state will be remembered when the Alpha programme is
  546. closed. The following buttons are available :-
  547.  
  548.  - Hide/re-instate highlighted records from display.
  549.  - Display/Create structure List box.
  550.  - Toggle statement No. display.
  551.  - Copy highlighted records to Clipboard.
  552.  - Cascade Child windows.
  553.  - Tile Child windows.
  554.  - Toggle Tab expansion.
  555.  - Toggle Include option.
  556.  - Repeat last Locate command.
  557.  - display the record references to the highlighted label.
  558.  - suppress/display the comments in a language file.
  559.    If a single line is scrolled then the comment suppression will be disabled.
  560.  - Edit the current line.
  561.  - Save the file.
  562.  - Compile file
  563.  - Copy the selected records to the Clipboard and erase from from memory.
  564.  - Overwrite the current line with records from the Clipboard.
  565.  - Delete records from memory.
  566.  - Re-insert the last deleted records.
  567.  - Clear select area.  
  568.  - Switch to/from box mode select.
  569.  
  570. If mouse button 2 is held down on a button then a small help
  571. balloon will be displayed.
  572.  
  573.  
  574.  
  575. Add/Modify a language
  576. =====================
  577. Alpha has within it (hard coded) routines which understand
  578. certain language features e.g. 370 Assembler labels start in
  579. start in column 1, procedures are invoked by BAL, BAS etc. and
  580. PASCAL procedures are preceded by FUNCTION or PROCEDURE(7) etc..
  581. There are 6 such languages 'understood'  by Alpha, viz. :-   
  582.  
  583. 370 Assembler  
  584.  
  585. 386 Assembler                                                   
  586.           
  587.  
  588. PASCAL (Ada)                                                    
  589.             
  590.  
  591. PL/AS (PL/I, REXX)                                              
  592.              
  593.  
  594. C  
  595.  
  596. FORTRAN   
  597.  
  598.        
  599.  
  600. Because Ada is similar to PASCAL and PL/I & REXX are similar to
  601. PL/AS, in respect to procedure calls etc., you can also analyse
  602. these languages by pretending they are type 3 & 4 respectively.
  603. However, you can interpret any language/file type (use the
  604. highlighting facility) by supplying extra definitions in a
  605. profile which is specified as a parameter to Alpha e.g.         
  606.      
  607.  
  608.   
  609.  
  610. START ALPHA /p profile_name          
  611.  
  612.                                                                 
  613.                                                         
  614.  
  615. A sample profile (ALPHA.PRF) is provided in the package, which
  616. includes comments explaining the use of the keywords. This may
  617. be edited to change/add a file extension
  618. by modifying the following keywords :-     
  619.  
  620. File_type - list of file extensions up to 64 characters         
  621.              
  622.  
  623. Comment_start - list of comment start character pairs (blank is
  624. ignored)  up to 12                    characters.    
  625.  
  626. Comment_end - list of comment end character pairs (blank is
  627. ignored)  up to 12                    characters.
  628.  
  629. Precedent_C - list of procedure keywords for language 5 which
  630. precede a procedure                  definition, up to 64
  631. characters.                                       
  632.  
  633. Language_colour - list of keyword definitions                   
  634.                                 
  635. file_type,keyword,colour,maximum scan length      
  636.  
  637. Language_operator - list of language operator values and
  638. attributes
  639.  
  640.      file_type,atributes,keyword     
  641.  
  642.                                                                 
  643.                 
  644.  
  645. e.g. to add language XYZ with a routine call 'ICALL
  646. routine_name'  with similar structure to PL/S the profile would
  647. include the following statements :-          
  648.  
  649.                                                                 
  650.                                                            
  651. File_type="A37,ASM,PAS,XYZ,C,FOR,"                              
  652.                
  653.  
  654. Language_colour                                                 
  655.                
  656.  
  657. XYZ,ICALL,DARKGREEN,72                                          
  658.             
  659.  
  660. XYZ,Next_key ,RED,72                                            
  661.                
  662.  
  663. .END   
  664.  
  665. Language_operator
  666.  
  667. XYZ,>C,ICALL
  668.  
  669. .END                     
  670.  
  671. Only the first 6 language types will allow the Expand and
  672. Structure operations to be effective. This implies that you
  673. could not use all the features of Alpha for a new language which
  674. did not have the call/label syntax of one of the existing
  675. languages.     
  676.  
  677.  
  678.  
  679.  
  680.  
  681. The ALPHA programme scans the keyword table in the order
  682. specified in the profile, so a later entry may replace a former
  683. entry.
  684.  
  685.  
  686.  
  687. Writing a parser exit DLL
  688. =========================
  689. If the DLL, ALPHAE.DLL, has been provided in the LIBPATH then the procedure
  690. Alpha_parse_exit will be called from the WM_PAINT child window procedure.
  691. A sample source module ALPHAE.C is provided which may be used to create
  692. a DLL with a parser exit procedure. This module may be used to write the records
  693. to the child window.
  694.  
  695.  
  696.  
  697. Changes to the ALPHA package since August 1994
  698. ===============================================
  699.  
  700. 1) Ctrl+h - Hide/restore selected records.
  701. 2) Parse exit from WM_PAINT procedure.
  702. 3) Delete - erase a single character or the selected area.
  703. 4) Tool bar in menu.
  704. 5) Language_colour may contain forground and background colours.
  705. 6) Ctrl + mouse button 2 will cause a non-case sensitive search.
  706. 7) Ctrl+b - will re-insert the last deleted records.
  707. 8) Option Box - set box mode select.
  708. 9) Space+Ctrl - clear select area.
  709.  
  710. Notes
  711. =====
  712. 1 The data in the Allocate COMBO will be passed without
  713. modification to the Transfer_pgm.
  714.  
  715. 2 The COMBO box will hold the previous three search strings
  716. entered.
  717.  
  718.  
  719.  
  720. 3 The colours may take the values :BLUE, DARKCYAN, BLACK,
  721. DARKBLUE, DARKPINK, DARKGRAY, DARKRED, DARKGREEN, BROWN, CYAN,
  722. RED, GREEN ,PINK, YELLOW, PALEGRAY, DEFAULT, WHITE, 
  723. ORANGE, PURPLE, PALEGREEN, PALEBLUE, COLOUR1.
  724. {The last five colours will not be available on VGA screens.
  725. The COLOUR1 value may be set by the sliders and will be remembered
  726. when Alpha is closed.}
  727.  
  728.  
  729.  
  730.  
  731.  
  732. 4 If mouse button 1 is held down and moved to the bottom or top
  733. of the window the window will continue to scroll untill the
  734. button is released or the mouse is moved back within the window.
  735.  
  736. 5 The ALPHA2.HLP file must be installed in the HELP path.
  737.  
  738. 6 A sample profile is supplied with the name ALPHA.PRF. This
  739. file may be edited to alter the programme defaults. The profile
  740. is read by specifying /p as a parameter to the programme. 
  741.  
  742.  
  743.  
  744. 7 These keywords and attributes may be specified by the
  745. Language_operator keyword in the profile.
  746.  
  747. =============== End of Alpha text file =============================
  748.