Commit Graph

119 Commits

Author SHA1 Message Date
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
Rob Greene 0026c02daf Applying Java migration aids for Java 21. 2025-10-18 18:10:14 -07:00
Rob Greene 5d1dad9fc9 Applying Java migration aids for Java 15. 2025-10-18 18:03:42 -07:00
Rob Greene 9c55467c09 Applying Java migration aids through Java 14. 2025-10-18 18:02:10 -07:00
Rob Greene 824f03f855 Another round of code suggestions. 2025-10-18 17:20:47 -07:00
Rob Greene 40b525ae08 First round of code suggestions. 2025-10-18 17:05:12 -07:00