RECOMP
PURPOSE:
The RECOMP statement Recompiles a complete program.
STATEMENT SYNTAX:
Recompiles the program in the workspace
RECOMP
Recompile the program in P!
1000 RECOMP P![""]
Recompiles the program in P! while renumbering it based on L!
1000 RECOMP P![""],L![""]
Recompile program in P! while generating Cross Reference Information
1000 X!["XREF"]=1;RECOMP P![""],X![""]
L! above contains a Line Number Array with the following format:
The Key the Current Line Number as a 3 byte binary number (eg BIN(1000,3) for line 1000)
The Data the New Line Number as a 4 byte Little Endian number (eg SWAP(BIN(1000,4),$07$) for line 1000)
The following program renumbers the program "MYPROG" so that the first line number is 1000 and
subsequent line numbers are an increment of 5.
10 BEGIN
20 DIM P!
30 LOADPROG "MYPROG",P![""]
40 DIM L!
50 LET NL=1000
60 LET L$=P!["L"]
70 LET L$=P![#ksa_current_key]
80 GOTO 0100
90 LET L$=P![#ksa_next_key]
100 IF L$(1,1)<>"L" THEN GOTO 0160
110 LET L$=L$(2)
120 LET NL$=SWAP(BIN(NL,4),$07$)
130 LET L![L$]=NL$
140 LET NL=NL+5
150 GOTO 0090
160 RECOMP P![""],L![""]
170 SAVEPROG "MYPROG",P![""]
Note: RENUM is a RECOMP where a Line Number Array is generated based on
the contents of REM statements.
When generating a new program into a KSA and then using RECOMP to compile it you
do not need to INITPROG the KSA
The contents X! will be documented in an appendix. It's use can be seen in the
program "$__DISPLAY_XREF1"
SEE:
LOADPROG
SAVEPROG
INITPROG
COMPILE
RENUM