.\" Man page generated from reStructuredText. . . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .TH "VXREFBAS" 1 "2024-06-13" "0.2.1" "Urchlay's Atari 8-bit Tools" .SH NAME vxrefbas \- Variable cross-reference for tokenized Atari 8-bit BASIC files .SH SYNOPSIS .sp vxrefbas \fBinput\-file\fP .SH DESCRIPTION .sp \fBvxrefbas\fP 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. .sp String variable names end with \fI$\fP\&. Arrays end with \fI(\fP\&. Numeric (scalar) variable names don\(aqt have a special character. .sp After the list of lines, the reference count is shown in parentheses. Variables that aren\(aqt used by the program are listed as \fI(no references)\fP\&. .sp Each line number may be followed by an \fI=\fP and one or more markers, which show the type of variable access. .INDENT 0.0 .TP .B \fBA\fP Variable is assigned on this line, with \fILET\fP or "implied LET" (e.g. \fIA=1\fP). .TP .B \fBF\fP Variable is used as the control variable of a \fIFOR\fP loop on this line. .TP .B \fBN\fP Variable is used in a \fINEXT\fP on this line. .TP .B \fBD\fP The variable is dimensioned (\fIDIM\fP command) on this line. Only applies to string and array variables. .TP .B \fBI\fP Variable was \fIINPUT\fP on this line. .TP .B \fBR\fP Variable was \fIREAD\fP on this line. .UNINDENT .SH OPTIONS .SS General Options .INDENT 0.0 .TP .B \fB\-\-help\fP Print usage message and exit. .TP .B \fB\-\-version\fP Print version number and exit. .TP .B \fB\-v\fP Verbose operation. When displaying a number in verbose mode, it will be prefixed with \fI$\fP if it\(aqs in hex, or no prefix for decimal. .UNINDENT .SH BUGS .sp This program: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C 10 FILE=1:INPUT #FILE,LINE$ .ft P .fi .UNINDENT .UNINDENT .sp Results in this: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C FILE/80: 10=AI (1) LINE$/81: 10=AI (1) 2 variables, 0 unreferenced. .ft P .fi .UNINDENT .UNINDENT .sp \fBvxrefbas\fP thinks \fIFILE\fP is being \fIINPUT\fP on line 10, which it isn\(aqt. The output for \fIFILE\fP should read \fI10=A (1)\fP\&. .sp Also, this program: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C 10 DIM A(1):A(0)=10 20 DIM B(A(0)) .ft P .fi .UNINDENT .UNINDENT .sp Results in this: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C A(/80: 10=AD 20=D (2) B(/81: 20=D (1) 2 variables, 0 unreferenced. .ft P .fi .UNINDENT .UNINDENT .sp \fBvxrefbas\fP thinks \fIA(\fP is being DIMensioned on line 20, which it isn\(aqt. The output for \fIA(\fP should read \fI10=AD 20 (2)\fP\&. .SH EXIT STATUS .sp 0 for success, 1 for failure. .SH COPYRIGHT .sp WTFPL. See \fI\%http://www.wtfpl.net/txt/copying/\fP for details. .SH AUTHOR .INDENT 0.0 .IP B. 3 Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\&. .UNINDENT .SH SEE ALSO .sp \fBa8eol\fP(1), \fBa8utf8\fP(1), \fBatr2xfd\fP(1), \fBatrsize\fP(1), \fBaxe\fP(1), \fBblob2c\fP(1), \fBblob2xex\fP(1), \fBcart2xex\fP(1), \fBdasm2atasm\fP(1), \fBdumpbas\fP(1), \fBf2toxex\fP(1), \fBfenders\fP(1), \fBprotbas\fP(1), \fBrenumbas\fP(1), \fBrom2cart\fP(1), \fBunmac65\fP(1), \fBunprotbas\fP(1), \fBvxrefbas\fP(1), \fBxexamine\fP(1), \fBxexcat\fP(1), \fBxexsplit\fP(1), \fBxfd2atr\fP(1), \fBxex\fP(5), \fBatascii\fP(7). .sp Any good Atari 8\-bit book: \fIDe Re Atari\fP, \fIThe Atari BASIC Reference Manual\fP, the \fIOS Users\(aq Guide\fP, \fIMapping the Atari\fP, etc. .\" Generated by docutils manpage writer. .