Fix 80-column fixtures and tutorial expectations
All checks were successful
akbasic CI Build / cmake_build (push) Successful in 3m29s
akbasic CI Build / sanitizers (push) Successful in 4m42s
akbasic CI Build / coverage (push) Successful in 3m56s
akbasic CI Build / akgl_build (push) Successful in 8m34s
akbasic CI Build / mutation_test (push) Successful in 18m50s
All checks were successful
akbasic CI Build / cmake_build (push) Successful in 3m29s
akbasic CI Build / sanitizers (push) Successful in 4m42s
akbasic CI Build / coverage (push) Successful in 3m56s
akbasic CI Build / akgl_build (push) Successful in 8m34s
akbasic CI Build / mutation_test (push) Successful in 18m50s
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
10 REM A field name is checked against a closed set the program declared, which
|
||||
20 REM is the one thing in this language whose valid spellings are written down.
|
||||
10 REM A field name is checked against the closed set the program declared;
|
||||
20 REM this is the one thing whose valid spellings are written down.
|
||||
30 REM A misspelled *variable* is still silent -- see the last two lines.
|
||||
40 TYPE RECT
|
||||
50 W#
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
170 RETURN B@.W#
|
||||
180 PRINT WIDEN(A@)
|
||||
190 PRINT A@.W#
|
||||
200 REM To change one on purpose, pass a pointer. Assignment copies a pointer's
|
||||
200 REM To change one on purpose, pass a pointer. Assignment copies its
|
||||
210 REM reference, so the callee is looking at the caller's own record.
|
||||
220 DIM Q@ AS PTR TO CRATE
|
||||
230 POINT Q@ AT A@
|
||||
@@ -37,7 +37,7 @@
|
||||
370 N2@.COUNT# = 20
|
||||
380 POINT N1@.TAIL@ AT N2@
|
||||
390 DEF TOTAL(P@ AS PTR TO NODE)
|
||||
395 REM A pointer is true when it points at something, which is how a walk knows
|
||||
395 REM A pointer is true when it points at something, so a walk knows
|
||||
396 REM where the list ends. NOT is the bitwise operator here, so the test is
|
||||
397 REM written the positive way round.
|
||||
400 IF P@->TAIL@ THEN RETURN P@->COUNT# + TOTAL(P@->TAIL@)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
10 REM A TYPE declares its fields; each takes its own type from its own suffix,
|
||||
10 REM A TYPE declares its fields; each takes its type from its own suffix,
|
||||
20 REM which is the same rule every other name in this language follows.
|
||||
30 TYPE COORD
|
||||
40 X#
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
10 REM A type name and a field name are bare words, and so is every verb, so
|
||||
20 REM they share a namespace whether we like it or not. Both are refused with
|
||||
30 REM the same rule the scanner already applies to variable names -- and a type
|
||||
30 REM the scanner applies the same rule to variable names -- and a type
|
||||
40 REM name is refused by the prescan, which can say so plainly rather than
|
||||
50 REM leaving the parser to report "Expected expression or literal".
|
||||
60 TYPE POINT
|
||||
|
||||
Reference in New Issue
Block a user