Check the reference corpus in, so the build stops needing the Go submodule
All 41 .bas/.txt pairs copied byte for byte from basicinterpreter@d76162c into tests/reference/, plus the Commodore font into assets/fonts/ -- the two things that tied the build to deps/basicinterpret. Both were verified cmp-identical to the submodule copies. This reverses a decision that was deliberate and correct at the time: the corpus was driven in place because copying a submodule's corpus guarantees drift. Overruled on purpose -- the Go dependency is being deprecated, and a build that cannot run its acceptance suite without cloning the implementation it replaced is not finished. tests/reference/README.md records what the drift now costs and that those expectations are never edited. Checked rather than assumed: both configurations configure, build and pass from scratch with deps/basicinterpret moved out of the tree entirely. The submodule is kept as the behavioural spec, which is a real use. The font came with an open licence question; assets/fonts/PROVENANCE.md states it. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
29
tests/reference/examples/bubblesort.bas
Normal file
29
tests/reference/examples/bubblesort.bas
Normal file
@@ -0,0 +1,29 @@
|
||||
10 DIM A#(5)
|
||||
15 ITERATIONS# = 0
|
||||
20 A#(0) = 5
|
||||
21 A#(1) = 2
|
||||
22 A#(2) = 4
|
||||
23 A#(3) = 1
|
||||
24 A#(4) = 3
|
||||
25 PRINT "BEFORE SORTING: "
|
||||
26 FOR I# = 0 TO 4
|
||||
27 PRINT A#(I#)
|
||||
28 NEXT I#
|
||||
30 CHANGED# = 0
|
||||
32 ITERATIONS# = ITERATIONS# + 1
|
||||
35 FOR I# = 0 TO 3
|
||||
45 J# = I#+1
|
||||
46 REM PRINT "COMPARING INDEXES " + I# + " (" + A#(I#) + ") AND " + J# + "
|
||||
50 IF A#(I#) <= A#(J#) THEN GOTO 100
|
||||
55 REM PRINT "SWAPPING INDEXES " + I# + " AND " + J#
|
||||
60 TMP# = A#(I#)
|
||||
70 A#(I#) = A#(J#)
|
||||
80 A#(J#) = TMP#
|
||||
85 CHANGED# = CHANGED# + 1
|
||||
100 NEXT I#
|
||||
110 IF CHANGED# <> 0 THEN GOTO 30
|
||||
115 PRINT "AFTER SORTING:"
|
||||
120 FOR I# = 0 TO 4
|
||||
130 PRINT A#(I#)
|
||||
140 NEXT I#
|
||||
145 PRINT "SORTED IN " + ITERATIONS# + " ITERATIONS"
|
||||
13
tests/reference/examples/bubblesort.txt
Normal file
13
tests/reference/examples/bubblesort.txt
Normal file
@@ -0,0 +1,13 @@
|
||||
BEFORE SORTING:
|
||||
5
|
||||
2
|
||||
4
|
||||
1
|
||||
3
|
||||
AFTER SORTING:
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
SORTED IN 4 ITERATIONS
|
||||
10
tests/reference/examples/factorial.bas
Normal file
10
tests/reference/examples/factorial.bas
Normal file
@@ -0,0 +1,10 @@
|
||||
10 N# = 5
|
||||
20 RESULT# = 1
|
||||
30 GOSUB 100
|
||||
40 PRINT "FACTORIAL(5) IS " + RESULT#
|
||||
50 QUIT
|
||||
100 IF N# <= 1 THEN RETURN
|
||||
110 RESULT# = RESULT# * N#
|
||||
120 N# = N# - 1
|
||||
130 GOSUB 100
|
||||
140 RETURN
|
||||
1
tests/reference/examples/factorial.txt
Normal file
1
tests/reference/examples/factorial.txt
Normal file
@@ -0,0 +1 @@
|
||||
FACTORIAL(5) IS 120
|
||||
7
tests/reference/examples/strreverse.bas
Normal file
7
tests/reference/examples/strreverse.bas
Normal file
@@ -0,0 +1,7 @@
|
||||
10 INPUT$ = "HELLO"
|
||||
20 STRLEN# = LEN(INPUT$) - 1
|
||||
30 REV$ = ""
|
||||
40 FOR I# = STRLEN# TO 0 STEP -1
|
||||
50 REV$ = REV$ + MID(INPUT$, I#, 1)
|
||||
60 NEXT I#
|
||||
70 PRINT "REVERSED: " + REV$
|
||||
1
tests/reference/examples/strreverse.txt
Normal file
1
tests/reference/examples/strreverse.txt
Normal file
@@ -0,0 +1 @@
|
||||
REVERSED: OLLEH
|
||||
Reference in New Issue
Block a user