Commit Graph

68 Commits

Author SHA1 Message Date
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
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
Rob Greene
56e3cc93dd Allowing variable names that contain a partial keyword (like PR# and IN#). #47 2025-10-13 16:34:56 -05:00
Rob Greene
aed6dd11c3 Adding special handling for DATA statement. #48. 2025-10-13 13:05:04 -05:00
Rob Greene
08ec27d3da Working on Graal native image capabilities. 'st' looks stable at this point. 2025-07-17 21:00:43 -05:00
Rob Greene
5e72a68c42 Adding a "wrapper" capability to help with DOS rewriting application. #24 2023-10-30 12:53:33 -05:00
Rob Greene
d84d4ca1e8 Correcting call when moving to call the move code instead of the embedded code. Related to #24. 2023-10-29 13:41:44 -05:00
Rob Greene
bcfa634f7b Marking most of this class as private to prevent API poisoning.
Preparation for #43.
2020-11-25 12:38:31 -06:00
Rob Greene
f729ef7c6d Displaying a more intelligent error message with invalid tokens in the
input stream. #20
2019-09-02 21:07:52 -05:00
kris
f7b5b050dd Support parsing '?' tokens, which is a shorthand for 'PRINT'. 2019-07-20 15:52:01 -05:00
Rob Greene
ceecbd49fa Tweaking to handle empty lines a bit better for #18. 2018-11-21 14:34:03 -06:00
Rob Greene
6989a186e6 Testing a few other types of input. 2018-11-21 14:28:27 -06:00
Rob Greene
9078361a18 Adding an optimization to shorten variable names to 1 or 2 characters.
This allows more useful variable names in the program.
2018-07-16 22:16:59 -05:00
Rob Greene
b84896c8cf Allowing a line continuation character of "\" with a newline immediately
after the "\" character.
2018-07-16 22:16:03 -05:00
Rob Greene
070b9371ec Allowing a ' to begin a full-line comment; cannot be used within a
continued line.
2018-07-16 22:14:27 -05:00
Rob Greene
e20a9c03e0 Decided that exempting "A=150" wasn't really getting anywhere. If that's
in a loop, that 150 should be pre-assigned to a "constant".
2018-07-15 18:03:13 -05:00
Rob Greene
35b02d96dc Adding ability to import external shape files via shape generator. 2018-07-14 23:25:55 -05:00
Rob Greene
fde074ccdc Dealing with a circular pattern in the computed mark address. 2018-07-14 16:47:16 -05:00
Rob Greene
486016d7d6 Tweaking logic (again) to more correctly reassign line numbers. 2018-07-13 21:21:59 -05:00
Rob Greene
f0c27bcacf Fixup for renumbering; THEN should not trigger multiple number alterations. 2018-07-13 18:58:13 -05:00
Rob Greene
9dbbfdd663 Fixing some directive parsing snafus. 2018-07-13 00:00:12 -05:00
Rob Greene
aa29fb8399 Extensive remodeling for slightly more complex directives. Adding
$shape. #16.
2018-07-12 23:37:19 -05:00
Rob Greene
f77a945c7e Adding ability to attach labels to a shape. #16. 2018-06-24 15:29:31 -05:00
Rob Greene
33289a18fb Adding shape optimization flag. #16. 2018-06-24 15:13:04 -05:00
Rob Greene
580af51716 Rewrote the zero vector handling logic. #16. 2018-06-24 12:21:47 -05:00
Rob Greene
965d6be891 Adding a robot shape that got mangled to the test. #16. 2018-06-24 12:21:25 -05:00
Rob Greene
cb85e065c3 Fixing isEmpty method. #16. 2018-06-24 12:20:44 -05:00
Rob Greene
1ee7cc0d00 Handling multiple up plots more appropriately. #16. 2018-06-23 23:14:43 -05:00
Rob Greene
a4a96e04f4 Reading shape source was skipping line 1. #16. 2018-06-23 23:13:56 -05:00
Rob Greene
f025fef9bb Extract command now supports various ranges for shape numbers as well as
exporting to code. #16.
2018-06-23 23:13:17 -05:00
Rob Greene
efbf0973bb Adding a bitmap vectorization based on distance between two points;
fixed a bug in the tracking of origin when generating a bitmap. #16.
2018-06-23 16:50:05 -05:00
Rob Greene
13a6270723 Expanded sweep optimization. #16. 2018-06-22 17:04:52 -05:00