home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-05-25 | 84.3 KB | 2,467 lines |
- .**************************** cover Page *****************************
- .* Use BOOMASTER - PROCM
- .* set T = 'CPTOOLS' for CICS users and set T = 'TOOLS' for
- .* general users
- .se T = 'TOOLS'
- .se date '13 May 1993'
- .se version 'V1.7'
- :gdoc.
- :prolog.
- :docprof duplex=no
- ldrdots=yes.
- :title stitle='Status &date'.
- .* ALPHA
- &Alpha.&lambda.&phi.&alpha.
- :etitle.
- :date.
- :author.Lionel de Lambert
- :docnum.ALPHA &version
- :address.
- :aline.CICS Development
- :aline.IBM United Kingdom Laboratories Ltd.
- :aline.Hursley Park, Winchester
- :aline.Hampshire SO21 2JN
- :eaddress.
- :docprof duplex=no.
- :eprolog.
- :frontm.
- :tipage.
- :synopsis
- :p.This document describes the installation,
- function and commands
- of the ALPHA code analysis and browse programme
- which runs under the OS/2 operating system.
- The languages supported are :-
- 370 and 386 assembler, PASCAL(Ada), PL/AS(PL/I, REXX),
- C and FORTRAN.
- :p.
- .ce 1
- :hp2.(C) Copyright IBM Corp. 1992:ehp2.
- :esynopsis
- :toc.
- :body.
- .**************************** ALPHA *****************************
- :xmp scale='4'.
- .in 35
- :hp2.&Alpha.&lambda.&phi.&alpha.:ehp2.
- .in 0
- :exmp.
- :i1.Alpha
- :h2.Introduction.
- :p.
- This program may be of
- :hp1.
- interest to those people who examine
- 370, 386 assembler, PASCAL(Ada), PL/AS(PL/I, REXX),
- C and FORTRAN etc.
- under OS/2.
- :i1.PL/S
- :i1.PL/AS
- :i1.PL/I
- :i1.REXX
- :i1.370 Assembler
- :i1.386 Assembler
- :i1.C
- :i1.PASCAL
- :i1.Ada
- :i1.FORTRAN
- :ehp1.
- It was developed along with the CMS programme :hp2.ANALYSE:ehp2.
- as part of the CICS restructure project to help understand
- convoluted 370 assemble programmes.
- :p.This programme will provide basic
- browse functions for all files with a record size &le.256
- as well as highlighting specified keywords
- and allowing user defined :hp1.Marker:ehp1. references
- and flow lines,
- and for language files such as
- 370 & 386 Assemble,
- PASCAL, PL/AS, C, and FORTRAN etc. ALPHA will also
- draw branch flow lines from 'Jump/GOTO' instructions to
- labels in the same window, will
- display the programme call
- structure, and expand the procedure call in a
- :i1.Expand
- secondary window.
- :p.
- The programme is written in PASCAL and MASM for OS/2 using
- Presentation Manager calls.
- :h2 id=instal.Installation
- The minimum requirement is to transfer the binary file
- 'ALPHA EXEBIN' to a directory on your PS/2 as 'ALPHA.EXE'.
- :p.
- If you want different colours, fonts etc. you can copy
- the text file 'ALPHA PRF' to the PS/2 as 'ALPHA.PRF'
- and edit the file.
- You can also install the 'Alpha' fonts by transferring the
- binary file 'ALPHA FONBIN' to the PS/2 as 'ALPHA.FON' and
- using the 'Add font' command of the Installation menu on
- the 'Control Panel'.
- On OS/2 V2.0 select
- 'System Setup' from 'OS/2 System' and use 'Add' in the
- 'Edit font' of the
- 'Font Palette'.
- :p.If you wish to access files from the host then
- you should also install ALMCOPY from the OS2TOOLS disk.
- You can send commands to the host if you also install
- OS2CMD.
- .if &T ne CPTOOLS .go lab3
- :nt.For CICS users the module is also on the CPTOOLS disk:-
- .br
- SPLINK CPTOOLS
- .br
- ACCEXT 29B T/T * *
- :p.
- CICS users may browse/analyse CICS code by using CRUISE
- on VM to access the correct level of CICS
- and saying 'CRUISE ( NOMENU O212' etc.
- &lbrc.or saying '<CRUISE ( NOMENU O212'
- in the Allocate window&rbrc.
- to leave the 'E' disk etc. accessed.
- Then from the ALPHA Allocate window issue :-
- :i1.allocate
- .br
- <HSXMOVE DFHZRAC O212-AC E TEMP A Z ( UNPACK &lbrc.to unpack the
- file &rbrc.
- .br
- >H&colon.TEMP
- A Z TEMP.A37 &lbrc.to copy the file on to the PS/2&rbrc.
- :p.
- If you have an :hp2.HSXUPROF:ehp2.
- :i1.installation
- or :hp2.HSXPROF:ehp2.
- on your A-disk
- &lbrc.there is a default one on the Y-disk&rbrc.
- with an entry for ALMCOPY e.g.
- .br
- hsx 'SET ACXFR56A ON '
- .br
- hsx 'SET ACXFR54B ON '
- :p.
- Then issue 'HSXPROF ON' to load HSX on CMS,
- and ALMCOPY will unpack the file when transferring it to the PS/2 so
- you can :hp1.omit:ehp1.
- the HSXMOVE step.
- The ISPCTOOL-200 disk should be accessed for ALMCOPY5
- &lbrc.the CMS side of ALMCOPY&rbrc..
- From &alpha. you would only need to type :-
- .br
- >H&colon.DFHZRAC
- *C * TEMP.A37 etc.
- :ent.
- ...lab3
- :h2.Starting up Alpha
- The syntax for starting up the Alpha programme is :-
- .sk
- &lbrk.C:\&rbrk.<START> ALPHA <file name> </p <profile name>> </m>
- :p.
- Where
- the option :hp2./m:ehp2.
- may be specified to cause the programme to be started minimised.
- This is intended for use in the 'STARTUP.CMD' file as
- an alternative to having the programme in the "Group - main"
- window,
- e.g.
- .sk
- START ALPHA /p /m
- :p.The option :hp2./p:ehp2. may be specified to cause the
- file of initial values of colours, font etc. to be read.
- The default file name for this profile is 'ALPHA.PRF'.
- This file may be used to set alternative start up values
- such as the keyword colours, see :hdref refid=PROF..
- If a file name is not supplied on the OS/2
- command line then
- the first display will ask for the file name to be browsed.
- The Enter key or
- :hp2.Enter:ehp2.
- button
- should be used to terminate the string, e.g.
- .sk
- C:\WORK\TEST.A37<Enter_key>
- :p.If &alpha. is minimised or active with or without a file
- allocated and the file manager window is active then
- a selected file may be moved from the file manager window
- by dragging mouse button 2 and releasing it over the
- &alpha. icon or main window.
- This will cause the new file to be allocated.
- :nt id=invoke.
- If the window
- :hp1.fails to appear:ehp1.
- the error, WinGetLastError, is written
- to the OUTPUT device. This should be directed to a printer or file
- e.g. ALPHA >PRN | >file_name
- :ent
- :h2.Description
- :p.
- This programme may be used to browse
- any file with a record size &le.256
- and may also be used with language files such as :-
- 370, 386 assembler,
- PASCAL(Ada),
- :fnref refid=PLS.
- :fn id=PLS.
- Specify :hp2.Language=PLS:ehp2. in the profile for PL/S, PL/AS etc.
- :i1.profile
- :i1.PL/S
- :i1.PL/AS
- or use a file type of ".PLS".
- Because PL/I is similar to PL/AS you can use this file type for PL/I
- :i1.PL/I
- files.
- For REXX files, extension ".CMD",
- :i1.REXX
- replace PLS by CMD in the
- :hp2.File_type:ehp2. and replace the PLS
- entries in the
- :hp2.Language_colour:ehp2. by the CMD entries.
- &lbrc.Only "CALL" or "call" subroutine calls will be recognized.&rbrc.
- For Ada
- :i1.Ada
- files, extension ".ADA",
- replace PAS by ADA in the
- :hp2.File_type:ehp2.
- and replace the PAS entries
- by the ADA entries in the profile.
- Also specify
- :hp2.Comment_start="* ; --/*/*C ":ehp2.
- for the Ada comment
- start characters.
- :efn.
- .*
- C, or PL/AS(PL/I, REXX)
- :fnref refid=PLS.
- programmes etc.
- on a PS/2 under OS/2 to help in analysing their structure.
- :p.The basic browse functions are :-
- :ol.
- :li.Home - Move to top of file
- :li.End - Move to end of file
- :li.Page_up - scroll up 1 screen
- :li.Page_down - scroll down 1 screen
- :li.F7 - scroll up ½. screen
- :li.F8 - scroll down ½. screen
- :li.F19 (Shift+F7) - scroll left ½. screen
- :li.F20 (Shift+F8) - scroll right ½. screen
- :li.The Horizontal and Vertical scroll bars.
- :eol.
- :p.The mouse button 1 when pressed will isolate the addressed string
- using ' ', ',', '+' etc. as separators,
- and highlight it and all references in the window or as the file is
- browsed.
- :p.
- In :hp2.Locate:ehp2. mode if
- mouse button 1 is pressed twice (double clicked) then
- the isolated string will become a search argument.
- If mouse button 2 is pressed once (clicked)
- then the next occurrence of the search argument will be located.
- If mouse button 2 is double clicked then the search will start
- at the top of the file.
- :p.In :hp2.Expand:ehp2. mode if mouse button 1 is double
- :i1.Expand
- clicked then the search string is assumed to be a label
- or procedure name and a second window is opened with
- the procedure code provided the label/routine name can be found
- see :spotref refid=EXPAND..
- :p.Search commands may be issued from the command window
- see :hdref refid=COMM.,
- which may be invoked by the F6 key or the
- system menu icon :hp2.&alpha.:ehp2.
- &lbrc.Code Page 437; the icon will be &Oa.
- for Code Page 850 etc.&rbrc..
- :p.
- When the main window is displayed keywords
- which are associated with the file extension
- will be highlighted
- using the colours specified in the profile.
- :fnref refid=lan.
- :fn id=lan.
- Up to 128 language keywords may be specified with
- their corresponding colour and the length of the record to be scanned.
- Only the first 16 key words on the line will be
- highlighted and the search order is the order specified
- in the profile.
- :i1.profile
- The keyword must be &le.12 characters.
- The
- :hp2.File_type:ehp2. keyword in the profile
- :i1.File_type
- :i1.Language
- may be used to introduce extra file types but the first 6 types
- are assumed to refer to :- 370 assembler, 386 assembler,
- PASCAL, PL/AS, C and FORTRAN in that order.
- :efn
- .*
- :p.
- With :hp2.Flow:ehp2. on for language files branch flow lines will
- be drawn from 'Branch/GOTO' instructions to labels in the
- same window.
- :p.
- If the profile specifies
- :hp2.Read_file=Yes:ehp2., the default,
- then the
- the file may be browsed as soon as the window is opened,
- performance then improves once the file is read in.
- :fnref refid=filerd.
- :fn id=filerd.
- Only the first 256 characters of a record are read.
- Once the file is read in there is an internal switch over.
- If a locate etc. was in progress at the time of the switch over
- the window may not display the line found; it may be necessary
- to repeat the command e.g. :hp2.F5:ehp2..
- :i1.command
- :efn
- If the profile specifies
- :i1.profile
- :hp2.Read_file=No:ehp2. then
- only 120 records from the file are read in to storage and scrolling
- takes place within this buffer
- unless F4+Ctrl is pressed when the whole file is read in to
- memory asynchronously.
- As the file is scrolled up/down extra pages are
- read in to the buffer.
- The affect is that on scrolling
- upwards, after the window is displayed, there may be a pause
- (hour glass symbol)
- while extra data is read in.
- :p.Small parts (&le.window size) of the file may be remembered
- and redisplayed by using the Clipboard function.
- Drag the mouse with button 1 down over the lines to be saved
- and press Ctrl+Insert to save the highlighted lines.
- To redisplay the saved lines press Shift+Insert. The lines
- are displayed from the cursor position onwards.
- The highlighted records may be printed on LPT1 by pressing
- Insert+Alt.
- :h2.Function keys
- .br
- The following keys are effective for the programme:-
- .sk
- Mouse button 1 will isolate and
- highlight the text.
- If button 1 is pressed twice then the highlighted string
- may then be used as a search argument by button 2.
- .br
- Mouse button 2 will scan from the current position to the end
- of file for the
- locate string, i.e. the string isolated by button 1 or
- by use of a locate command from the command window (F6).
- :i1.command
- If the mouse button 2 is pressed twice then the scan will start from
- the top of the file.
- .br
- F1 is the help
- :fnref refid=Sysmen.
- :fn id=Sysmen.
- This function may be selected from the
- Command window which may be brought up from the
- system menu icon :hp2.&alpha.:ehp2.
- &lbrc.Code Page 437, the icon will be &Oa. for Code Page 850 etc.&rbrc..
- :efn.
- key
- see :hdref refid=HELP..
- F1+Alt will display/hide the current status
- :fnref refid=F1a.
- :fn id=F1a.
- The statement number is displayed in the MINMAX menu.
- :hp2.R:ehp2. indicates that the file is being read in to memory,
- :hp2.S:ehp2. indicates that the programme structure is being recorded.
- :efn.
- of the programme.
- .br
- F2 will change the font.
- :i1.font
- The System Monospaced
- font is the default font, unless the Alpha font
- is installed.
- .br
- F3 will terminate programme
- .br
- F4 will allocate
- :i1.allocate
- :fnref refid=Sysmen.
- a new file
- see :hdref refid=ALLOC.
- F4+Ctrl will read the currently assigned file in to memory.
- :fnref refid=F4.
- :fn id=F4.
- A separate thread is attached to read in the file whilst
- the file may continue to be
- browsed within the 120 record buffer.
- The scrolling of the file will be much faster but there may
- be some degradation of performance while the file is read in to store.
- A maximum of 21,844 records can be read in if there is enough
- memory available.
- The start
- of the process is signalled by a 130HZ beep and when the
- file is read in there is a beep of 1760HZ and 880HZ, provided
- that
- "Quiet=No" is specified in the profile.
- :i1.profile
- :efn
- .br
- F5 will repeat the previous command
- :i1.command
- .br
- F6
- will issue a command
- :fnref refid=F6
- :fn id=F6.
- This window may also be created from the system menu
- icon :hp2.&alpha.:ehp2..
- A child window is created in to which may be typed the command.
- :efn
- .br
- F7 scroll up ½ screen.
- .br
- F8 scroll down ½ screen.
- .br
- F9 switch on/off comment suppression.
- .in 4
- A sequence of blank or comment lines will be compressed to a single
- line of &lrarrow. provided that the file is read in.
- The comment lines must begin with characters specified in
- :hp2.Comment_start:ehp2..
- .in 0
- .br
- F10 not used.
- .br
- F11 not used.
- .br
- F12 will move the mouse button 1 focus line
- :fnref refid=focus.
- :fn id=focus.
- The line on which mouse button 1 was last pressed.
- :efn
- to the centre of screen.
- .br
- F12+Ctrl will switch on/off the scale line in the centre of
- the window.
- .br
- F13 (shift+F1) will display the programme structure.
- .br
- F14 (shift+F2) will change the text colours.
- .br
- F17 (shift+F5) will locate the next Marker.
- .br
- F19 (Shift+F7) will scroll left ½. line.
- .br
- F20 (shift+F8) will scroll right ½. line.
- .br
- F24 (shift+F12) will reset the horizontal scroll, clear line
- markers etc.
- .br
- Page_Up will scroll up one page.
- .br
- Page_Down will scroll down one page.
- .br
- Home key will move to top of file.
- cruise xb1
- End key will move to end of file.
- .br
- Insert+Ctrl will place mouse Button 1 drag area in Clipboard.
- .br
- Insert+Shift will copy Clipboard text to mouse Button 1
- position - cursor.
- .br
- Insert+Alt will write the highlighted records to LPT1.
- .br
- Ctrl+Delete will remove the highlighted records,
- mouse button 1 drag area,
- from the window display.
- .br
- Shift+Delete will restore the deleted records
- to the window display.
- .br
- &uarrow and &darrow keys will move the cursor.
- .br
- The scroll arrows, slider etc.
- and Page up or Page down keys may be
- used for browsing.
- :fnref refid=scroll
- :fn id=scroll.
- If the mouse button 1 is kept depressed then the lines or
- characters will scroll at 1 per second until the button is released.
- If the file is not read in then the file size is estimated
- by adding 1000 every time the internal array is filled.
- In this case the slider may be move to the end of the vertical
- scroll bar before end_of_file is reached and then move up.
- :efn
- .br
- Enter key will terminate an input string or refresh the screen.
- :h2 id=HELP.Help window
- This window may be invoked by the F1 key or the
- Help button on the command window.
- The window may be scrolled by :-
- :ol.
- :li.Page_up - scroll up 1 screen
- :li.Page_down - scroll down 1 screen
- :li.Home - scroll to the top of the Help data
- :li.End - scroll to the end of the Help data
- :li.F7 - scroll up ½. screen
- :li.F8 - scroll down ½. screen
- :li.The :hp2.Page_Up:ehp2. key word at the bottom of the window
- will scroll up 1 screen if selected by mouse button 1.
- :li.The :hp2.Page_Down:ehp2. key word at the bottom of the window
- will scroll down 1 screen if selected by mouse button 1.
- :eol.
- :p.The Help window may be cancelled by F3, the Cancel button
- or by Enter.
- :h2 id=ALLOC.Allocate window
- The File Allocate window will be created by the F4 key
- or from the Allocate menu item of the command window.
- The file may be selected from the List box or typed
- in to the Entry box.
- The drive may be changed by selecting &lbrk.a:&rbrk.
- from the List box or typing the drive letter followed
- by a '&colon.' e.g. 'a:' in the Entry box.
- The Path may be changed by selecting a directory name
- from the List box or by typing the path name in the
- Entry box e.g. 'C:\WORK'.
- The COMBO box will hold the last three allocate texts which have been
- entered.
- :p.
- A host file may be received and allocated by entering
- '>H&colon.fn ft fm PC_file_name';
- this string is passed to :hp2.Transfer_pgm:ehp2. (ALMCOPY)
- :i1.Transfer_pgm
- :i1.ALMCOPY
- &lbrc.without the '>' and with '/Q' appended&rbrc.
- which must be installed on the PS/2.
- If :hp2.Transfer_pgm:ehp2. fails the return code is displayed in
- red and the Entry text
- is left to be edited.
- If the requested file can not be allocated then
- the allocate window together with an error message will be displayed.
- :p.
- A host command may be executed by entering '<host command';
- this string is passed to :hp2.Command_pgm:ehp2.
- :i1.Command_pgm
- (OS2CMD) &lbrc.without the '<'&rbrc.
- :i1.OS2CMD
- which must be installed on the PS/2.
- :p.
- If the DosExecPgm call fails for either Transfer_pgm or
- Command_pgm then
- the error code is displayed in black.
- :nt
- If the Allocate window can not be contained in the main window
- then it will be made sysmodal; i.e. it must be closed before
- other windows can be used.
- The programme has been tested on an 8513
- :i1.8513
- screen and the default Window and Default_chr values
- may not be suitable for 8515 & 8514 screens.
- :i1.8514
- For 8515
- :i1.8515
- type screens a more suitable values for
- the Window & Default_chr keywords in the profile might be
- Window=(0,60,800,600) and Default_chr=(14,20),
- for example.
- :ent
- :h2 id=COMM.Command window
- This window may be invoked by the F6 key or the
- system menu icon :hp2.&alpha.:ehp2.
- &lbrc.Code Page 437; the icon will be &Oa.
- for Code Page 850 etc.&rbrc..
- The following commands may be issued :-
- :ol
- :li.+n - scroll down n lines
- :li.-n - scroll up n lines
- :li.<n - scroll left n characters
- :li.>n - scroll right n characters
- :li.&colon.n - go to record n
- :li./ - Search for string, not case dependent, from
- the current position in the file
- :li." - Search for string, as typed, from
- the current position in the file
- :li.' - Search for string, as typed, from
- the current position in the file but only in column 1
- :li.(s-e)>file_name - will copy records from the current
- file starting at s and ending with e to the file :hp1.file_name:ehp1.;
- :hp1.file_name:ehp1.
- may be 'LPT2' etc.,
- an existing file or a new file.
- If the end record number
- is '*' then the file is copied to end-of-file.
- :li.(s-e)- - will remove the records
- from the window.
- :li.&uarrow & &darrow. will cycle through the last
- 6 commands.
- :li.The
- Delete|Backspace key will delete a character from the input text.
- :eol.
- If the first character is invalid then the line will be filled
- red until it is deleted.
- F3 or ENTER will close the window and enter the command.
- The cancel button will remove the window;
- only this child window will receive input until it is terminated.
- :p.The :hp2.Flow:ehp2. button will switch
- on/off the drawing of flow lines.
- These lines are drawn for language files from 'Branch/GOTO'
- instructions to labels within the window.
- :p.
- The :hp2.Expand/Locate:ehp2.
- :spot XREFTEXT=Expand id=EXPAND.
- button will switch on/off the label expansion.
- The isolated label is expanded by locating
- the routine and opening a second
- window containing the code.
- The mouse button 1 must be pressed twice
- (double clicked)
- to cause the
- label to be located.
- A depth of 8 expand windows is allowed, and
- each window may be scrolled using the scroll bar,
- Page_Up, Page_Down,
- etc.
- The file must be read in to storage to use this facility.
- The Expand window may be closed by F3 or
- the :hp2.CALL:ehp2.
- menu item when the main window will remain at the CALL.
- If the :hp2.Routine:ehp2.
- menu is clicked then the main window will scroll to the
- expand text,
- i.e. the called code line may be passed back to the
- higher level window.
- The :hp2.Locate:ehp2.
- menu or F6
- will perform a case sensitive forward search
- from the current line+1.
- F5 will repeat the previous locate.
- If Button 2 is double clicked after moving to the expanded
- label then the window will be moved back to the previous
- line, i.e. return to point of call.
- The label searched for is succeeded by ":" for PLS and preceded
- by "FUNCTION" or "PROCEDURE" in PASCAL.
- The label searched for is preceded
- by "char", "extern", "far",
- "int",
- "long", "pascal", "pointer",
- "short", "static" or
- "void"
- if the language type is C.
- The label searched for is preceded by "FUNCTION" or "SUBROUTINE"
- if the language is FORTRAN.
- :p.
- The :hp2.Mark:ehp2.
- button will switch on/off the drawing of user flow lines
- defined by the mouse button 1, or the setting of
- a marker.
- Up to 16 user lines or markers may be associated with the file.
- If mouse button 1 is double clicked then a marker will be
- associated with the line. If mouse button 1 is pressed once
- then it will delimit the ends of a flow line.
- The markers or flow lines remain associated with the
- record until F24 (Shift+F12) is pressed.
- The markers enable places within the file to be remembered
- and recalled by (Shift+F5).
- :p.The :hp2.Options:ehp2. menu may be selected to change the
- state of the following options
- :ol.
- :li.Transient Options - reset when a new file is allocated.
- :ol.
- :li.Comment Suppression - replace a block of comment lines by
- one highlighted line of &lrarrow..
- :li.Statement # - will display the current line number in the
- MINMAX menue.
- :li.Scale - place a scale line in the middle of the window.
- :li.Status - indicate in the top left of the window
- the current status of file reading etc.
- :eol.
- :li.Permanent Options - remain set when a new file is allocated.
- :ol.
- :li.Quiet - suppress the beep which indicates that the file
- is read in to storage.
- :li.Read_file_when_allocated - when the file has been allocated
- read it in to storage by attaching a subtask.
- The file may be browsed whilst this is in progress but the
- reading of the file in to storage will be slower.
- :li.Record_structure - for language files this will cause
- the calling structure to be recorded when the file has been
- read in.
- :li.Tab - recognize tab characters, X'09', and skip to n*8.
- :li.Proportional - use the font spacing for writing the
- characters rather than the character size; this will allow
- proportional fonts to be used however these are not suitable
- for displaying code.
- :li.Keyword - allow or suppress the keyword highlighting.
- :eol.
- :eol.
- The :hp2.Allocate:ehp2.
- menu will create the Allocate window, see :hdref refid=ALLOC..
- :p.
- The :hp2.Structure:ehp2.
- :i1.structure
- menu may be used to display the call structure for 370, 386
- assembler,
- PASCAL, PL/AS, C and FORTRAN
- programmes provided that the
- :hp2.Record_structure:ehp2.
- option
- is effective when the file is read in.
- For 370 assembler the structure is based on
- :hp1.BAL, BAS, DFHSTACK:ehp1.,
- for 386 assembler
- :hp1.CALL, PROC:ehp1.
- instructions,
- for PASCAL
- :hp1.PROCEDURE, FUNCTION:ehp1. ,
- keywords,
- for C
- :hp1.char, extern, far, int, long,
- pascal, pointer,
- short, static or void
- :ehp1.
- keywords,
- for PL/AS
- :hp1.PROC, CALL:ehp1.,
- keywords,
- for FORTRAN
- :hp1.FUNCTION, SUBROUTINE, CALL:ehp1., keywords
- &lbrc.Labels &ge.27 characters are ignored&rbrc..
- If an entry
- is selected from the :hp1.Programme Structure:ehp1
- List Box then the main window is scrolled to that line.
- The :hp1.Print:ehp1. button may be used to print the contents
- of the List box on LPT1.
- :i1.LPT1
- :p.
- The :hp2.Font:ehp2.
- :i1.Font
- menu may be used to dynamically change the font and
- character size; the change is not saved in the profile, see
- :hdref refid=FONT..
- .in 0
- :p.
- The :hp2.Colour:ehp2.
- :i1.Colour
- menu may be used to dynamically change the text colours.
- The language keyword colours must be specified in the profile.
- :h2 id=FONT.FONTs
- You can specify the initial/default font in the profile
- by using the :hp2.Font:ehp2. keyword in the profile,
- or you can change the font dynamically by invoking the Font window.
- :p.You can use the System Monospaced, Helvetica, Roman
- and Courier fonts
- but the Courier font and the System Monospaced
- are the only monospaced
- fonts supplied with OS/2.
- A monospaced font with point sizes 8,9,10 & 11 is supplied
- :ih1.font
- :i2.Point size
- with the ALPHA PACKAGE, which may also be used.
- See :hdref refid=instal. for the installation of the Alpha Fonts.
- :ih1.font
- :i2.Alpha
- The fonts are then requested by specifying
- :hp2.Font="Alpha",(10):ehp2. etc. in the profile.
- The font type or face_name and size
- may be selected by the :hp2.Font:ehp2.
- and :hp2.Character_size:ehp2. keywords in the profile.
- :i1.profile
- If a profile is not supplied then the "Alpha",(10)
- &lbrc.(16) for 8515/8516 screens&rbrc.
- font will be
- :i1.defaults
- used if it is installed and a character_size of (8,14)
- else the "System Monospaced",(10)
- font will be used
- and a character_size of (8,16).
- Outline fonts are not selectable.
- :p.
- If the point size is not specified then the font
- :ih1.font
- :i2.Point size
- is selected by using the :hp2.Character_size:ehp2..
- Point sizes (1/72") are :-
- Courier (8,10,12), Roman (8,10,12,14,18,24),
- Helvetica (8,10,12,14,18,24),
- System (8,10,12,
- &lbrc.8x8, 8x16,
- 9x20&rbrc.),
- "Alpha" (8&lbrc.8x12&rbrc.,
- 9&lbrc.9x10&rbrc.,
- 10&lbrc.8x14&rbrc.,
- 11&lbrc.11x12&rbrc.,
- 16&lbrc.12x16&rbrc.,
- 20&lbrc.12x20&rbrc.).
- :ih1.font
- :i2.Alpha
- If the point size is specified but an image font does not exist
- for this nominal point size then the outline font, if available,
- will be used and scaled by the Character_size.
- The font may be requested by face_name, e.g.
- Font="Alpha",(8).
- :i1.font
- :h2 id=PROF.Profile
- A profile may be specified defining the following keyword values :-
-
- {Colours may take the values :-
- BLUE, DARKCYAN, BLACK, DARKBLUE, DARKPINK, DARKGRAY, DARKRED, DARKGREEN, BROWN,
- CYAN, RED, GREEN ,PINK, YELLOW, PALEGRAY, DEFAULT, WHITE}
-
- :hp2.Text_colour:ehp2. specifies the colour of the window text.
- .br
- :hp2.Highlight_colour:ehp2 is used for the isolate function of
- mouse button 1.
- .br
- :hp2.Locate_colour:ehp2 is used for the argument for the locate function
- .br
- :hp2.Comment_colour:ehp2. The first comment_colour is used for
- comment line
- beginning, /*,
- {, *, ;, C and for the 'scale' background. The second
- comment_colour is used
- for the compressed comment line and for the Clipboard highlight.
- .br
- :hp2.Branch_colour:ehp2. is used for 370, 386 branch instructions.
- .br
- :hp2.Expand_colour:ehp2. is used for the text in the label
- expansion window
- .br
- :hp2.Back_ground:ehp2. is use to specify the main window background
- colour.
- .br
- :hp2.File_type:ehp2. specifies the File types to be recognized.
- The string
- must be &le.64 characters
- and terminated by a comma. The first 6 types are used for :-
- 1 370 assembler
- 2 386 assembler
- 3 PASCAL, (Ada)
- 4 PL/S, PL/AS, PL/I etc., (REXX)
- 5 C
- 6 FORTRAN
- For REXX files use :- "A37,ASM,PAS,CMD,C,FOR," and replace the PLS entries
- For Ada files use :- "A37,ASM,ADA,PLS,C,FOR," and replace the PAS entries
- .br
- :hp2.Comment_start:ehp2. specifies the first two characters
- of the start
- of a comment. The
- string must be &le.12 characters. The 6 pairs are used for :-
- 1 370 assembler
- 2 386 assembler
- 3 PASCAL, for Ada specify Comment_start="* ; --/*/*C "
- 4 PL/S, PL/AS etc.
- 5 C
- 6 FORTRAN
- .br
- :hp2.Precedent_C:ehp2. specifies the C language procedure keywords.
- The string
- must be <=64 characters and terminated by a comma.
- .br
- Precedent_C="char,extern,far,int,long,pascal,pointer,short,static,void,"
- .br
- :hp2.Language_colour:ehp2. defines the highlight colours for key words.
- Up to 128 entries
- may be defined as follows :-
- file_type,key_word,colour,scan_length
- and are terminated by .END, invalid entries are ignored.
- The key words must be
- &le.12 characters.
- .br
- :hp2.Font:ehp2. may take the values :-
- Courier|System|Helvetica|Roman|Alpha<,Bold|Italic><,(Point_size)> or
- a face name
- may be specified e.g. Font="Alpha",(10)
- .br
- :hp2.Character_size:ehp2. specifies the (width,height) of the characters
- The character width is used to select the size of the Font
- if the point size is
- not specified on the "Font" keyword.
- .br
- :hp2.Read_file:ehp2. takes the value Yes|No and specifies
- whether the file
- is to be read in after allocation.
- .br
- :hp2.Flow:ehp2. takes the value On|Off and specifies whether to
- draw flow
- lines from branch
- statements to labels.
- .br
- :hp2.Expand:ehp2. takes the value On|Off and specifies that
- Expand mode
- will be effective
- once the file is read in.
- .br
- :hp2.Marker:ehp2. takes the value On|Off and specifies whether mouse
- button 1 will define
- marker values.
- .br
- :hp2.Language:ehp2. takes the values :-
- *<,Language> - determine the language from the file suffix.
- If a Language is all so given then this will be the default
- if the file type can not be found in "File_type", e.g. Language=*,PAS. For PL/I use
- Language=PLS etc.
- A37 - 370 assemble
- ASM - 386 macro assemble
- PAS - Pascal
- PLS - PL/S or PL/AS etc.
- C - C language
- FOR - FORTRAN
- .br
- :hp2.Default_chr:ehp2. specifies the default character width and height
- used for scaling the
- Allocate and Command dialogue boxes. The default value is
- (10,16)
- &lbrc.(14,20) for 8515/8516 screens&rbrc..
- :i1.8516
- :i1.8515
- .br
- :hp2.Window:ehp2. specifies the initial window position.
- If no profile is specified then
- Window=(0,4h,63.5w,26h)
- &lbrc.(0,120,1020,650) - for 8515/8516 screens&rbrc.
- is assumed where w and h are the Default_chr width & height.
- .br
- :hp2.Quiet:ehp2. will suppress the beep on completion of file read.
- .br
- :hp2.Record_structure:ehp2. will record the CALL structure for 370 &
- 386 assembler, PASCAL,
- PL/AS, C and FORTRAN programmes, as the file is read in
- to memory.
- .br
- :hp2.Tab:ehp2. will use X'09' as the tab character to move to column n*8
- when file is read.
- .br
- :hp2.Proportional:ehp2. will use the Font character spacing rather than
- the Character width
- to place the characters.
- .br
- :hp2.Keyword:ehp2. will highlight the specified keywords.
- .br
- :hp2.Statement_number:ehp2. sets the display of the statement
- number On|Off
- .br
- :hp2.Command_pgm:ehp2. specifies the programme name invoked by <.
- .br
- :hp2.Transfer_pgm:ehp2. specifies the programme name invoked by >.
- .sk 2
- Alpha has within it (hard coded) routines which understand certain
- language
- features e.g. 370 Assembler labels start in start in column 1, procedures are
- invoked by BAL, BAS etc. and PASCAL procedures are preceded by FUNCTION
- or PROCEDURE etc..
- There are 6 languages :hp1.understood:ehp1.
- by Alpha, viz. :-
-
- 1 370 Assembler
- 2 386 Assembler
- 3 PASCAL (Ada)
- 4 PL/AS (PL/I, REXX)
- 5 C
- 6 FORTRAN
-
- Because Ada is similar to PASCAL and PL/I & REXX are similar to PL/AS,
- in respect to procedure calls etc., you can also analyse these languages
- by pretending they are type 3 & 4 respectively.
-
- However, you can interpret any language/file type (use the
- highlighting
- facility) by suppling extra definitions in a profile which is specified as a
- parameter to Alpha e.g.
-
- START ALPHA /p profile_name
-
- A sample profile (ALPHA.PRF) is provided in the package, which includes
- comments explaining the use of the keywords. This may be edited to
- change/add
- a file extension and highlighting by modifying the following keywords :-
-
- :hp2.File_type:ehp2. - list of file extensions up to 64 characters
- :hp2.Comment_start:ehp2. - list of comment start character pairs
- (blank is ignore) up to 12 characters
- :hp2.Language_colour:ehp2. - list of keyword definitions
- file_type,keyword,colour,maximum scan length
-
- e.g. to add language XYZ
-
- File_type="A37,ASM,PAS,PLS,C,FOR,XYZ,"
- .br
- Language_colour
- .br
- XYZ,FIRST_keywd,GREEN,72
- .br
- XYZ,Next_key ,RED,72
- .br
- .li
- .END
-
- Only the first 6 language types will allow the Expand, Flow and
- Structure
- operations to be effective. This implies that you could not use all the
- features of Alpha for a new language which did not have the call/label
- syntax of one of the existing languages.
-
- The Alpha programme scans the keyword table in the order specified in
- the
- profile to the comment start in the record for a maximum of 16 found
- entries. A keyword_found array is created and the text is written by
- running down the array from the last to the first so if the entries
- in the profile were in the order :-
-
- PLS, END LOOP,GREEN,72
- .br
- PLS, END,DARKCYAN,72
-
- Then the 'END LOOP' would overwrite the 'END'; spaces are significant.
- .pa
- The following is the sample profile which may be edited
- to change the startup values
- :- :hp2.ALPHA.PRF:ehp2.
- :i1.changing programme defaults
- :i1.profile
- .* imbed of ALPHA.PRF
- :xmp keep=10.
- * This is the default profile, ALPHA.PRF, for the ALPHA programme V1.7.
- *
- * ###################################################################
- * # (C) Copyright International Business Machines Corporation 1993. #
- * # All rights Reserved. #
- * ###################################################################
- *
- * The case is significant. Invalid records are ignored.
- *
- * Lionel de Lambert, 12 Dec. 1990
- *
- * The colours are :-
- * BLUE,DARKCYAN,BLACK,DARKBLUE,DARKPINK,DARKGRAY,DARKRED,DARKGREEN,
- * BROWN,CYAN,RED,GREEN,PINK,YELLOW,PALEGRAY,DEFAULT,WHITE
- Text_colour=BLUE
- * Highlight_colour is used for the isolate function of mouse button 1.
- * Default - RED.
- Highlight_colour=DARKRED
- * Locate_colour is used for the argument for the locate function
- * which may be used by mouse button 2.
- * Default - GREEN.
- Locate_colour=GREEN
- * The first comment_colour is used for comment lines beginning, /*, {, *, ;, C
- * and for the 'scale' background. The second comment_colour is
- * used for the compressed comment line and for the Clipboard highlight
- * Default - DARKCYAN,PALEGRAY
- Comment_colour=DARKCYAN,PALEGRAY
- * Branch_colour is used for 370, 386 branch instructions
- * Default - BROWN.
- Branch_colour=BROWN
- * Expand_colour is used for the text in the label expansion window.
- * Default - DARKBLUE.
- Expand_colour=DARKBLUE
- * Back_ground colour - default - BACKGROUND
- Back_ground=BACKGROUND
- *
- * File_type specifies the File types to be recognized.
- * The string must be <=64 characters and terminated by a comma.
- * The first 6 types are used for :-
- * 1 370 assembler
- * 2 386 assembler
- * 3 PASCAL, (Ada)
- * 4 PL/S, PL/AS, PL/I etc., (REXX)
- * 5 C
- * 6 FORTRAN
- * For REXX files use :- "A37,ASM,PAS,CMD,C,FOR," and replace the PLS entries
- * For Ada files use :- "A37,ASM,ADA,PLS,C,FOR," and replace the PAS entries
- * The default is :- "A37,ASM,PAS,PLS,C,FOR,LST,DOC,"
- File_type="A37,ASM,PAS,PLS,C,FOR,LST,DOC,..,"
- *
- * Comment_start specifies the first two characters of the start of
- * a comment. The string must be <=12 characters.
- * The 6 pairs are used for :-
- * 1 370 assembler
- * 2 386 assembler
- * 3 PASCAL, for Ada specify Comment_start="* ; --/*/*"
- * 4 PL/S, PL/AS etc.
- * 5 C
- * 6 FORTRAN
- * The default is :- "* ; { /*/*C "
- Comment_start="* ; { /*/*C "
- *
- * Precedent_C specifies the C language procedure keywords. The string
- * must be <=64 characters and terminated by a comma.
- Precedent_C="char,extern,far,int,long,pascal,pointer,short,static,void,"
- *
- * Language_colour - defines the highlight colours for key words
- * Up to 128 entries may be defined as follows :-
- * file_type,key_word,colour,scan_length
- * and are terminated by '.END', invalid entries are ignored.
- * The key words must be <=12 characters.
- Language_colour
- A37, DFHSTACK ,CYAN,32
- A37, USING ,DARKPINK,32
- A37, DROP ,DARKPINK,32
- A37, SPACE ,PALEGRAY,32
- ASM, PROC ,CYAN,32
- ASM, SEGMENT ,CYAN,32
- ASM, CALL ,PINK,32
- ASM, call ,PINK,32
- PAS,PROCEDURE ,CYAN,72
- PAS,FUNCTION ,CYAN,72
- PAS, DO ,DARKCYAN,72
- PAS, BEGIN ,DARKCYAN,72
- PAS, END,DARKCYAN,72
- PAS, FOR ,CYAN,72
- PAS, REPEAT ,CYAN,72
- PAS, UNTIL ,CYAN,72
- PAS, WHILE ,CYAN,72
- PAS, CASE ,CYAN,72
- PAS, IF ,DARKPINK,72
- PAS, THEN ,DARKPINK,72
- PAS, ELSE ,DARKPINK,72
- PAS, GOTO ,BROWN,72
- PAS, OR ,BLACK,72
- PAS, AND ,BLACK,72
- PAS, RETURN,BROWN,72
- PAS, BREAK,BROWN,72
- PAS, CYCLE,BROWN,72
- * For Ada (.ADA) files replace the PAS entries by the ADA entries
- * ADA,procedure ,CYAN,72
- * ADA,function ,CYAN,72
- * ADA,declare ,PINK,72
- * ADA,delay ,GREEN,72
- * ADA,subtype ,PINK,72
- * ADA,range ,PINK,72
- * ADA,case ,PINK,72
- * ADA,select ,DARKPINK,72
- * ADA,record ,PINK,72
- * ADA,begin ,DARKCYAN,72
- * ADA,do ,DARKCYAN,72
- * ADA,end loop,CYAN,72
- * ADA,end if,DARKRED,72
- * ADA,end case,PINK,72
- * ADA,end select,DARKPINK,72
- * ADA,end record,PINK,72
- * ADA,end,DARKCYAN,72
- * ADA, elsif ,DARKRED,72
- * ADA, else ,DARKRED,72
- * ADA, if ,DARKRED,72
- * ADA,when others ,DARKGREEN,72
- * ADA,when ,CYAN,72
- * ADA,with ,DARKRED,72
- * ADA,for ,CYAN,72
- * ADA,loop ,CYAN,72
- * ADA,return ,BROWN,72
- * ADA,exit when ,BROWN,72
- * ADA,exit ,BROWN,72
- * ADA,goto ,BROWN,72
- * ADA,private ,DARKRED,72
- * ADA,type ,DARKRED,72
- * ADA,generic ,DARKRED,72
- PLS,PROC ,CYAN,72
- PLS, BEGIN ,DARKCYAN,72
- PLS, END,DARKCYAN,72
- PLS, DO ,DARKCYAN,72
- PLS, DO;,DARKCYAN,72
- PLS, IF ,DARKPINK,72
- PLS, THEN ,DARKPINK,72
- PLS, ELSE ,DARKPINK,72
- PLS, SELECT,CYAN,72
- PLS, WHEN,CYAN,72
- PLS, UNTIL,CYAN,72
- PLS, WHILE,CYAN,72
- PLS, RETURN,BROWN,72
- PLS, GOTO ,BROWN,72
- PLS, GO TO ,BROWN,72
- PLS, RETURN,BROWN,72
- PLS, LEAVE,BROWN,72
- PLS, CALL ,PINK,72
- * For REXX (.CMD) files replace the PLS entries by the CMD entries
- * CMD,SAY ,DARKCYAN,72
- * CMD,PULL ,DARKCYAN,72
- * CMD,PARSE ,DARKCYAN,72
- * CMD,EXIT ,DARKCYAN,72
- * CMD,END,DARKCYAN,72
- * CMD,DO ,DARKCYAN,72
- * CMD,IF ,DARKPINK,72
- * CMD,THEN ,DARKPINK,72
- * CMD,ELSE ,DARKPINK,72
- * CMD,SELECT,CYAN,72
- * CMD,WHEN,CYAN,72
- * CMD,UNTIL,CYAN,72
- * CMD,WHILE,CYAN,72
- * CMD,RETURN,BROWN,72
- * CMD,GOTO ,BROWN,72
- * CMD,RETURN,BROWN,72
- * CMD,LEAVE,BROWN,72
- * CMD,CALL ,PINK,72
- * CMD,say ,DARKCYAN,72
- * CMD,pull ,DARKCYAN,72
- * CMD,parse ,DARKCYAN,72
- * CMD,exit ,DARKCYAN,72
- * CMD,end,DARKCYAN,72
- * CMD,do ,DARKCYAN,72
- * CMD,if ,DARKPINK,72
- * CMD,then ,DARKPINK,72
- * CMD,else ,DARKPINK,72
- * CMD,select,CYAN,72
- * CMD,when,CYAN,72
- * CMD,until,CYAN,72
- * CMD,while,CYAN,72
- * CMD,return,BROWN,72
- * CMD,goto ,BROWN,72
- * CMD,return,BROWN,72
- * CMD,leave,BROWN,72
- * CMD,call ,PINK,72
- C, if ,DARKCYAN,72
- C, else ,DARKCYAN,72
- C, while,CYAN,72
- C, for ,CYAN,72
- C, do ,CYAN,72
- C, switch,CYAN,72
- C, case,DARKPINK,72
- C, goto ,BROWN,72
- C, break,BROWN,72
- C, continue,BROWN,72
- C, return,BROWN,72
- FOR,SUBROUTINE ,PINK,72
- FOR,FUNCTION ,PINK,72
- FOR,RETURN ,BROWN,72
- FOR,GO TO ,BROWN,72
- FOR,CALL ,PINK,72
- FOR,STOP ,RED,72
- FOR,END ,BLACK,72
- FOR,DO ,DARKGREEN,72
- FOR,CONTINUE ,DARKGREEN,72
- LST, ALPHA,RED,80
- DOC, Alpha,DARKRED,80
- .li
- .END
- *
- * The Font may take the values :-
- * Font=Courier|System|Helvetica|Roman|Alpha<,Bold|Italic><,(Point_size)>
- * or a face name may be specified e.g. Font="Alpha",(10)
- * The default font is 'System Monospaced' unless the
- * "Alpha" font is installed.
- * The font point sizes (1/72") are :-.
- * "Alpha" - 8,9,10,11,16,20
- * Courier - 8,10,12
- * Helvetica - 8,10,12,14,18,24
- * Roman - 8,10,12,14,18,24
- * System - 8,10,12
- Font=System,(10)
- *
- * The character size specifies the (width,height) of the characters.
- * The character width is used to select the size of the Font if the
- * point size is not specified on the "Font" keyword.
- * The default is (8,14) for the Alpha font and (8,16) for the System.
- Character_size=(8,16)
- *
- * Read_file takes the value Yes|No and specifies whether the file
- * is to be read in after allocation - default - Yes.
- Read_file=Yes
- *
- * Flow takes the value On|Off - default - On.
- Flow=On
- *
- * Expand takes the value On|Off and specifies that Expand mode will
- * be effective once the file is read in.
- * Default - Off.
- Expand=Off
- *
- * Marker takes the value On|Off - default - Off.
- Marker=Off
- *
- * Language takes the values :-
- * *<,Language> - determine the language from the file suffix.
- * If a Language is also given then this will be the default if the
- * file type can not be found in "File_type", e.g. Language=*,PAS.
- * For PL/I use Language=PLS etc.
- * A37 - 370 assemble
- * ASM - 386 macro assemble
- * PAS - Pascal
- * PLS - PL/S or PL/AS etc.
- * C - C language
- * FOR - FORTRAN
- * default - *,LST
- Language=*,DOC
- *
- * Default_chr=(w,h) - specifies the default character width and height
- * used for scaling the Allocate and Command dialogue boxes -
- * the default value is (10,16), for 8515/8516 screens the default value
- * is (14,20)
- Default_chr=(10,16)
- *
- * Window=(x,y,cx,cy) - specifies the initial window position.
- * A suitable value for 8515/8516 screens may be - (0,60,800,600).
- * If no profile is specified then Window=(0,4h,63.5w,26h) is assumed for
- * 8513 screens where w and h are the 'Default_chr' width & height.
- * default - (0,60,635,420) for 8513 and (0,120,1020,650) for 8515 screens.
- Window=(0,60,635,420)
- *
- * Quiet=Yes|No - will suppress the beep on completion of file read
- * default - Yes.
- Quiet=Yes
- *
- * Record_structure=On|Off - will record the CALL structure for 370
- * & 386 assembler, PASCAL PL/AS, C and FORTRAN programmes, as the file is
- * read in to memory.
- * Default - On.
- Record_structure=Off
- *
- * Tab=On|Off - will use X'09' as tab to n*8 when file is read, default - On
- Tab=Off
- *
- * Proportional=On|Off - will use the Font character spacing rather
- * than the Character width to place the characters, default - On
- Proportional=On
- *
- * Keyword=On|Off - will highlight the specified keywords - default - On
- Keyword=On
- *
- * Statement_number sets the display of the statement number On|Off
- * default Statement_number=On
- Statement_number=Off
- *
- * Command_pgm specifies the programme name invoked by '<' - default OS2CMD
- Command_pgm="OS2CMD"
- *
- * Transfer_pgm specifies the programme name invoked by '>' -
- * default ALMCOPY
- Transfer_pgm="ALMCOPY"
- *
- * End of profile for ALPHA programme
- :exmp.
- .***************** end of ALPHA ********************************
- .if &T ne CPTOOLS .go lab2
- .pa
- :h2.OS2PRT
- For those people
- who would like to print their OS/2 compiler listing files on the
- 370 main frame printers I have put a CMS programme,
- OS2PRT, on the CPTOOLS disk which will reformat the
- listing file using tab characters etc.
- The file should be transferred from the PS/2 to CMS
- using the communications manager file transfer
- with default LRECL, EBCDIC translation and no CR/LF
- splitting.
- .sk
- :hp0.Syntax:-:ehp0.
- .sk
- OS2PRT In It Im <On Ot Om> | ?
- .sk
- Where 'In It Im' is the input file and 'On Ot Om' is
- the output file to be printed on the 370 (LRECL 133) with
- carriage control characters.
- The default output file is
- 'In OS2PRT Z'.
- ...lab2
- .sk 2
- :hp3.
- Lionel de Lambert - WINVMC(HPWY) -
- &date.
- :ehp3.
- .*
- :APPENDIX
- :h1.OS/2 V2.0 Multi-document browse
- :i1.ALPHA2
- :i1.Multi-document browse
- :i1.OS/2 V2.0
- A simple 32 bit multi-document browse version of Alpha
- has been written using
- :hp2.C Set/2:ehp2. and :hp2.MASM V6.0:ehp2..
- The programme 'ALPHA2 EXEBIN' should be copied to an OS/2 V2.0
- directory as ALPHA2.EXE. This is a simple
- multiple document file browse with highlighting of keywords
- for language types :- A37,ASM,PAS,PLS,C,FOR,..
- :i1.FORTRAN
- :p.The syntax of Alpha2 is :-
- .sk
- START ALPHA2 &lbrk.file&rbrk. /p &lbrk.profile name - default ALPHA.PRF&rbrk
- .sk
- The :hp2.Language_colour:ehp2.,
- :hp2.File_type:ehp2. and :hp2.Window:ehp2.
- keywords are the only ones
- which are recognized from the profile.
- :p.The :hp2.Allocate:ehp2. dialogue box is used to request
- a file to be read. If the drive letter is changed then the
- OK button should be used to refresh the List boxes.
- &lbrc.The maximum number of child windows is 16.&rbrc.
- :p.The :hp2.Command:ehp2. dialogue box may be used to issue a search
- command e.g.
- :ul.
- :li./s - search for string s - not case sensitive.
- :li."s - search for string s asis.
- :li.&colon.n - go to line n.
- :eul
- The COMBO box will hold the previous three commands entered.
- :p.The :hp2.Options:ehp2. menue may be used to set the following
- options :-
- :ul.
- :li.Statement No. - display the statement number in the MINMAX
- menue.
- :li.Tab - expand the record by using X'09' characters to round
- to columns n*8.
- :li.Keyword - highlight the keywords.
- :li.Include - For the files MASM, PAS, C read the include
- files specified by :-
- include file_name, {&dollar.INCLUDE : 'file_name' },
- #include <file_name>, respectively when expanding a call etc.
- &lbrc.:hp1.The current directory together with the paths
- defined by the :hp2.INCLUDE:ehp2. environment variable
- will be searched. The total number of open files/windows
- is limited to 16
- so the include nesting can not exceed 16-the number of open windows.
- :ehp1.&rbrc.
- :eul.
- :p.The :hp2.Font:ehp2. and the :hp2.Colour:ehp2.
- dialogue boxes may be used to change and remember the font
- and colours of the text, comments etc.
- :p.The :hp2.Print:ehp2. dialogue box will allow you to
- print the specified record range to one of :-
- .br
- LPT1, LPT2, LPT3.
- .br
- The default record range is the whole file.
- :p.The :hp2.Window:ehp2. menu may be used to close all child
- windows or to arrange them so that the title text is visible,
- :hp1.Cascade:ehp1., or so that a partial view of each child may
- be seen, :hp1.Tile:ehp1..
- :p.The mouse button 1 will highlight a string and mouse button 2
- will cause a search for this string from the current line +1.
- If mouse button 1 is clicked twice on a label then a search
- from the top of the file is made for the label definition or
- procedure entry and a secondary window is opened, :hp1.Expand:ehp1..
- :i1.Expand
- :P.:hp2.F1:ehp2. will open the Help window.
- :P.:hp2.F2:ehp2. will open the Font dialogue box.
- :P.:hp2.F3:ehp2. will terminate the programme.
- :P.:hp2.F4:ehp2. will open the Allocate file dialogue box.
- :P.:hp2.F5:ehp2. will repeat the previous command.
- :P.:hp2.F6:ehp2. will open the Command dialogue box.
- :p.:hp2.F7:ehp2. will scroll the window up 1/2 a screen.
- :p.:hp2.F8:ehp2. will scroll the window down 1/2 a screen.
- :p.:hp2.F14:ehp2. (F2+Shift) will open the Colour dialogue box.
- :p.:hp2.Page_Up:ehp2. will scroll up 1 screen.
- :p.:hp2.Page_Down:ehp2. will scroll down 1 screen.
- :p.:hp2.Home:ehp2. will scroll to the top of the file.
- :p.:hp2.End:ehp2. will scroll to the end of the file.
- :p.The :hp2.Delete+Ctrl:ehp2. keys will suppress the lines
- highlighted by the button 1 drag area from the display.
- :p.The :hp2.Delete+Shift:ehp2. keys will restore the lines
- previously hidden.
- :p.A file may be allocated by dragging mouse button 2 with
- the Ctrl key pressed on to the Alpha window.
- .* end of ALPHA2 OS/2 V2.0
- .*
- .if &T ne CPTOOLS .go lab7
- .* ### Windows V3.1 support ###
- :h1.Windows V3.1
- A version of Alpha has been written using Borland's
- TURBO PASCAL for Windows.
- The programme 'ALPHAW EXEBIN' should be copied to a WINDOWS V3.1
- directory as ALPHA.EXE. This is a simple version of Alpha which
- is a multiple document file browse with highlighting of keywords
- for language types :- a37,asm,pas,pls,c.
- :p.The mouse button 1 will highlight a string and mouse button 2
- will cause a search for this string from the current line +1.
- :p.
- Files may be :hp2.Drag/Drop:ehp2.ed from the file manager.
- :p.The font :hp2.Alphaf:ehp2. may be installed by
- using the Windows control
- panel.
- The file 'ALPHAF FONBIN' should be copied to a Windows
- directory as 'ALPHAF.FON' and installed by use of the Control panel.
- If this font is installed it will be used instead of the
- system fixed font.
- :p.
- The following menu items may be used :-
- :dl
- :dt.File
- :dd.
- This will allocate a new file or exit the programme.
- :dt.Search
- :dd.Will locate for the specified string in the currently active child
- window.
- :dt.Printer
- :dd.This will print a range of records to LPT1 from the currently active
- window. Also for the IBM Proprinter III the condensed internal font
- may be set by
- :hp2.Configure:ehp2., or for the HP 550C deskjet printer the
- internal fonts may be selected.
- :dt.Window
- :dd.This will allow the
- child windows to be tiled, cascaded or closed.
- :edl.
- .*
- .* end of Windows V3.1 version of ALPHA
- .*
- :h1.ALPHA modules and routines
- :UL.
- :LI.ALPHA - PASCAL main programme
- :UL.
- :LI.Main programme - analyse profile
- :LI.Anal_parm - analayse parameter information
- :LI.Reset_val - reset the global variables
- :EUL.
- :LI.ALPHA.INC - MASM language include
- :LI.ALPHAB - PASCAL routines
- :UL.
- :LI.Read_in_file - read records in separate thread
- :LI.fill_array - fill the 200 record browse array
- :LI.top_file - move to top of file
- :LI.scrolldown - scroll down n lines
- :LI.scrollup - scroll up n lines
- :LI.scrollleft - scroll left n characters
- :LI.scrollright - scroll right n characters
- :LI.Assign_file - allocate a file
- :LI.Locate_from - scan file for string
- :EUL.
- :LI.ALPHAC - C language procedures
- :UL.
- :LI.Clipbrd_Get - Get data from the clip board
- :LI.Clipbrd_Set - pass data to the clip board
- :EUL.
- :LI.ALPHAI - PASCAL language include
- :LI.ALPHAP - PASCAL main window procedure
- :UL.
- :LI.Anal_cmd - analyse a command from the command window
- :LI.Goto_line - go to line n in file
- :LI.Cmd_win - Create a command window
- :LI.File_win - Create the allocate window
- :LI.ALPHAP - main window procedure
- :EUL.
- :LI.ALPHAS - PASCAL main window handler
- :UL.
- :LI.Branch - Find Branch instruction start
- :LI.Cmt_pos - find start of comment in record
- :LI.Draw_flow - draw the flow lines from branches to labels
- :LI.SCREEN - write the main window text etc.
- :LI.help_panel - Create the help panel
- :EUL.
- :LI.ALPHAT - MASM - Change colour dialogue code
- :UL.
- :LI.Colour_proc - Procedure for colour dialogue window.
- :LI.Create_colour - Create the colour dialogue window.
- :EUL.
- :LI.ALPHAU - MASM - Expand window procedures
- :UL.
- :LI.Add_stmt - Add menu item to MINMAX menu
- :LI.Del_stmt - remove menu item in MINMAX menu
- :LI.E_FUNC - Expand window function
- :LI.Expand_Code - Create Expand window
- :LI.Find_label - search record vector for requested label
- :LI.L_Func - Locate Dialog procedure for Expand window
- :LI.Set_stmt - update item in MINMAX menu
- :EUL.
- :LI.ALPHAV - MASM - Read file routines
- :UL.
- :LI.Get_file - Read file into storage and build record vector
- :LI.Get_record - copy record from storage block using vector
- :LI.Print_rec - write records to LPT1
- :EUL.
- :LI.ALPHAW - MASM - PM interfaces
- :UL.
- :LI.ALPHAW - main PM-PASCAL interface
- :LI.WNDFUNC - main window PASCAL interface
- :LI.C_FUNC - command window function
- :LI.A_FUNC - Allocate window procedure
- :i1.allocate
- :LI.H_FUNC - Help window procedure
- :LI.Select_font - select a font
- :i1.font
- :EUL.
- :LI.ALPHAX - MASM non-PM routines
- :UL.
- :LI.Alphabet - check for alphabetic character
- :LI.Cmt_start - return the start position of the comment in a record
- :LI.Commnt - check for a comment records
- :LI.Compare_string - Compare string against list of key words
- :LI.Convert - convert an integer to a string
- :LI.Copy_str - copy string and make upper case
- :LI.End_cmt - Find end of comment on record
- :LI.find_key - search key word tables for key
- :LI.find_string - scan record for string
- :LI.Hex_string - convert data to hex characters
- :LI.Host_cmd - invoke OS2CMD
- :LI.Host_file - invoke ALMCOPY
- :LI.Inquire_key - get data from Lex array of key words
- :LI.Insert_string - insert a string in another string
- :LI.Isolate - pick out an alphabetic string
- :LI.Number - convert a string to an integer
- :LI.Rotate_double - re-order bytes in double word
- :LI.Set_key - set data for Lex array
- :LI.Set_ptr - set the record_ptr to the records array
- :LI.Tab_copy - If Tab=TRUE then copy using tab characters
- :EUL.
- :LI.ALPHAY - MASM structure routines
- :i1.structure
- :UL
- :LI.Add_label - add a label in to memory
- :LI.Display_Struc - Create the Structure window
- :LI.Find_label_S - search string for label and call Add_label
- :LI.Reset_Struc - reset memory, i.e. clear storage
- :LI.Search_Label - scan record for label
- :LI.S_Func - Structure window procedure
- :LI.Thread_term - Thread termination routine
- :EUL.
- :LI.ALPHAZ - MASM Font procedures
- :i1.Font
- :UL
- :LI.Font_Proc - Dialogue font window procedure
- :LI.Select_font - Internal select a font procedure
- :LI.Set_Font - Create Font Dialogue window
- :EUL.
- :EUL.
- .***************** Routines in ALPHA2 *****************
- :h1.ALPHA2 modules and routines
- :UL.
- :li.ALPHA1.C
- :ul
- :li.MyWindowProc
- :li.PrintError
- :li.AbortAlpha
- :li.FileDialog
- :li.CommandDialog
- :li.FONTDialog
- :li.COLOURDialog
- :li.Fill_file_lst
- :eul
- :li.ALPHA2.C
- :ul
- :li.Create_ExpChild
- :li.Find_Exp_label
- :li.Get_Include
- :li.Profile
- :li.Create_child
- :li.ChildProc
- :eul
- :li.ALPHA3.ASM
- :ul
- :li.Cmt_pos
- :li.Compare_string
- :li.file_record
- :li.Find_Include
- :li.Find_string
- :li.fnd_nonblk
- :li.fnd_blk
- :li.Isolate
- :li.Prev_lab
- :li.Tab_copy
- :li.Upper_case
- :eul
- :li.ALPHA4.C
- :ul
- :li.Create_Help
- :li.HelpProc
- :eul
- :eul.
- .***************** Map of the Alpha module ************
- :h1.ALPHA MAP (OS/2 V1.3)
- :xmp keep=10
-
- ALPHA
-
- Start Length Name Class
- 0001:0000 02CDDH ALPHA_TEXT CODE
- 0001:2CDE 0104CH ALPHA_B_TEXT CODE
- 0001:3D2A 00288H ALPHAC_TEXT CODE
- 0001:3FB2 0526CH ALPHA_P_TEXT CODE
- 0001:921E 03FF2H ALPHA_S_TEXT CODE
- 0001:D210 0035FH CODET CODE
- 0001:D570 0177CH CODEU CODE
- 0001:ECEC 003B5H CODEV CODE
- 0002:0000 034BCH CODEW CODE
- 0002:34BC 00875H CODEX CODE
- 0002:3D32 012E4H CODEY CODE
- 0002:5016 007CDH CODEZ CODE
- 0002:57E4 00185H DUMP CODE
- 0002:596A 05419H _TEXT CODE
- 0002:AD84 00000H C_ETEXT ENDCODE
- 0003:0000 00000H __FBSS FAR_BSS
- 0003:0000 09A71H H_DATA H_DAT
- 0004:0000 0F16EH S_DATA S_DAT
- 0005:0000 00042H NULL BEGDATA
- 0005:0042 01F24H _DATA DATA
- 0005:1F66 00000H COMADS DATA
- 0005:1F66 01972H DATA DATA
- 0005:38D8 00000H XIB DATA
- 0005:38D8 00004H XI DATA
- 0005:38DC 00000H XIE DATA
- 0005:38DC 00000H XCB DATA
- 0005:38DC 00004H XC DATA
- 0005:38E0 00000H XCE DATA
- 0005:38E0 00000H P1IB DATA
- 0005:38E0 00004H P1I DATA
- 0005:38E4 00000H P1IE DATA
- 0005:38E4 00000H P2IB DATA
- 0005:38E4 00000H P2I DATA
- 0005:38E4 00000H P2IE DATA
- 0005:38E4 00000H P3IB DATA
- 0005:38E4 00004H P3I DATA
- 0005:38E8 00000H P3IE DATA
- 0005:38E8 00000H P1CB DATA
- 0005:38E8 00004H P1C DATA
- 0005:38EC 00000H P1CE DATA
- 0005:38EC 00000H P2CB DATA
- 0005:38EC 00000H P2C DATA
- 0005:38EC 00000H P2CE DATA
- 0005:38EC 00000H P3CB DATA
- 0005:38EC 00004H P3C DATA
- 0005:38F0 00000H P3CE DATA
- 0005:38F0 0000EH CDATA DATA
- 0005:38FE 00000H XPB DATA
- 0005:38FE 00000H XP DATA
- 0005:38FE 00000H XPE DATA
- 0005:38FE 00ACAH CONST CONST
- 0005:43C8 00000H EDATA ENDDATA
- 0005:43C8 00000H EEND ENDBSS
- 0005:43C8 00008H HDR MSG
- 0005:43D0 000FAH MSG MSG
- 0005:44CA 00002H PAD MSG
- 0005:44CC 00001H EPAD MSG
- 0005:44CE 00004H _BSS BSS
- 0005:44D2 00000H XOB BSS
- 0005:44D2 00000H XO BSS
- 0005:44D2 00000H XOE BSS
- 0005:44E0 01000H STACK STACK
-
- Origin Group
- 0005:0 DGROUP
- 0004:0 EGROUP
- 0003:0 HGROUP
-
- Address Export Alias
-
- 0002:1ACD WNDFUNC WNDFUNC
-
- Program entry point at 0002:A82E
- :exmp
- :h1.ALPHA2 MAP (OS/2 V2.0)
- :xmp keep=10
-
- Alpha
-
- Start Length Name Class
- 0001:00000000 000010C48H CODE32 CODE 32-bit
- 0001:00010C48 000000030H _MSGSEG32 CODE 32-bit
- 0002:00000000 000002A58H DATA32 DATA 32-bit
- 0002:00002A58 000000268H CONST32 CONST 32-bit
- 0002:00002CC0 00000000CH EDC1 EDC_CLASS 32-bit
- 0002:00002CCC 000000384H EDC2 EDC_CLASS 32-bit
- 0002:00003050 000000004H EDC3 EDC_CLASS 32-bit
- 0002:00003054 000000000H BSS32 BSS 32-bit
- 0002:00003054 000000588H c_common BSS 32-bit
- 0002:000035E0 000012000H STACK32 STACK 32-bit
-
- Origin Group
- 0002:0 DGROUP
- 0000:0 FLAT
-
- Address Publics by Name
-
- 0002:00003488 @BSSEDCINIT.C
- 0002:0000305C @BSSN_EXCEPT.C
- 0002:00003570 @BSSPRTEMSG.C
- 0001:00001F5C AbortAlpha
- 0002:00003498 Ahwnd
- 0002:00003058 Allocate_init
- 0001:00008FB0 atoi
- 0002:00003514 Back_colour
- 0002:00003480 Base
- 0002:0000347C Bold
- 0002:0000004C Branch_colour
- 0001:0000FFB4 calloc
- 0002:00003558 case_sen
- 0001:000052EC ChildProc
- 0002:000030BC children
- 0002:00000010 Child_h
- 0002:0000308C Child_i
- 0002:0000000C Child_w
- 0002:0000352C Child_x
- 0002:00003534 Child_y
- 0002:000034AC Chrh
- 0002:000034BC Chrw
- 0002:00000044 Cmmt_colour
- 0001:00007F30 Cmt_pos
- 0001:00002F10 COLOURDialog
- 0002:00000114 Colour_tab
- 0002:000034A0 comm
- 0001:000024A0 CommandDialog
- 0002:0000351C comm_len
- 0002:00003094 comm_str
- 0001:00007FD4 Compare_string
- 0001:00004F18 Create_Child
- 0001:00003C90 Create_ExpChild
- 0001:00008490 Create_Help
- 0000:00000000 Imp DevCloseDC (PMGPI.604)
- 0000:00000000 Imp DevOpenDC (PMGPI.610)
- 0002:00000D64 dop
- 0000:00000000 Imp DOS32FLATTOSEL (DOSCALLS.425)
- 0001:00010C5A Dos32GetMessage
- 0001:00010C5A DOS32GETMESSAGE
- 0000:00000000 Imp DOS32IQUERYMESSAGECP (MSG.8)
- 0000:00000000 Imp DOS32SELTOFLAT (DOSCALLS.426)
- 0000:00000000 Imp DOS32TRUEGETMESSAGE (MSG.6)
- 0000:00000000 Imp DosAllocMem (DOSCALLS.299)
- 0000:00000000 Imp DosBeep (DOSCALLS.286)
- 0000:00000000 Imp DosClose (DOSCALLS.257)
- 0000:00000000 Imp DosCloseEventSem (DOSCALLS.326)
- 0000:00000000 Imp DosCloseMutexSem (DOSCALLS.333)
- 0000:00000000 Imp DosCreateEventSem (DOSCALLS.324)
- 0000:00000000 Imp DosCreateMutexSem (DOSCALLS.331)
- 0000:00000000 Imp DosCreateThread (DOSCALLS.311)
- 0000:00000000 Imp DosExit (DOSCALLS.234)
- 0000:00000000 Imp DosExitList (DOSCALLS.296)
- 0000:00000000 Imp DosFindClose (DOSCALLS.263)
- 0000:00000000 Imp DosFindFirst (DOSCALLS.264)
- 0000:00000000 Imp DosFindNext (DOSCALLS.265)
- 0000:00000000 Imp DosForceDelete (DOSCALLS.110)
- 0000:00000000 Imp DosFreeMem (DOSCALLS.304)
- 0000:00000000 Imp DosGetInfoBlocks (DOSCALLS.312)
- 0001:00010C5A DOSGETMESSAGE
- 0001:00010C5A DosGetMessage
- 0000:00000000 Imp DosOpen (DOSCALLS.273)
- 0000:00000000 Imp DOSPOSTEVENTSEM (DOSCALLS.328)
- 0000:00000000 Imp DosQueryCurrentDir (DOSCALLS.274)
- 0000:00000000 Imp DosQueryCurrentDisk (DOSCALLS.275)
- 0000:00000000 Imp DosQueryDBCSEnv (NLS.6)
- 0000:00000000 Imp DosQueryFileInfo (DOSCALLS.279)
- 0000:00000000 Imp DosQueryHType (DOSCALLS.224)
- 0000:00000000 Imp DosQueryPathInfo (DOSCALLS.223)
- 0000:00000000 Imp DosQuerySysInfo (DOSCALLS.348)
- 0000:00000000 Imp DosRaiseException (DOSCALLS.356)
- 0000:00000000 Imp DosRead (DOSCALLS.281)
- 0000:00000000 Imp DOSRELEASEMUTEXSEM (DOSCALLS.335)
- 0000:00000000 Imp DOSREQUESTMUTEXSEM (DOSCALLS.334)
- 0000:00000000 Imp DOSRESETEVENTSEM (DOSCALLS.327)
- 0000:00000000 Imp DosSearchPath (DOSCALLS.228)
- 0000:00000000 Imp DosSetCurrentDir (DOSCALLS.255)
- 0000:00000000 Imp DosSetDefaultDisk (DOSCALLS.220)
- 0000:00000000 Imp DosSetExceptionHandler (DOSCALLS.354)
- 0000:00000000 Imp DosSetFilePtr (DOSCALLS.256)
- 0000:00000000 Imp DosSetFileSize (DOSCALLS.272)
- 0000:00000000 Imp DosSetRelMaxFH (DOSCALLS.382)
- 0000:00000000 Imp DosSetSignalExceptionFocus (DOSCALLS.378)
- 0000:00000000 Imp DOSWAITEVENTSEM (DOSCALLS.329)
- 0000:00000000 Imp DosWrite (DOSCALLS.282)
- 0000:00000000 Imp DrgAccessDraginfo (PMDRAG.32)
- 0000:00000000 Imp DrgFreeDraginfo (PMDRAG.39)
- 0000:00000000 Imp DrgQueryDragitemPtr (PMDRAG.46)
- 0000:00000000 Imp DrgQueryStrName (PMDRAG.49)
- 0001:0000803C End_cmt
- 0002:0000356C ERR_File
- 0002:0000356A ERR_INV_PARM
- 0001:0000B6FC exit
- 0002:0000357C fat
- 0001:00009138 fclose
- 0001:0000E0EC fflush
- 0001:00009234 fgets
- 0001:00002018 FileDialog
- 0001:000080B4 file_record
- 0002:000000D4 File_type
- 0001:00003950 Fill_file_lst
- 0001:00004044 Find_Exp_label
- 0001:00008138 Find_Include
- 0001:00008274 Find_string
- 0001:00008308 Fnd_blk
- 0001:000082DC Fnd_nonblk
- 0001:00002700 FONTDialog
- 0001:000098EC fopen
- 0001:0000E3F0 free
- 0001:0000E778 getenv
- 0001:000044E0 Get_Include
- 0000:00000000 Imp GpiCharStringAt (PMGPI.359)
- 0000:00000000 Imp GpiCreateLogFont (PMGPI.368)
- 0000:00000000 Imp GpiCreatePS (PMGPI.369)
- 0000:00000000 Imp GpiDestroyPS (PMGPI.379)
- 0000:00000000 Imp GpiQueryCharStringPosAt (PMGPI.585)
- 0000:00000000 Imp GpiQueryFonts (PMGPI.586)
- 0000:00000000 Imp GpiSetBackColor (PMGPI.504)
- 0000:00000000 Imp GpiSetBackMix (PMGPI.505)
- 0000:00000000 Imp GpiSetCharSet (PMGPI.513)
- 0000:00000000 Imp GpiSetColor (PMGPI.517)
- 0002:000034B0 hab
- 0002:0000350C hdc
- 0001:0000854C HelpProc
- 0002:000016C0 Help_array
- 0002:00003578 Help_Chwnd
- 0002:000035B4 Help_Fhwnd
- 0002:00003564 Help_start
- 0002:00000040 High_colour
- 0002:000034A8 High_len
- 0002:000035B8 High_str
- 0002:000016BC Hlp
- 0002:00003088 hps
- 0002:0000349C hwndClient
- 0002:000034A4 hwndFrame
- 0002:00003074 Incl
- 0002:00000018 Init_file
- 0001:00008330 Isolate
- 0002:00003508 Italic
- 0002:00000014 key
- 0002:000000D0 Language
- 0002:00003574 len
- 0002:0000015C lex_array
- 0002:00000158 lex_size
- 0002:00000048 Locate_colour
- 0002:00003504 Locate_len
- 0002:00003538 Locate_str
- 0001:00000000 main
- 0002:00000004 Main_h
- 0002:00000008 Main_w
- 0002:000035D8 Main_x
- 0002:00000000 Main_y
- 0001:0000EF64 malloc
- 0001:000099E8 memcpy
- 0001:000007C0 MyWindowProc
- 0002:00000038 No_Children
- 0002:00003530 No_fonts
- 0002:00000DE8 prev_cmmd
- 0002:00003484 prev_c_index
- 0002:00000D88 prev_files
- 0002:000034B8 prev_index
- 0001:000083BC Prev_lab
- 0000:00000000 Imp PrfQueryProfileData (PMSHAPI.117)
- 0000:00000000 Imp PrfQueryProfileString (PMSHAPI.115)
- 0000:00000000 Imp PrfWriteProfileData (PMSHAPI.118)
- 0000:00000000 Imp PrfWriteProfileString (PMSHAPI.116)
- 0001:000036A0 PrintDialog
- 0001:00001EF8 Print_error
- 0001:00004B64 Profile
- 0002:000030B4 pszErrMsg
- 0002:000030B8 ptr
- 0002:000034C0 rc
- 0002:000034B4 reqf
- 0002:00003518 ResultPointer
- 0001:00010C48 sig32
- 0002:00000D5C siz
- 0002:00000E48 status
- 0002:00002100 stderr
- 0002:000020F8 stdin
- 0002:000020FC stdout
- 0002:00003568 stmt_No
- 0001:00009A28 strcat
- 0001:00009A6C strchr
- 0001:00009A9C strcmp
- 0001:00009AD0 strcpy
- 0001:00010844 strdup
- 0001:00009B0C strlen
- 0001:00009B30 strncat
- 0001:00009B78 strncmp
- 0001:00009BA8 strncpy
- 0001:0000FA2C strnicmp
- 0001:0000FADC strspn
- 0001:0000FB18 strtoul
- 0001:0000FC10 strupr
- 0002:00003510 tab
- 0001:00008408 Tab_copy
- 0002:0000003C Text_colour
- 0002:00000050 Tile_vect
- 0001:00008458 Upper_case
- 0001:0000FC80 wcstombs
- 0001:0000FE00 wctomb
- 0000:00000000 Imp WinBeginPaint (PMWIN.703)
- 0000:00000000 Imp WinCreateMsgQueue (PMWIN.716)
- 0000:00000000 Imp WinCreateStdWindow (PMWIN.908)
- 0000:00000000 Imp WinDefDlgProc (PMWIN.910)
- 0000:00000000 Imp WinDefWindowProc (PMWIN.911)
- 0000:00000000 Imp WinDestroyMsgQueue (PMWIN.726)
- 0000:00000000 Imp WinDestroyWindow (PMWIN.728)
- 0000:00000000 Imp WinDismissDlg (PMWIN.729)
- 0000:00000000 Imp WinDispatchMsg (PMWIN.912)
- 0000:00000000 Imp WinEndPaint (PMWIN.738)
- 0000:00000000 Imp WinFillRect (PMWIN.743)
- 0000:00000000 Imp WinFreeErrorInfo (PMWIN.748)
- 0000:00000000 Imp WinGetErrorInfo (PMWIN.751)
- 0000:00000000 Imp WinGetMsg (PMWIN.915)
- 0000:00000000 Imp WinInitialize (PMWIN.763)
- 0000:00000000 Imp WinInvalidateRect (PMWIN.765)
- 0000:00000000 Imp WinLoadDlg (PMWIN.924)
- 0000:00000000 Imp WinMessageBox (PMWIN.789)
- 0000:00000000 Imp WinPostMsg (PMWIN.919)
- 0000:00000000 Imp WinQueryDlgItemText (PMWIN.815)
- 0000:00000000 Imp WinQuerySysPointer (PMWIN.828)
- 0000:00000000 Imp WinQuerySysValue (PMWIN.829)
- 0000:00000000 Imp WinQueryWindow (PMWIN.834)
- 0000:00000000 Imp WinQueryWindowPos (PMWIN.837)
- 0000:00000000 Imp WinQueryWindowRect (PMWIN.840)
- 0000:00000000 Imp WinQueryWindowText (PMWIN.841)
- 0000:00000000 Imp WinRegisterClass (PMWIN.926)
- 0000:00000000 Imp WinScrollWindow (PMWIN.849)
- 0000:00000000 Imp WinSendDlgItemMsg (PMWIN.903)
- 0000:00000000 Imp WinSendMsg (PMWIN.920)
- 0000:00000000 Imp WinSetActiveWindow (PMWIN.851)
- 0000:00000000 Imp WinSetDlgItemText (PMWIN.859)
- 0000:00000000 Imp WinSetFocus (PMWIN.860)
- 0000:00000000 Imp WinSetPointer (PMWIN.866)
- 0000:00000000 Imp WinSetWindowPos (PMWIN.875)
- 0000:00000000 Imp WinSetWindowText (PMWIN.877)
- 0000:00000000 Imp WinTerminate (PMWIN.888)
- 0000:00000000 Imp WinWindowFromID (PMWIN.899)
- 0001:0000FF20 _AllocSpace
- 0002:00002064 _argc
- 0002:00002068 _argv
- 0001:0000DC3C _beginthread
- 0001:0000DE98 _bit_test_set
- 0001:0000DEAC _bufprint
- 0001:0000F2CC _callback_opt_sys
- 0001:0000DFA4 _CheckIfMem
- 0001:0000E018 _CloseSem
- 0001:00009BE4 _CloseStream
- 0001:00009E70 _convert
- 0001:0000E060 _CreateSem
- 0001:0000CC34 _critlib_except
- 0001:0000DCE8 _CrtGetLocalData
- 0001:0000DCA4 _CrtInitThread
- 0001:0000B05C _CRT_init
- 0001:0000B57C _CRT_term
- 0002:00002108 _ctable
- 0002:00003078 _ctype
- 0002:0000220C _daylight
- 0001:00009A20 _DosFlatToSel
- 0001:00009A18 _DosSelToFlat
- 0002:00003054 _edata
- 0001:0001007C _edcGetMessage
- 0002:000035E0 _end
- 0001:000100A0 _endthread
- 0002:00003054 _environ
- 0001:0000D7B8 _errno
- 0001:0000F2A8 _Exception
- 0001:0000C1B0 _exception_dllinit
- 0001:0000C17C _exception_procinit
- 0002:00002060 _exeentry
- 0001:0000CE58 _EXE_Exception
- 0001:0000B850 _fcloseall
- 0001:0000E0D8 _fcloseall_weak
- 0001:000101C4 _fillb
- 0002:00002CC0 _firsteib
- 0001:0000E230 _Flush
- 0001:00010418 _flushb
- 0001:0000B93C _Fmprs
- 0002:0000274C _fopenused
- 0001:0001082C _fpreset
- 0001:0000E4D8 _FreeFCB
- 0001:0000E5B8 _freeThreadStorage
- 0001:0000E65C _fullpath
- 0001:0000F2E4 _get_seglim
- 0001:0000E9D4 _heapmin
- 0001:0001083C _ilog2
- 0001:0000EC68 _InitBuf
- 0001:0000ECEC _InitFCB
- 0001:0000C088 _internal_err
- 0002:00003050 _lasteib
- 0001:0000CACC _Lib_excpt
- 0001:0000EECC _ltoa
- 0001:0000C0DC _matherr
- 0002:0000275C _matherr_ptr
- 0001:0000E004 _Math_Exception_Def
- 0002:0000307C _memory_sem
- 0001:0000F690 _MesgServ
- 0001:0000C110 _mig_eib_store
- 0001:0000F320 _noddprs
- 0001:0000F40C _OpenMemory
- 0001:0000CF44 _OpenStream
- 0002:00003076 _osmajor
- 0002:00003090 _osminor
- 0002:00002214 _osmode
- 0002:000034C4 _pBucketArr
- 0002:00002104 _PGLOBAL_PTR
- 0001:0000F860 _PrintErrMsg
- 0001:00008EF0 _printfieee
- 0001:00008EC8 _printf_ansi
- 0001:0000D8A0 _readbSync
- 0001:0000CD50 _recreate_exception
- 0001:0000F2D8 _Regen_exception
- 0001:0000B838 _ReleaseSem
- 0001:0000F8C0 _RemoveMem
- 0001:0000B7B8 _RequestSem
- 0001:0000D5C0 _setuparg
- 0001:0000F948 _setupenv
- 0001:0000EFF0 _split_chunk
- 0001:00008F64 _sprintfieee
- 0001:00008F44 _sprintf_ansi
- 0001:0000FC60 _terminate
- 0001:0000F2C0 _Test_and_reset
- 0001:0000B520 _test_handle
- 0002:00002210 _timezone
- 0002:00003520 _tmemory_sem
- 0001:000108DC _toint
- 0002:0000355C _tzname
- 0001:00010AD0 _uwrite
- 0001:0000FEE4 _wcputs
- 0001:0000FEF8 _wfloatfmt
- 0001:0000F8B8 _w_raise
- 0001:0000C0F0 __Async_exception_flag
- 0001:0000D808 __broken_time_ptr
- 0001:0000D818 __cvt_buf_ptr
- 0001:0000A080 __dofmto
- 0001:0000D7C8 __doserrno
- 0001:0000D7D8 __dttm_ptr
- 0001:0000C1E0 __Exception
- 0001:0000D7F8 __flags
- 0001:0000E460 __free
- 0001:0000D838 __internal_buf_ptr
- 0001:0000D828 __lcvt_buf_ptr
- 0001:0000F0E0 __malloc
- 0001:0000D848 __perror_msg_ptr
- 0001:0000D884 __random_seed
- 0001:00009084 __RunExitList
- 0001:0000C100 __Saved_return_address
- 0001:0000D7E8 __strerror_msg_ptr
- 0001:0000D868 __strtok_pos
- 0001:0000D858 __tempname_ptr
- 0001:000108B0 __threadid
- 0001:0000D878 __version
-
- Address Publics by Value
-
- 0000:00000000 Imp DevOpenDC (PMGPI.610)
- 0000:00000000 Imp WinInitialize (PMWIN.763)
- 0000:00000000 Imp WinSetPointer (PMWIN.866)
- 0000:00000000 Imp WinQueryWindowPos (PMWIN.837)
- 0000:00000000 Imp WinWindowFromID (PMWIN.899)
- 0000:00000000 Imp GpiCreateLogFont (PMGPI.368)
- 0000:00000000 Imp WinGetMsg (PMWIN.915)
- 0000:00000000 Imp DosRead (DOSCALLS.281)
- 0000:00000000 Imp WinQueryWindowRect (PMWIN.840)
- 0000:00000000 Imp DOS32TRUEGETMESSAGE (MSG.6)
- 0000:00000000 Imp WinCreateMsgQueue (PMWIN.716)
- 0000:00000000 Imp DOSREQUESTMUTEXSEM (DOSCALLS.334)
- 0000:00000000 Imp WinRegisterClass (PMWIN.926)
- 0000:00000000 Imp WinScrollWindow (PMWIN.849)
- 0000:00000000 Imp DosCreateEventSem (DOSCALLS.324)
- 0000:00000000 Imp GpiSetBackColor (PMGPI.504)
- 0000:00000000 Imp DosCreateMutexSem (DOSCALLS.331)
- 0000:00000000 Imp DosBeep (DOSCALLS.286)
- 0000:00000000 Imp DosQueryPathInfo (DOSCALLS.223)
- 0000:00000000 Imp GpiCharStringAt (PMGPI.359)
- 0000:00000000 Imp WinSendMsg (PMWIN.920)
- 0000:00000000 Imp PrfQueryProfileData (PMSHAPI.117)
- 0000:00000000 Imp WinQuerySysValue (PMWIN.829)
- 0000:00000000 Imp WinSetWindowPos (PMWIN.875)
- 0000:00000000 Imp DosSetFilePtr (DOSCALLS.256)
- 0000:00000000 Imp WinSetDlgItemText (PMWIN.859)
- 0000:00000000 Imp DosFreeMem (DOSCALLS.304)
- 0000:00000000 Imp DosRaiseException (DOSCALLS.356)
- 0000:00000000 Imp WinDefDlgProc (PMWIN.910)
- 0000:00000000 Imp DosClose (DOSCALLS.257)
- 0000:00000000 Imp DosSetSignalExceptionFocus (DOSCALLS.378)
- 0000:00000000 Imp DosCloseEventSem (DOSCALLS.326)
- 0000:00000000 Imp DrgAccessDraginfo (PMDRAG.32)
- 0000:00000000 Imp DOSWAITEVENTSEM (DOSCALLS.329)
- 0000:00000000 Imp DOS32SELTOFLAT (DOSCALLS.426)
- 0000:00000000 Imp DosGetInfoBlocks (DOSCALLS.312)
- 0000:00000000 Imp WinQueryWindowText (PMWIN.841)
- 0000:00000000 Imp PrfWriteProfileData (PMSHAPI.118)
- 0000:00000000 Imp DosSearchPath (DOSCALLS.228)
- 0000:00000000 Imp DosFindNext (DOSCALLS.265)
- 0000:00000000 Imp DosOpen (DOSCALLS.273)
- 0000:00000000 Imp DosExit (DOSCALLS.234)
- 0000:00000000 Imp WinDismissDlg (PMWIN.729)
- 0000:00000000 Imp DrgQueryStrName (PMDRAG.49)
- 0000:00000000 Imp GpiSetColor (PMGPI.517)
- 0000:00000000 Imp DOSPOSTEVENTSEM (DOSCALLS.328)
- 0000:00000000 Imp DosCloseMutexSem (DOSCALLS.333)
- 0000:00000000 Imp GpiDestroyPS (PMGPI.379)
- 0000:00000000 Imp WinSetFocus (PMWIN.860)
- 0000:00000000 Imp WinBeginPaint (PMWIN.703)
- 0000:00000000 Imp WinCreateStdWindow (PMWIN.908)
- 0000:00000000 Imp DrgQueryDragitemPtr (PMDRAG.46)
- 0000:00000000 Imp DOSRELEASEMUTEXSEM (DOSCALLS.335)
- 0000:00000000 Imp WinQueryWindow (PMWIN.834)
- 0000:00000000 Imp DosWrite (DOSCALLS.282)
- 0000:00000000 Imp DosSetExceptionHandler (DOSCALLS.354)
- 0000:00000000 Imp DevCloseDC (PMGPI.604)
- 0000:00000000 Imp WinEndPaint (PMWIN.738)
- 0000:00000000 Imp DosSetRelMaxFH (DOSCALLS.382)
- 0000:00000000 Imp PrfQueryProfileString (PMSHAPI.115)
- 0000:00000000 Imp DosFindClose (DOSCALLS.263)
- 0000:00000000 Imp DosSetDefaultDisk (DOSCALLS.220)
- 0000:00000000 Imp GpiQueryCharStringPosAt (PMGPI.585)
- 0000:00000000 Imp GpiQueryFonts (PMGPI.586)
- 0000:00000000 Imp WinSendDlgItemMsg (PMWIN.903)
- 0000:00000000 Imp WinFillRect (PMWIN.743)
- 0000:00000000 Imp DosQueryCurrentDir (DOSCALLS.274)
- 0000:00000000 Imp WinDestroyWindow (PMWIN.728)
- 0000:00000000 Imp WinInvalidateRect (PMWIN.765)
- 0000:00000000 Imp DosQueryDBCSEnv (NLS.6)
- 0000:00000000 Imp GpiSetCharSet (PMGPI.513)
- 0000:00000000 Imp WinGetErrorInfo (PMWIN.751)
- 0000:00000000 Imp PrfWriteProfileString (PMSHAPI.116)
- 0000:00000000 Imp DOSRESETEVENTSEM (DOSCALLS.327)
- 0000:00000000 Imp GpiSetBackMix (PMGPI.505)
- 0000:00000000 Imp WinQueryDlgItemText (PMWIN.815)
- 0000:00000000 Imp DrgFreeDraginfo (PMDRAG.39)
- 0000:00000000 Imp DosForceDelete (DOSCALLS.110)
- 0000:00000000 Imp WinDispatchMsg (PMWIN.912)
- 0000:00000000 Imp DOS32FLATTOSEL (DOSCALLS.425)
- 0000:00000000 Imp DosQueryHType (DOSCALLS.224)
- 0000:00000000 Imp DosSetCurrentDir (DOSCALLS.255)
- 0000:00000000 Imp DosAllocMem (DOSCALLS.299)
- 0000:00000000 Imp WinMessageBox (PMWIN.789)
- 0000:00000000 Imp WinDestroyMsgQueue (PMWIN.726)
- 0000:00000000 Imp DosCreateThread (DOSCALLS.311)
- 0000:00000000 Imp DosSetFileSize (DOSCALLS.272)
- 0000:00000000 Imp WinFreeErrorInfo (PMWIN.748)
- 0000:00000000 Imp DosQuerySysInfo (DOSCALLS.348)
- 0000:00000000 Imp DOS32IQUERYMESSAGECP (MSG.8)
- 0000:00000000 Imp WinPostMsg (PMWIN.919)
- 0000:00000000 Imp WinDefWindowProc (PMWIN.911)
- 0000:00000000 Imp WinQuerySysPointer (PMWIN.828)
- 0000:00000000 Imp DosQueryCurrentDisk (DOSCALLS.275)
- 0000:00000000 Imp DosQueryFileInfo (DOSCALLS.279)
- 0000:00000000 Imp GpiCreatePS (PMGPI.369)
- 0000:00000000 Imp WinSetActiveWindow (PMWIN.851)
- 0000:00000000 Imp DosExitList (DOSCALLS.296)
- 0000:00000000 Imp WinSetWindowText (PMWIN.877)
- 0000:00000000 Imp WinLoadDlg (PMWIN.924)
- 0000:00000000 Imp DosFindFirst (DOSCALLS.264)
- 0000:00000000 Imp WinTerminate (PMWIN.888)
- 0001:00000000 main
- 0001:000007C0 MyWindowProc
- 0001:00001EF8 Print_error
- 0001:00001F5C AbortAlpha
- 0001:00002018 FileDialog
- 0001:000024A0 CommandDialog
- 0001:00002700 FONTDialog
- 0001:00002F10 COLOURDialog
- 0001:000036A0 PrintDialog
- 0001:00003950 Fill_file_lst
- 0001:00003C90 Create_ExpChild
- 0001:00004044 Find_Exp_label
- 0001:000044E0 Get_Include
- 0001:00004B64 Profile
- 0001:00004F18 Create_Child
- 0001:000052EC ChildProc
- 0001:00007F30 Cmt_pos
- 0001:00007FD4 Compare_string
- 0001:0000803C End_cmt
- 0001:000080B4 file_record
- 0001:00008138 Find_Include
- 0001:00008274 Find_string
- 0001:000082DC Fnd_nonblk
- 0001:00008308 Fnd_blk
- 0001:00008330 Isolate
- 0001:000083BC Prev_lab
- 0001:00008408 Tab_copy
- 0001:00008458 Upper_case
- 0001:00008490 Create_Help
- 0001:0000854C HelpProc
- 0001:00008EC8 _printf_ansi
- 0001:00008EF0 _printfieee
- 0001:00008F44 _sprintf_ansi
- 0001:00008F64 _sprintfieee
- 0001:00008FB0 atoi
- 0001:00009084 __RunExitList
- 0001:00009138 fclose
- 0001:00009234 fgets
- 0001:000098EC fopen
- 0001:000099E8 memcpy
- 0001:00009A18 _DosSelToFlat
- 0001:00009A20 _DosFlatToSel
- 0001:00009A28 strcat
- 0001:00009A6C strchr
- 0001:00009A9C strcmp
- 0001:00009AD0 strcpy
- 0001:00009B0C strlen
- 0001:00009B30 strncat
- 0001:00009B78 strncmp
- 0001:00009BA8 strncpy
- 0001:00009BE4 _CloseStream
- 0001:00009E70 _convert
- 0001:0000A080 __dofmto
- 0001:0000B05C _CRT_init
- 0001:0000B520 _test_handle
- 0001:0000B57C _CRT_term
- 0001:0000B6FC exit
- 0001:0000B7B8 _RequestSem
- 0001:0000B838 _ReleaseSem
- 0001:0000B850 _fcloseall
- 0001:0000B93C _Fmprs
- 0001:0000C088 _internal_err
- 0001:0000C0DC _matherr
- 0001:0000C0F0 __Async_exception_flag
- 0001:0000C100 __Saved_return_address
- 0001:0000C110 _mig_eib_store
- 0001:0000C17C _exception_procinit
- 0001:0000C1B0 _exception_dllinit
- 0001:0000C1E0 __Exception
- 0001:0000CACC _Lib_excpt
- 0001:0000CC34 _critlib_except
- 0001:0000CD50 _recreate_exception
- 0001:0000CE58 _EXE_Exception
- 0001:0000CF44 _OpenStream
- 0001:0000D5C0 _setuparg
- 0001:0000D7B8 _errno
- 0001:0000D7C8 __doserrno
- 0001:0000D7D8 __dttm_ptr
- 0001:0000D7E8 __strerror_msg_ptr
- 0001:0000D7F8 __flags
- 0001:0000D808 __broken_time_ptr
- 0001:0000D818 __cvt_buf_ptr
- 0001:0000D828 __lcvt_buf_ptr
- 0001:0000D838 __internal_buf_ptr
- 0001:0000D848 __perror_msg_ptr
- 0001:0000D858 __tempname_ptr
- 0001:0000D868 __strtok_pos
- 0001:0000D878 __version
- 0001:0000D884 __random_seed
- 0001:0000D8A0 _readbSync
- 0001:0000DC3C _beginthread
- 0001:0000DCA4 _CrtInitThread
- 0001:0000DCE8 _CrtGetLocalData
- 0001:0000DE98 _bit_test_set
- 0001:0000DEAC _bufprint
- 0001:0000DFA4 _CheckIfMem
- 0001:0000E004 _Math_Exception_Def
- 0001:0000E018 _CloseSem
- 0001:0000E060 _CreateSem
- 0001:0000E0D8 _fcloseall_weak
- 0001:0000E0EC fflush
- 0001:0000E230 _Flush
- 0001:0000E3F0 free
- 0001:0000E460 __free
- 0001:0000E4D8 _FreeFCB
- 0001:0000E5B8 _freeThreadStorage
- 0001:0000E65C _fullpath
- 0001:0000E778 getenv
- 0001:0000E9D4 _heapmin
- 0001:0000EC68 _InitBuf
- 0001:0000ECEC _InitFCB
- 0001:0000EECC _ltoa
- 0001:0000EF64 malloc
- 0001:0000EFF0 _split_chunk
- 0001:0000F0E0 __malloc
- 0001:0000F2A8 _Exception
- 0001:0000F2C0 _Test_and_reset
- 0001:0000F2CC _callback_opt_sys
- 0001:0000F2D8 _Regen_exception
- 0001:0000F2E4 _get_seglim
- 0001:0000F320 _noddprs
- 0001:0000F40C _OpenMemory
- 0001:0000F690 _MesgServ
- 0001:0000F860 _PrintErrMsg
- 0001:0000F8B8 _w_raise
- 0001:0000F8C0 _RemoveMem
- 0001:0000F948 _setupenv
- 0001:0000FA2C strnicmp
- 0001:0000FADC strspn
- 0001:0000FB18 strtoul
- 0001:0000FC10 strupr
- 0001:0000FC60 _terminate
- 0001:0000FC80 wcstombs
- 0001:0000FE00 wctomb
- 0001:0000FEE4 _wcputs
- 0001:0000FEF8 _wfloatfmt
- 0001:0000FF20 _AllocSpace
- 0001:0000FFB4 calloc
- 0001:0001007C _edcGetMessage
- 0001:000100A0 _endthread
- 0001:000101C4 _fillb
- 0001:00010418 _flushb
- 0001:0001082C _fpreset
- 0001:0001083C _ilog2
- 0001:00010844 strdup
- 0001:000108B0 __threadid
- 0001:000108DC _toint
- 0001:00010AD0 _uwrite
- 0001:00010C48 sig32
- 0001:00010C5A Dos32GetMessage
- 0001:00010C5A DOSGETMESSAGE
- 0001:00010C5A DosGetMessage
- 0001:00010C5A DOS32GETMESSAGE
- 0002:00000000 Main_y
- 0002:00000004 Main_h
- 0002:00000008 Main_w
- 0002:0000000C Child_w
- 0002:00000010 Child_h
- 0002:00000014 key
- 0002:00000018 Init_file
- 0002:00000038 No_Children
- 0002:0000003C Text_colour
- 0002:00000040 High_colour
- 0002:00000044 Cmmt_colour
- 0002:00000048 Locate_colour
- 0002:0000004C Branch_colour
- 0002:00000050 Tile_vect
- 0002:000000D0 Language
- 0002:000000D4 File_type
- 0002:00000114 Colour_tab
- 0002:00000158 lex_size
- 0002:0000015C lex_array
- 0002:00000D5C siz
- 0002:00000D64 dop
- 0002:00000D88 prev_files
- 0002:00000DE8 prev_cmmd
- 0002:00000E48 status
- 0002:000016BC Hlp
- 0002:000016C0 Help_array
- 0002:00002060 _exeentry
- 0002:00002064 _argc
- 0002:00002068 _argv
- 0002:000020F8 stdin
- 0002:000020FC stdout
- 0002:00002100 stderr
- 0002:00002104 _PGLOBAL_PTR
- 0002:00002108 _ctable
- 0002:0000220C _daylight
- 0002:00002210 _timezone
- 0002:00002214 _osmode
- 0002:0000274C _fopenused
- 0002:0000275C _matherr_ptr
- 0002:00002CC0 _firsteib
- 0002:00003050 _lasteib
- 0002:00003054 _edata
- 0002:00003054 _environ
- 0002:00003058 Allocate_init
- 0002:0000305C @BSSN_EXCEPT.C
- 0002:00003074 Incl
- 0002:00003076 _osmajor
- 0002:00003078 _ctype
- 0002:0000307C _memory_sem
- 0002:00003088 hps
- 0002:0000308C Child_i
- 0002:00003090 _osminor
- 0002:00003094 comm_str
- 0002:000030B4 pszErrMsg
- 0002:000030B8 ptr
- 0002:000030BC children
- 0002:0000347C Bold
- 0002:00003480 Base
- 0002:00003484 prev_c_index
- 0002:00003488 @BSSEDCINIT.C
- 0002:00003498 Ahwnd
- 0002:0000349C hwndClient
- 0002:000034A0 comm
- 0002:000034A4 hwndFrame
- 0002:000034A8 High_len
- 0002:000034AC Chrh
- 0002:000034B0 hab
- 0002:000034B4 reqf
- 0002:000034B8 prev_index
- 0002:000034BC Chrw
- 0002:000034C0 rc
- 0002:000034C4 _pBucketArr
- 0002:00003504 Locate_len
- 0002:00003508 Italic
- 0002:0000350C hdc
- 0002:00003510 tab
- 0002:00003514 Back_colour
- 0002:00003518 ResultPointer
- 0002:0000351C comm_len
- 0002:00003520 _tmemory_sem
- 0002:0000352C Child_x
- 0002:00003530 No_fonts
- 0002:00003534 Child_y
- 0002:00003538 Locate_str
- 0002:00003558 case_sen
- 0002:0000355C _tzname
- 0002:00003564 Help_start
- 0002:00003568 stmt_No
- 0002:0000356A ERR_INV_PARM
- 0002:0000356C ERR_File
- 0002:00003570 @BSSPRTEMSG.C
- 0002:00003574 len
- 0002:00003578 Help_Chwnd
- 0002:0000357C fat
- 0002:000035B4 Help_Fhwnd
- 0002:000035B8 High_str
- 0002:000035D8 Main_x
- 0002:000035E0 _end
-
- Program entry point at 0001:90A8
- :exmp
- ...lab7
- :BACKM
- :INDEX.
- .****************** End of ALPHA ********************
- :egdoc.