Commit Graph

124 Commits

Author SHA1 Message Date
Rob Greene
9a62c86abf Adding KP4. Minimal testing. 2026-01-14 16:26:54 -06:00
Rob Greene
d592990949 Adding KP2 binary. Untested (Applesoft was never tested as well!). 2026-01-13 18:35:23 -06:00
Rob Greene
f8af76959e Adding Nibble Checkit binary proofreader. Juggled interface names a bit. 2026-01-13 13:40:09 -06:00
Rob Greene
f3ea9f659d Adding binary Apple Checker 3.0 code and test. 2026-01-11 12:38:56 -06:00
Rob Greene
2ec00274f6 Adding license headers. Ugh. 2026-01-10 16:32:42 -06:00
Rob Greene
0b8ebf76bb Fixing Checkit's "?" replacement -- it was replacing the "?" with "PRINT" and then printing the line with the replacement. 2026-01-10 16:13:56 -06:00
Rob Greene
f9a2c25ddd Fixing spacing in listing to be closer to Applesoft's listing. 2026-01-10 16:13:21 -06:00
Rob Greene
2c03a3c62d Two changes: (1) Refactored "proofreaders" into an input buffer-based proofreader and a tokenized proofreader along with code changes; (2) Checkit now handles "?" as "PRINT". 2026-01-10 13:03:20 -06:00
Rob Greene
20d8d53b5a Updating classic token reader to allow strings that don't terminate a string with a quote. 2025-11-29 18:30:09 -06:00
Rob Greene
26df0bc0cd Adding in quote and whitespace handling that was somehow missed. 2025-11-22 12:24:40 -06:00
Rob Greene
3027c9380e Changed ClassicTokenReaderTest to compare tokens instead of strings. 2025-11-21 17:59:16 -06:00
Rob Greene
ca2f7a11f9 Updating KP 2.0 documentation. 2025-11-21 16:40:13 -06:00
Rob Greene
b38be3e324 Adding Key Perfect 2.0. 2025-11-21 16:26:29 -06:00
Rob Greene
9ed3496a6f Better spacing. 2025-11-21 15:38:58 -06:00
Rob Greene
f4d0efbc59 Handle colon character in a DATA statement string. 2025-11-20 22:05:38 -06:00
Rob Greene
3dce29a9bd Fixing colon handling. If a colon occured in a string, it terminated the string and inserted a colon syntax character. 2025-11-20 21:58:17 -06:00
Rob Greene
99bea14272 Found little glitch in modern parser where a DOS CR+LF ending on a REM statement embedded the CR into the comment due to hard-coded "read to end of line" for REM handling. 2025-11-20 11:44:47 -06:00
Rob Greene
ddb545daff Fixing classic token parser issue where zero-length strings (aka A$="") lost the string assignment. Also catching the weird and unlikely 'PRINT "HELLO""WORLD"' type of construct. 2025-11-20 11:26:04 -06:00
Rob Greene
244bba5da1 Fixing classic parser for string arrays. A string variable is now an entire ident (different from modern) and the parenthesis is not lost (a missed 'continue' statement in the parser!). 2025-11-20 10:50:37 -06:00
Rob Greene
c658518301 Adding in Key Perfect 5 lowercase handling. 2025-11-18 14:13:25 -06:00
Rob Greene
fe5026ad61 Found bug in Key Perfect 5.0. Once a REM was detected... it never got reset. Doh! 2025-11-18 12:38:49 -06:00
Rob Greene
5a3eb9bc77 First draft of Key Perfect 5 algorithm. Doesn't work for everything. Committing before ripping everything apart. 2025-11-17 21:28:33 -06:00
Rob Greene
2e0c91703c Fixing output glitch and javadoc comments. 2025-11-17 21:27:46 -06:00
Rob Greene
9d52ebfe61 Adding MicroSPARC Key Perfect v4.0 code checker. 2025-11-16 17:17:07 -06:00
Rob Greene
02c960b749 Adding Nibble Apple Checker. 2025-11-11 18:52:51 -06:00
Rob Greene
d95415dc69 Adding some unit-level testing; added the Compute! Apple Automatic Proofreader; reorganized the CLI to group Proofreaders together; updated README with samples. 2025-11-10 17:03:16 -06:00
Rob Greene
7a4a4ce7c9 Repackaging into proofreaders. 2025-11-10 10:00:47 -06:00
Rob Greene
42df8f2aa7 Clarifying checkit algorithm; simplified it a little bit. 2025-11-10 09:26:21 -06:00
Rob Greene
ac83370cda Didn't use this for testing; removing it. 2025-11-09 19:50:59 -06:00
Rob Greene
8c303a4f98 Adding experimental Nibble Checkit code validation. 2025-11-09 13:42:57 -06:00
Rob Greene
9da332fd68 Adding shorten-numbers optimization. (0.6 is output as just .6 since leading 0 is not needed.) 2025-11-07 17:24:37 -06:00
Rob Greene
f5620f9aa0 Whitespace. 2025-11-07 17:24:11 -06:00
Rob Greene
0ed206987f Updating API docs. 2025-11-07 14:59:00 -06:00
Rob Greene
1d758a9b83 Adding number preservation tests which revealed classic tokenizer was not generating the correct tokens for '&', '+', '-', '*', '/', '^', '<', '=', and '>'. 2025-11-07 13:13:51 -06:00
Rob Greene
4a3c117d5e Now supporting 3 "tokenizers" (modern, classic, preserve). Updated output visitors (byte, print, pretty print) to support number preservation. 2025-11-06 15:06:27 -06:00
Rob Greene
3cf47af205 ClassicTokenReader now supports line continuation (\) character. 2025-11-04 14:30:39 -06:00
Rob Greene
3c3aedbcfb Renaming TokenReader. Now there is a ModernTokenReader and ClassicTokenReader. 2025-11-04 12:05:38 -06:00
Rob Greene
1b5a75359b Adding support for apostrophe as a comment. 2025-11-04 12:03:49 -06:00
Rob Greene
1c257820a0 Adding directive support. Also emitting '=' as the keyword since the parser seems to expect it. (As syntax char works as well, but that breaks directives.) 2025-11-03 18:46:32 -06:00
Rob Greene
e5b94e52ad Adding REM to ClassicTokenReader. 2025-11-03 17:22:03 -06:00
Rob Greene
6316db7b59 Adding some tests based on old tickets. 2025-11-03 14:20:50 -06:00
Rob Greene
a7c8afb705 Updating how DATA is handled - STRING assumes quotes and a new value seems appropriate. 2025-11-03 14:03:43 -06:00
Rob Greene
252d2031bb New strategy, following some existing code that works. Morphing towards the token stream. 2025-11-03 10:50:01 -06:00
Rob Greene
7c5ecc7ee5 Trying to make token testing easier to build out. 2025-10-30 20:57:58 -05:00
Rob Greene
f95ff53d78 First stab at token reader. Detects tokens too quickly at this time. 2025-10-30 14:49:56 -05:00
Rob Greene
97ab248468 Converted Token to a record. 2025-10-30 14:49:12 -05:00
Rob Greene
02b07eafc5 Repackaged. 2025-10-21 15:26:49 -05:00
Rob Greene
46befa1792 Updating project to run CLTH tests during nativeCompile as well. 2025-10-19 13:23:26 -07:00
Rob Greene
25e3e6168a Trying to tweak Gradle configuration a bit. 2025-10-19 09:12:49 -07:00
Rob Greene
4e84b498de Adding license check; adding license headers. 2025-10-18 18:36:45 -07:00