_list Utility - Program List/Cross Reference

Syntax

call "_list"{,filelist}

Description

The _list utility can generate one of four forms of program listings, as well as cross reference line numbers, verbs, functions, I/O options, and global variables. The output from _list is sent to one of three places:

Location

Description

Terminal

Output will be as wide and long as the current window.

Printer

The width of the output can be either STANDARD (usually 80 columns) or COMPRESSED (usually 132 columns).

ASCII file

The output to a file will be 80 columns wide with all form feeds and carriage returns removed. The lines in the file will be separated by linefeeds only.

The following identifies the forms of listings that may be selected:

Listing Type

Description

Simple

A simple listing similar to the LIST verb. For example:

0010 REM "This is a remark
0020 IF A=0 THEN GOTO 0030 ELSE GOTO 0040
0030 PRINT "LINE 30"; GOTO 50
0040 FOR X=1 TO 10; PRINT X; NEXT X
0050 END

Pretty

A verb separated and indented listing. This form of listing shows a semi-block structured format. For example, THEN and ELSE will be indented from the IF verb. Lines between FOR - NEXT combinations will be indented to emphasize a block of code. For example:

0010 REM "This is a remark
0020 IF A=0
  THEN
   GOTO 0030
  ELSE
   GOTO 0040
0030 PRINT "LINE 30";
  GOTO 0050
0040 FOR X=1 TO 10;
  PRINT X;
  NEXT X
0050 END

Flow

A flow listing is similar to a pretty listing in that it also does a verb separated and indented listing. A flow listing will also draw lines indicating program flow. For example, a line with a GOTO will have a line drawn from it to the line referenced by the GOTO.

   0010 REM "This is a remark
   0020 IF A=0
     THEN
  ---    GOTO 0030
  |   ELSE
 ---+-     GOTO 0040
 | --> 0030 PRINT "LINE 30";
---+------      GOTO 0050
| |--*-> 0040 FOR X=1 TO 10;
|  |   PRINT X;
|  ---   NEXT X
-----------> 0050 END

None

No listing is output. This is used if only a cross reference is desired.

If cross referencing is selected, the following can be referenced:

  • Variables

  • Line numbers

  • Verbs

  • Functions

  • I/O options

If more than one program is selected and global variable referencing is selected, all variables used will be output showing which programs they are used in.

If more than one program is selected and global variable referencing is selected, all variables used will be output showing which programs they are used in.

CPL() and LST() are not functional in BBj and generate errors. As a result, this utility is also non-functional.

Related Files/Programs

_flist.utl

_prntsel.pub

_tables.dat

_global.utl

_refsel.utl

_toktxt.dat

_outsel.pub

_resolve.utl

_typesel.utl

_path.pub

_stdinp.pub

_xref.utl

See Also

Alphabetical Utilities

Functional Listing of Utilities