========
vxrefbas
========

--------------------------------------------------------------
Variable cross-reference for tokenized Atari 8-bit BASIC files
--------------------------------------------------------------

.. include:: manhdr.rst

SYNOPSIS
========

vxrefbas **input-file**

DESCRIPTION
===========

**vxrefbas** reads an Atari 8-bit BASIC tokenized program and prints a
list of variables (names and token numbers), each with a list of line
numbers where the variable is referenced.

String variable names end with *$*. Arrays end with *(*. Numeric
(scalar) variable names don't have a special character.

After the list of lines, the reference count is shown in parentheses.
Multiple references on the same line of code are not counted
separately, so this is a count of *lines* that reference the variable.
Variables that aren't used by the program are listed as *(no
references)*.

Each line number may be followed by an *=* and one or more markers,
which show the type of variable access.

**A**
  Variable is assigned on this line, with *LET* or "implied LET" (e.g.
  *A=1*).

**F**
  Variable is used as the control variable of a *FOR* loop on this line.

**N**
  Variable is used in a *NEXT* on this line.

**D**
  The variable is dimensioned (*DIM* command) on this line. Only applies to
  string and array variables.

**I**
  Variable was *INPUT* on this line.

**R**
  Variable was *READ* on this line.

**G**
  Variable was read with *GET* on this line.

**O**
  Variable was set by *NOTE* on this line. Sorry, this can't be *N*, it's
  already used for *NEXT*.

**L**
  Variable was set by *LOCATE* on this line.

The last line of output shows the total number of variables and the
number of unreferenced variables.

OPTIONS
=======

General Options
---------------
**--help**
  Print usage message and exit.

**--version**
  Print version number and exit.

**-v**
  Verbose operation. When displaying a number in verbose mode, it will
  be prefixed with *$* if it's in hex, or no prefix for decimal.

EXIT STATUS
===========

0 for success, 1 for failure.

.. include:: manftr.rst