home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club 1995 March / SOFM_Mar1995.bin / pc / os2 / alphal / alpha1.hlp (.txt) < prev    next >
OS/2 Help File  |  1995-01-27  |  40KB  |  696 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. Overview ΓòÉΓòÉΓòÉ
  3.  
  4.           (C) Copyright International Business Machines Corporation 1993.
  5.                                 All rights Reserved.
  6.  
  7.                                  Augustus MMDCCXLIII AUC
  8.  
  9.  
  10.                           IBM United Kingdom Laboratories Ltd.
  11.  
  12. This program may be of interest to those people who examine 370, 386 assembler, 
  13. PASCAL(Ada), PL/AS(PL/I, REXX), C and FORTRAN etc. under OS/2. It was developed 
  14. along with the CMS programme ANALYSE as part of the CICS restructure project to 
  15. help understand convoluted 370 assemble programmes. 
  16.  
  17. This programme will provide basic browse functions for all files with a record 
  18. size =<256 as well as highlighting specified keywords and allowing user defined 
  19. Marker references and flow lines, and for language files such as 370 & 386 
  20. Assemble, PASCAL, PL/AS, C, and FORTRAN etc. ALPHA will also draw branch flow 
  21. lines from 'Jump/GOTO' instructions to labels in the same window, will display 
  22. the programme call structure, and expand the procedure call in a secondary 
  23. window. 
  24.  
  25. The programme is written in PASCAL and MASM for OS/2 using Presentation Manager 
  26. calls. 
  27.  
  28.  
  29. ΓòÉΓòÉΓòÉ 2. Installation ΓòÉΓòÉΓòÉ
  30.  
  31. The minimum requirement is to transfer the binary file 'ALPHA EXEBIN' to a 
  32. directory on your PS/2 as 'ALPHA.EXE'. 
  33.  
  34. If you want different colours, fonts etc. you can copy the text file 'ALPHA 
  35. PRF' to the PS/2 as 'ALPHA.PRF' and edit the file. You can also install the 
  36. 'Alpha' fonts by transferring the binary file 'ALPHA FONBIN' to the PS/2 as 
  37. 'ALPHA.FON' and using the 'Add font' command of the Installation menu on the 
  38. 'Control Panel' of OS2 V1.3. On OS/2 V2.x select 'System Setup' from 'OS/2 
  39. System' and use 'Add' in the 'Edit font' of the 'Font Palette'. 
  40.  
  41. If you wish to access files from the host then you should also install a 
  42. Transfer_pgm such as ALMCOPY from the OS2TOOLS disk. You can send commands to 
  43. the host if you also install a Command_pgm such as OS2CMD. 
  44.  
  45. If you wish to access the OS/2 help file, ALPHA.HLP, it must be installed in 
  46. the HELP path. 
  47.  
  48.  
  49. ΓòÉΓòÉΓòÉ 3. Starting up Alpha ΓòÉΓòÉΓòÉ
  50.  
  51. The syntax for starting up the Alpha programme is :- 
  52.  
  53. [C:\]<START> ALPHA <file name> </p <profile name>> </m>
  54.  
  55. Where the option /m may be specified to cause the programme to be started 
  56. minimised. This is intended for use in the 'STARTUP.CMD' file as an alternative 
  57. to having the programme in the "Group - main" window, e.g. START ALPHA /p /m 
  58.  
  59. The option /p may be specified to cause the file of initial values of colours, 
  60. font etc. to be read. The default file name for this profile is 'ALPHA.PRF'. 
  61. This file may be used to set alternative start up values such as the keyword 
  62. colours, see Profile. If a file name is not supplied on the OS/2 command line 
  63. then the first display will ask for the file name to be browsed. The Enter key 
  64. or Enter button should be used to terminate the string, e.g. 
  65.  
  66.     C:\WORK\TEST.A37<Enter_key>
  67.  
  68. On OS/2 V1.3 if  is minimised or active with or without a file allocated and 
  69. the file manager window is active then a selected file may be moved from the 
  70. file manager window by dragging mouse button 2 and releasing it over the  icon 
  71. or main window. This will cause the new file to be allocated. 
  72.  
  73. Note:  If the window fails to appear the error, WinGetLastError, is written to 
  74.        the OUTPUT device. 
  75.  
  76. This should be directed to a printer or file e.g. ALPHA >PRN | >file_name 
  77.  
  78.  
  79. ΓòÉΓòÉΓòÉ 4. Description ΓòÉΓòÉΓòÉ
  80.  
  81. This programme may be used to browse any file with a record size =<256 and may 
  82. also be used with language files such as :- 370, 386 assembler, PASCAL(Ada), 
  83. PLS C, or PL/AS(PL/I, REXX) programmes etc. on a PS/2 under OS/2 to help in 
  84. analysing their structure. 
  85.  
  86. The basic browse functions are :- 
  87.  
  88.   1. Home - Move to top of file 
  89.  
  90.   2. End - Move to end of file 
  91.  
  92.   3. Page_up - scroll up 1 screen 
  93.  
  94.   4. Page_down - scroll down 1 screen 
  95.  
  96.   5. F7 - scroll up 1/2 screen 
  97.  
  98.   6. F8 - scroll down 1/2 screen 
  99.  
  100.   7. F19 (Shift+F7) - scroll left 1/2 screen 
  101.  
  102.   8. F20 (Shift+F8) - scroll right 1/2 screen 
  103.  
  104.   9. The Horizontal and Vertical scroll bars. 
  105.  
  106.  The mouse button 1 when pressed will isolate the addressed string using ' ', 
  107.  ',', '+' etc. as separators, and highlight it and all references in the window 
  108.  or as the file is browsed. 
  109.  
  110.  In Locate mode if mouse button 1 is pressed twice (double clicked) then the 
  111.  isolated string will become a search argument. If mouse button 2 is pressed 
  112.  once (clicked) then the next occurrence of the search argument will be 
  113.  located. If mouse button 2 is double clicked then the search will start at the 
  114.  top of the file. 
  115.  
  116.  In Expand mode if mouse button 1 is double clicked then the search string is 
  117.  assumed to be a label or procedure name and a second window is opened with the 
  118.  procedure code provided the label/routine name can be found see Expand. 
  119.  
  120.  Search commands may be issued from the command window see Command window, 
  121.  which may be invoked by the F6 key or the system menu icon 
  122.  
  123.  When the main window is displayed keywords which are associated with the file 
  124.  extension will be highlighted using the colours specified in the profile. 
  125.  
  126.  With Flow on for language files branch flow lines will be drawn from 
  127.  'Branch/GOTO' instructions to labels in the same window. 
  128.  
  129.  If the profile specifies Read_file=Yes, the default, then the the file may be 
  130.  browsed as soon as the window is opened, performance then improves once the 
  131.  file is read in. If the profile specifies Read_file=No then only 120 records 
  132.  from the file are read in to storage and scrolling takes place within this 
  133.  buffer unless F4+Ctrl is pressed when the whole file is read in to memory 
  134.  asynchronously. As the file is scrolled up/down extra pages are read in to the 
  135.  buffer. The affect is that on scrolling upwards, after the window is 
  136.  displayed, there may be a pause (hour glass symbol) while extra data is read 
  137.  in. 
  138.  
  139.  Small parts (=<window size) of the file may be remembered and redisplayed by 
  140.  using the Clipboard function. Drag the mouse with button 1 down over the lines 
  141.  to be saved and press Ctrl+Insert to save the highlighted lines. To redisplay 
  142.  the saved lines press Shift+Insert. The lines are displayed from the cursor 
  143.  position onwards. The highlighted records may be printed on LPT1 by pressing 
  144.  Insert+Alt. 
  145.  
  146.  
  147. ΓòÉΓòÉΓòÉ 4.1. Function keys ΓòÉΓòÉΓòÉ
  148.  
  149.  
  150. The following keys are effective for the programme:- Mouse button 1 will 
  151. isolate and highlight the text. If button 1 is pressed twice then the 
  152. highlighted string may then be used as a search argument by button 2. 
  153. Mouse button 2 will scan from the current position to the end of file for the 
  154. locate string, i.e. the string isolated by button 1 or by use of a locate 
  155. command from the command window (F6). If the mouse button 2 is pressed twice 
  156. then the scan will start from the top of the file. 
  157.  
  158. F1 is the help key see Help window. 
  159.  
  160.  F1+Alt will display/hide the current status of the programme.
  161.  
  162. F2 will change the font. The System Monospaced font is the default font, unless 
  163. the Alpha font is installed. 
  164. F3 will terminate programme 
  165. F4 will allocate a new file see Allocate window 
  166.  
  167.  F4+Ctrl will read the currently assigned file in to memory.
  168.  
  169. F5 will repeat the previous command 
  170. F6 will issue a command 
  171. F7 scroll up 1/2 screen. 
  172. F8 scroll down 1/2 screen. 
  173. F9 switch on/off comment suppression. A sequence of blank or comment lines will 
  174.      be compressed to a single line of  provided that the file is read in. The 
  175.      comment lines must begin with characters specified in Comment_start and 
  176.      terminate with the characters specified in Comment_end. 
  177.  F10 not used. 
  178.  F11 not used. 
  179.  F12 will move the mouse button 1 focus line to the centre of screen. 
  180.  
  181.     F12+Ctrl will switch on/off the scale line in the centre of the window.
  182.  
  183.  F13 (shift+F1) will display the programme structure. 
  184.  F14 (shift+F2) will change the text colours. 
  185.  F17 (shift+F5) will locate the next Marker. 
  186.  F19 (Shift+F7) will scroll left 1/2 line. 
  187.  F20 (shift+F8) will scroll right 1/2 line. 
  188.  F24 (shift+F12) will reset the horizontal scroll, clear line markers etc. 
  189.  Page_Up will scroll up one page. 
  190.  Page_Down will scroll down one page. 
  191.  Home key will move to top of file. cruise xb1 End  key will move to end of 
  192.  file. 
  193.  Insert+Ctrl will place mouse Button 1 drag area in Clipboard. 
  194.  Insert+Shift will copy Clipboard text to mouse Button 1 position - cursor. 
  195.  Insert+Alt will write the highlighted records to LPT1. 
  196.  Ctrl+Delete will remove the highlighted records, mouse button 1 drag area, 
  197.  from the window display. 
  198.  Shift+Delete will restore the deleted records to the window display. 
  199.   and  keys will move the cursor. 
  200.  The scroll arrows, slider etc. and Page up or Page down keys may be used for 
  201.  browsing. 
  202.  Enter key will terminate an input string or refresh the screen. 
  203.  
  204.  
  205. ΓòÉΓòÉΓòÉ 4.2. Help window ΓòÉΓòÉΓòÉ
  206.  
  207. This window may be invoked by the F1 key or the Help button on the command 
  208. window. The window may be scrolled by :- 
  209.  
  210.   1. Page_up - scroll up 1 screen 
  211.  
  212.   2. Page_down - scroll down 1 screen 
  213.  
  214.   3. Home - scroll to the top of the Help data 
  215.  
  216.   4. End - scroll to the end of the Help data 
  217.  
  218.   5. F7 - scroll up 1/2 screen 
  219.  
  220.   6. F8 - scroll down 1/2 screen 
  221.  
  222.   7. The Page_Up key word at the bottom of the window will scroll up 1 screen 
  223.      if selected by mouse button 1. 
  224.  
  225.   8. The Page_Down key word at the bottom of the window will scroll down 1 
  226.      screen if selected by mouse button 1. 
  227.  
  228.   9. Access to the OS/2 help file ALPHA.HLP is provided by selecting the ? from 
  229.      the system menu. 
  230.  
  231.  The Help window may be cancelled by F3, the Cancel button or by Enter. 
  232.  
  233.  
  234. ΓòÉΓòÉΓòÉ 4.3. Allocate window ΓòÉΓòÉΓòÉ
  235.  
  236. The File Allocate window will be created by the F4 key or from the Allocate 
  237. menu item of the command window. The file may be selected from the List box or 
  238. typed in to the Entry box. The drive may be changed by selecting [a:] from the 
  239. List box or typing the drive letter followed by a ':' e.g. 'a:' in the Entry 
  240. box. The Path may be changed by selecting a directory name from the List box or 
  241. by typing the path name in the Entry box e.g. 'C:\WORK'. The COMBO box will 
  242. hold the last three allocate texts which have been entered. 
  243.  
  244. A host file may be received and allocated by entering 
  245.  
  246. >H:fn ft fm PC_file_name
  247.  
  248. this string is passed to Transfer_pgm (ALMCOPY) {without the '>' and with '/Q' 
  249. appended} which must be installed on the PS/2. If Transfer_pgm fails the return 
  250. code is displayed in red and the Entry text is left to be edited. If the 
  251. requested file can not be allocated then the allocate window together with an 
  252. error message will be displayed. 
  253.  
  254. A host command may be executed by entering '<host command'; this string is 
  255. passed to Command_pgm (OS2CMD) {without the '<'} which must be installed on the 
  256. PS/2. 
  257.  
  258. If the DosExecPgm call fails for either Transfer_pgm or Command_pgm then the 
  259. error code is displayed in black. 
  260.  
  261. Note:  If the Allocate window can not be contained in the main window then it 
  262.        will be made sysmodal; i.e. it must be closed before other windows can 
  263.        be used. The programme has been tested on an 8513 screen and the default 
  264.        Window and Default_chr values may not be suitable for 8515 & 8514 
  265.        screens. For 8515 type screens more suitable values for the Window & 
  266.        Default_chr keywords in the profile might be Window=(0,60,800,600) and 
  267.        Default_chr=(14,20), for example. 
  268.  
  269.  
  270. ΓòÉΓòÉΓòÉ 4.4. Command window ΓòÉΓòÉΓòÉ
  271.  
  272. This window may be invoked by the F6 key or the system menu icon The following 
  273. commands may be issued :- 
  274.  
  275.   1. +n - scroll down n lines 
  276.  
  277.   2. -n - scroll up n lines 
  278.  
  279.   3. <n - scroll left n characters 
  280.  
  281.   4. >n - scroll right n characters 
  282.  
  283.   5. :n - go to record n 
  284.  
  285.   6. / - Search for string, not case dependent, from the current position in 
  286.      the file 
  287.  
  288.   7. " - Search for string, as typed, from the current position in the file 
  289.  
  290.   8. ' - Search for string, as typed, from the current position in the file but 
  291.      only in column 1 
  292.  
  293.   9. (s-e)>file_name - will copy records from the current file starting at s 
  294.      and ending with e to the file file_name; file_name may be 'LPT2' etc., an 
  295.      existing file or a new file. If the end record number is '*' then the file 
  296.      is copied to end-of-file. 
  297.  
  298.  10. (s-e)- - will remove the records from the window. 
  299.  
  300.  11.  &  will cycle through the last 6 commands. 
  301.  
  302.  12. The Delete|Backspace key will delete a character from the input text. 
  303.  If the first character is invalid then the line will be filled red until it is 
  304.  deleted. F3 or ENTER will close the window and enter the command. The cancel 
  305.  button will remove the window; only this child window will receive input until 
  306.  it is terminated. 
  307.  
  308.  The Help button will start the Help summary widow or access the OS/2 help file 
  309.  ALPHA.HLP. 
  310.  
  311.  The Flow button will switch on/off the drawing of flow lines. These lines are 
  312.  drawn for language files from 'Branch/GOTO' instructions to labels within the 
  313.  window. 
  314.  
  315.  The Expand/Locate button will switch on/off the label expansion. The isolated 
  316.  label is expanded by locating the routine and opening a second window 
  317.  containing the code. The mouse button 1 must be pressed twice (double clicked) 
  318.  to cause the label to be located. A depth of 8 expand windows is allowed, and 
  319.  each window may be scrolled using the scroll bar, Page_Up, Page_Down, etc. The 
  320.  file must be read in to storage to use this facility. The Expand window may be 
  321.  closed by F3 or the CALL menu item when the main window will remain at the 
  322.  CALL. If the Routine menu is clicked then the main window will scroll to the 
  323.  expand text, i.e. the called code line may be passed back to the higher level 
  324.  window. The Locate menu or F6 will perform a case sensitive forward search 
  325.  from the current line+1. F5 will repeat the previous locate. If Button 2 is 
  326.  double clicked after moving to the expanded label then the window will be 
  327.  moved back to the previous line, i.e. return to point of call. The label 
  328.  searched for is succeeded by ":" for PLS and preceded by "FUNCTION" or 
  329.  "PROCEDURE" in PASCAL. The label searched for is preceded by "char", "extern", 
  330.  "far", "int", "long", "pascal", "pointer", "short",  "static" or "void" if the 
  331.  language type is C The label searched for is preceded by "FUNCTION" or 
  332.  "SUBROUTINE" if the language is FORTRAN. 
  333.  
  334.  The operators for langauages other than the C-language may be specified by the 
  335.  Language_operator  keyword in the profile. 
  336.  
  337.  The Mark button will switch on/off the drawing of user flow lines defined by 
  338.  the mouse button 1, or the setting of a marker. Up to 16 user lines or markers 
  339.  may be associated with the file. If mouse button 1 is double clicked then a 
  340.  marker will be associated with the line. If mouse button 1 is pressed once 
  341.  then it will delimit the ends of a flow line. The markers or flow lines remain 
  342.  associated with the record until F24 (Shift+F12) is pressed. The markers 
  343.  enable places within the file to be remembered and recalled by (Shift+F5). 
  344.  
  345.  The Options menu may be selected to change the state of the following options 
  346.  
  347.   1. Transient Options - reset when a new file is allocated. 
  348.  
  349.      a. Comment Suppression - replace a block of comment lines by one 
  350.         highlighted line of . 
  351.  
  352.      b. Statement # - will display the current line number in the TITLE bar. 
  353.  
  354.      c. Scale - place a scale line in the middle of the window. 
  355.  
  356.      d. Status - indicate in the top left of the window the current status of 
  357.         file reading etc. 
  358.  
  359.   2. Permanent Options - remain set when a new file is allocated. 
  360.  
  361.      a. Quiet - suppress the beep which indicates that the file is read in to 
  362.         storage. 
  363.  
  364.      b. Read_file_when_allocated - when the file has been allocated read it in 
  365.         to storage by attaching a subtask. The file may be browsed whilst this 
  366.         is in progress but the reading of the file in to storage will be 
  367.         slower. 
  368.  
  369.      c. Record_structure - for language files this will cause the calling 
  370.         structure to be recorded when the file has been read in. 
  371.  
  372.      d. Tab - recognize tab characters, X'09', and skip to n*8. 
  373.  
  374.      e. Proportional - use the font spacing for writing the characters rather 
  375.         than the character size; this will allow proportional fonts to be used 
  376.         however these are not suitable for displaying code. 
  377.  
  378.      f. Keyword - allow or suppress the keyword highlighting. 
  379.  The Allocate menu will create the Allocate window, see Allocate window. 
  380.  
  381.  The Structure menu may be used to display the call structure for 370, 386 
  382.  assembler, PASCAL, PL/AS, C and FORTRAN programmes provided that the 
  383.  Record_structure option is effective when the file is read in. For 370 
  384.  assembler the structure is based on BAL, BAS, DFHSTACK, for 386 assembler 
  385.  CALL, PROC instructions, for PASCAL PROCEDURE, FUNCTION , keywords, for C 
  386.  char, extern, far, int, long, pascal, pointer, short, static or void keywords, 
  387.  for PL/AS PROC, CALL, keywords, for FORTRAN FUNCTION, SUBROUTINE, CALL, 
  388.  keywords {Labels >=27 characters are ignored}. If an entry is selected from 
  389.  the Programme Structure List Box then the main window is scrolled to that 
  390.  line. The Print button may be used to print the contents of the List box on 
  391.  LPT1. 
  392.  
  393.  The Font menu may be used to dynamically change the font and character size; 
  394.  the change is not saved in the profile, see FONTs. 
  395.  
  396.  The Colour menu may be used to dynamically change the text colours. The 
  397.  language keyword colours must be specified in the profile. 
  398.  
  399.  
  400. ΓòÉΓòÉΓòÉ 4.5. FONTs ΓòÉΓòÉΓòÉ
  401.  
  402. You can specify the initial/default font in the profile by using the Font 
  403. keyword in the profile, or you can change the font dynamically by invoking the 
  404. Font window. 
  405.  
  406. You can use the System Monospaced, Helvetica, Roman and Courier fonts but the 
  407. Courier font and the System Monospaced are the only monospaced fonts supplied 
  408. with OS/2. A monospaced font with point sizes 8,9,10,11,16 & 20 is supplied 
  409. with the ALPHA PACKAGE, which may also be used. See Installation for the 
  410. installation of the Alpha Fonts. The fonts are then requested by specifying 
  411. Font="Alpha",(10) etc. in the profile. The font type or face_name and size may 
  412. be selected by the Font and Character_size keywords in the profile. If a 
  413. profile is not supplied then the "Alpha",(10) {(16) for 8515/8516 screens} font 
  414. will be used if it is installed and a character_size of (8,14) else the "System 
  415. Monospaced",(10) font will be used and a character_size of (8,16). Outline 
  416. fonts are not selectable. 
  417.  
  418. If the point size is not specified then the font is selected by using the 
  419. Character_size. Point sizes (1/72") are :- Courier (8,10,12), Roman 
  420. (8,10,12,14,18,24), Helvetica (8,10,12,14,18,24), System (8,10,12, {8x8, 8x16, 
  421. 9x20}), "Alpha" (8{8x12}, 9{9x10}, 10{8x14}, 11{11x12}, 16{12x16}, 20{12x20}). 
  422. If the point size is specified but an image font does not exist for this 
  423. nominal point size then the outline font, if available, will be used and scaled 
  424. by the Character_size. The font may be requested by face_name, e.g. 
  425. Font="Alpha",(8). 
  426.  
  427.  
  428. ΓòÉΓòÉΓòÉ 4.6. Profile ΓòÉΓòÉΓòÉ
  429.  
  430. A profile may be specified defining the following keyword values :- 
  431.  
  432.  
  433. {Colours may take the values :- BLUE, DARKCYAN, BLACK, DARKBLUE, DARKPINK, 
  434. DARKGRAY, DARKRED, DARKGREEN, BROWN, CYAN, RED, GREEN ,PINK, YELLOW, PALEGRAY, 
  435. DEFAULT, WHITE} 
  436.  
  437.  
  438. Text_colour specifies the colour of the window text. 
  439. Highlight_colour is used for the isolate function of mouse button 1. 
  440. Locate_colour is used for the argument for the locate function 
  441. Comment_colour The first comment_colour is used for comment line beginning :- 
  442.  
  443. /*, {, *, ;, C
  444.  
  445. and for the 'scale' background. The second comment_colour is  used for the 
  446. compressed comment line and for the Clipboard highlight. 
  447. Branch_colour is used for 370, 386 branch instructions. 
  448. Expand_colour is used for the text in the label expansion window 
  449. Back_ground is use to specify the main window background colour. 
  450. File_type specifies the File types to be recognized. The string must be =<64 
  451. characters and terminated by a comma. The first 6 types are used for :- 
  452.  
  453.   1 370 assembler
  454.   2 386 assembler
  455.   3 PASCAL, (Ada)
  456.   4 PL/S, PL/AS, PL/I  etc., (REXX)
  457.   5 C
  458.   6 FORTRAN
  459.  For REXX files use :- "A37,ASM,PAS,CMD,C,FOR," and replace the PLS entries
  460.  For Ada  files use :- "A37,ASM,ADA,PLS,C,FOR," and replace the PAS entries
  461.  
  462. Comment_start specifies the first two characters of the start of a comment. The 
  463. string must be =<12 characters.  The 6 pairs are used for :- 
  464.  
  465.   1 370 assembler
  466.   2 386 assembler
  467.   3 PASCAL, for Ada specify Comment_start="* ; --/*/*C "
  468.   4 PL/S, PL/AS etc.
  469.   5 C
  470.   6 FORTRAN
  471.  
  472. Comment_end specifies the last two characters of the end of a comment. The 
  473. string must be =<12 characters.  The 6 pairs are as in Comment_start. 
  474. Precedent_C specifies the C language procedure keywords. The string must be 
  475. <=64 characters and terminated by a comma. 
  476. Precedent_C="char,extern,far,int,long,pascal,pointer,short,static,void," 
  477. Language_colour  defines the highlight colours for key words. Up to 128 entries 
  478. may be defined as follows :- 
  479.  
  480.  file_type,key_word,colour,scan_length
  481. and are terminated by .END, invalid entries are ignored. The key words must be 
  482. =<12 characters. 
  483. Language_operator defines the operator keywords for each language. The second 
  484. value indicates how to process the keyword, viz. '<' or '>' indicate the scan 
  485. direction from the keyword to locate the label 'P' or 'C' indicates that the 
  486. keyword specifies an entry point or call, ':' indicates that the label will be 
  487. followed by a colon, '2' indicates that the second label following a , is to be 
  488. used. Up to 32 entries may be defined as follows :- 
  489. file_type,<|>C|P[:][2],keyword and are terminated by '.END', invalid entries 
  490. are ignored. The keywords must be <=12 characters. {The C-language procedure 
  491. values are supplied on the Precedent_C keyword.} 
  492. Font  may take the values :- 
  493. Courier|System|Helvetica|Roman|Alpha<,Bold|Italic><,(Point_size)> or a face 
  494. name may be specified e.g. Font="Alpha",(10) 
  495. Character_size specifies the (width,height) of the characters The character 
  496. width is used to select the size of the font if the  point size is not 
  497. specified on the "Font" keyword. 
  498. Read_file takes the value Yes|No and specifies whether the file is to be read 
  499. in after allocation. 
  500. Flow takes the value On|Off and specifies whether to draw flow lines from 
  501. branch statements to labels. 
  502. Expand takes the value On|Off and specifies that Expand mode will be effective 
  503. once the file is read in. 
  504. Marker takes the value On|Off  and specifies whether mouse button 1 will define 
  505. marker values. 
  506. Language takes the values :- 
  507.  
  508.  *<,Language> - determine the language from the file suffix.
  509. If a Language is all so  given then this will be the default if the file type 
  510. can not be found in "File_type", e.g. Language=*,PAS.  For PL/I use 
  511. Language=PLS etc. 
  512.  
  513.  A37 - 370 assemble
  514.  ASM - 386 macro assemble
  515.  PAS - Pascal
  516.  PLS - PL/S or PL/AS etc.
  517.  C  - C language
  518.  FOR - FORTRAN
  519.  
  520. Default_chr specifies the default character width and height used for scaling 
  521. the Allocate and Command dialogue boxes. The default value is (10,16) {(14,20) 
  522. for 8515/8516 screens}. 
  523. Window specifies the initial window position. If no profile is specified then 
  524. Window=(0,4h,63.5w,26h) {(0,120,1020,650) - for 8515/8516 screens} is assumed 
  525. where w and h are the Default_chr  width & height. 
  526. Quiet will suppress the beep on completion of file read. 
  527. Record_structure will record the CALL structure for 370 & 386 assembler, 
  528. PASCAL, PL/AS, C and FORTRAN programmes, as the file is read in to memory. 
  529. Tab will use X'09' as the tab character to move to column n*8 when file is 
  530. read. 
  531. Proportional will use the Font character spacing rather than the Character 
  532. width to place the characters. 
  533. Keyword will highlight the specified keywords. 
  534. Statement_number sets the display of the statement number On|Off 
  535. Command_pgm specifies the programme name invoked by <. 
  536. Transfer_pgm specifies the programme name invoked by >. Alpha has within it 
  537. (hard coded) routines which understand certain language features e.g. 370 
  538. Assembler labels start in start in column 1, procedures are invoked by BAL, BAS 
  539. etc. and PASCAL procedures are preceded by FUNCTION or PROCEDURE etc.. There 
  540. are 6 languages understood by Alpha, viz. :- 
  541.  
  542.  
  543.  1 370 Assembler
  544.  2 386 Assembler
  545.  3 PASCAL (Ada)
  546.  4 PL/AS (PL/I, REXX)
  547.  5 C
  548.  6 FORTRAN
  549.  
  550. Because Ada is similar to PASCAL and PL/I & REXX are similar to PL/AS, in 
  551. respect to procedure calls etc., you can also analyse these languages by 
  552. pretending they are type 3 & 4 respectively. 
  553.  
  554.  
  555. However, you can interpret any language/file type (use the highlighting 
  556. facility) by suppling extra definitions in a profile which is specified as a 
  557. parameter to Alpha e.g. 
  558.  
  559.  
  560.  START ALPHA /p profile_name
  561.  
  562. A sample profile (ALPHA.PRF) is provided in the package, which includes 
  563. comments explaining the use of the keywords. This may be edited to change/add a 
  564. file extension, highlighting and programme structure by modifying the following 
  565. keywords :- 
  566.  
  567.  
  568.  File_type - list of file extensions up to 64 characters
  569.  Comment_start - list of comment start character pairs
  570.               (blank is ignored) up to 12 characters
  571.  Comment_end - list of comment end character pairs
  572.               (blank is ignored) up to 12 characters
  573.  Language_colour - list of keyword definitions
  574.           file_type,keyword,colour,maximum scan length
  575.  Language_operator - list of operator definitions
  576.           file_type,attributes,keyword
  577.  
  578. e.g. to add language XYZ with  a routine call 'ICALL routine_name' with a 
  579. structure similar to PLS. 
  580.  
  581.  
  582. File_type="A37,ASM,PAS,XYZ,C,FOR," 
  583. Language_colour 
  584. XYZ,ICALL,GREEN,72 
  585. XYZ,Next_key ,RED,72 
  586.  
  587. Language_operator 
  588. XYZ,>C,ICALL 
  589.  
  590. Only the first 6 language types will allow the Expand, Flow and Structure 
  591. operations to be effective. This implies that you could not use all the 
  592. features of Alpha for a new language which did not have the call/label syntax 
  593. of one of the existing languages. 
  594.  
  595.  
  596. The Alpha programme scans the keyword table in the order specified in the 
  597. profile to the comment start in the record for a maximum of 16 found entries. A 
  598. keyword_found array is created and the text is written by running down the 
  599. array from the last to the first so if the entries in the profile were in the 
  600. order :- 
  601.  
  602.  
  603. PLS, END LOOP,GREEN,72 
  604. PLS, END,DARKCYAN,72 
  605.  
  606.  
  607. Then the 'END LOOP' would overwrite the 'END'; spaces are significant. The 
  608. following is the sample profile which may be edited to change the startup 
  609. values :- ALPHA.PRF 
  610.  
  611.  
  612. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  613.  
  614. Specify Language=PLS in the profile for PL/S, PL/AS etc. or use a file type of 
  615. ".PLS". Because PL/I is similar to PL/AS you can use this file type for PL/I 
  616. files. For REXX files, extension ".CMD", replace PLS by CMD in the File_type 
  617. and replace the PLS entries in the Language_colour by the CMD entries. {Only 
  618. "CALL" or "call" subroutine calls will be recognized.} For Ada files, extension 
  619. ".ADA", replace PAS by ADA in the File_type and replace the PAS entries by the 
  620. ADA entries in the profile. Also specify Comment_start="* ; --/*/*C " for the 
  621. Ada comment start characters. 
  622.  
  623.  
  624. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  625.  
  626. Up to 128 language keywords may be specified with their corresponding colour 
  627. and the length of the record to be scanned. Only the first 16 key words on the 
  628. line will be highlighted and the search order is the order specified in the 
  629. profile. The keyword must be =<12 characters. The File_type keyword in the 
  630. profile may be used to introduce extra file types but the first 6 types are 
  631. assumed to refer to :- 370 assembler, 386 assembler, PASCAL, PL/AS, C and 
  632. FORTRAN in that order. 
  633.  
  634.  
  635. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  636.  
  637. Only the first 256 characters of a record are read. Once the file is read in 
  638. there is an internal switch over. If a locate etc. was in progress at the time 
  639. of the switch over the window may not display the line found; it may be 
  640. necessary to repeat the command e.g. F5. 
  641.  
  642.  
  643. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  644.  
  645. This function may be selected from the Command window which may be brought up 
  646. from the system menu icon 
  647.  
  648.  
  649. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  650.  
  651. The statement number is displayed in the TITLE bar. R indicates that the file 
  652. is being read in to memory, S indicates that the programme structure is being 
  653. recorded. 
  654.  
  655.  
  656. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  657.  
  658. A separate thread is attached to read in the file whilst the file may continue 
  659. to be browsed within the 120 record buffer. The scrolling of the file will be 
  660. much faster but there may be some degradation of performance while the file is 
  661. read in to store. A maximum of 21,844 records can be read in if there is enough 
  662. memory available. When the file is read in there is a beep of 1760HZ and then 
  663. one of 880HZ to indicate that recording of the programme structure is complete, 
  664. provided that "Quiet=No" is specified in the profile. 
  665.  
  666.  
  667. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  668.  
  669. This window may also be created from the system menu icon A child window is 
  670. created in to which may be typed the command. 
  671.  
  672.  
  673. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  674.  
  675. The line on which mouse button 1 was last pressed. 
  676.  
  677.  
  678. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  679.  
  680. If the mouse button 1 is kept depressed then the lines or characters will 
  681. scroll at 1 per second until the button is released. If the file is not read in 
  682. then the file size is estimated by adding 1000 every time the internal array is 
  683. filled. In this case the slider may be move to the end of the vertical scroll 
  684. bar before end_of_file is reached and then move up. 
  685.  
  686.  
  687. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  688.  
  689. The file ALPHA.HLP must be installed in the help path. 
  690.  
  691.  
  692. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  693.  
  694. The C language keywords may be specified by the Precedent_C keyword in the 
  695. profile, and the operators for the other languages by the Language_operator 
  696. keyword.