Commit Graph
100 Commits
Author SHA1 Message Date
randrews bce314cd9c Change default screen size to 40x30 2024-04-27 23:51:13 -05:00
randrews 10d113e364 Fixing imports 2023-12-09 13:23:15 -06:00
randrews ca79642e43 Splitting vweb into multiple modules 2023-12-09 13:12:38 -06:00
randrews 66e7e1884e Refactor for style 2023-11-23 12:22:30 -06:00
randrews aca20e296b Created Text type, initial values for globals 2023-11-23 01:37:22 -06:00
randrews 33c28ceb4a Static allocations 2023-11-22 23:40:25 -06:00
randrews 640ef91306 Globals work, sizes are no longer part of the grammar 2023-11-13 19:54:04 -06:00
randrews dbdafbfd4b Arrays (local) now work! 2023-11-13 12:10:57 -06:00
randrews 749b11adfa A bunch of prerequisites before we can do arrays, part 3.1, using the pool pointer in calls (removes the cursed test case) 2023-11-13 00:44:26 -06:00
randrews 325288d7ba A bunch of prerequisites before we can do arrays, part 3, the pool pointer 2023-11-13 00:32:57 -06:00
randrews 0e766aebcf A bunch of prerequisites before we can do arrays, part 2 2023-11-12 23:50:25 -06:00
randrews 21af891574 A bunch of prerequisites before we can do arrays, part 1 2023-11-12 23:03:45 -06:00
randrews db15f28adc Cursed test case 2023-11-12 00:19:17 -06:00
randrews db2fbd7bda Functions without explicit return statements 2023-11-11 18:36:49 -06:00
randrews 45fe27b823 Storing the frame pointer in the rstack 2023-11-11 18:08:54 -06:00
randrews 89560573ec A big refactor, step 3.1 2023-11-11 16:35:02 -06:00
randrews ac05959042 A big refactor, step 3 2023-11-11 15:59:04 -06:00
randrews e66a05d6dc A big refactor, step 2.2 2023-11-10 15:41:31 -06:00
randrews ce12cf4974 A big refactor, step 2.1 2023-11-10 15:04:42 -06:00
randrews 8bdf4ba956 A big refactor, step 2 2023-11-09 23:23:44 -06:00
randrews 18b7743c12 A big refactor, step 1 2023-11-09 22:58:26 -06:00
randrews 7e8124055a A small refactor 2023-11-09 22:24:42 -06:00
randrews 40441e4784 Lint 2023-11-08 23:16:03 -06:00
randrews 34c953c727 Refactoring, block scoping 2023-11-08 23:12:53 -06:00
randrews 9e38ddac5d Fixing warnings 2023-11-08 22:11:02 -06:00
randrews 4a92723f97 Capturing args in function bodies 2023-11-08 22:06:35 -06:00
randrews 62d340e507 build_boot for tests 2023-11-07 21:59:05 -06:00
randrews f03f6f15a4 Repeat loops 2023-11-06 23:06:28 -06:00
randrews cbddf70ac3 Compiling return statements 2023-09-02 00:39:56 -05:00
randrews 82a7ac0152 Compiling calls 2023-09-01 22:24:36 -05:00
randrews a7c7610105 Function prototypes 2023-08-26 00:42:41 -05:00
randrews 5bf5b7a78f While loops 2023-08-25 01:19:53 -05:00
randrews 241f71dd79 If statements 2023-08-25 00:24:25 -05:00
randrews 3db79cc103 First part of reporting locations in error messages 2023-08-20 01:38:42 -05:00
randrews 4f0524f78c Test refactoring 2023-08-17 19:18:32 -05:00
randrews a6b3519f48 Asm statements implemented 2023-08-15 01:30:35 -05:00
randrews 9936e44544 Removed struct stuff 2023-08-15 01:01:06 -05:00
randrews 587d96be25 A couple tests 2023-08-14 00:36:26 -05:00
randrews 64f09619a2 Strings are just another kind of expr 2023-08-14 00:26:02 -05:00
randrews c6aea2f78f Refactored lvalues into just another expr 2023-08-13 23:55:49 -05:00
randrews 1de091f269 Prefix dereferences as lvalues 2023-08-13 19:29:50 -05:00
randrews 190ceb5f13 Added prefix dereference 2023-08-13 18:58:47 -05:00
randrews e3b20aae41 More refactoring 2023-08-05 11:07:09 -05:00
randrews 63d63a1f68 More refactoring and addresses working 2023-08-04 21:38:09 -05:00
randrews 3b612114f5 More new grammar stuff 2023-08-04 17:27:28 -05:00
randrews 65858b18d9 Much better working grammar, more fixed tests 2023-08-03 00:53:43 -05:00
randrews e8940feea7 New grammar, sort of working 2023-08-02 21:56:26 -05:00
randrews ba4f98e2a5 New grammar 2023-07-17 23:00:01 -05:00
randrews 1b126eb559 Some todos and splitting apart direct and indirect labels 2023-07-17 22:57:58 -05:00
randrews 5d8d8a13a6 String support, more refactoring 2023-07-14 01:53:10 -05:00
randrews 3016d99ff0 Refactoring, variable initial values 2023-07-14 00:51:52 -05:00
randrews 4178874b50 Compiling basic functions 2023-07-13 02:33:57 -05:00
randrews dc2e1a89a5 Beginning the compiler, const declarations and globals 2023-07-12 00:53:52 -05:00
randrews 09c41be189 Allowing expressions in a couple places that used to be literal numbers 2023-07-09 00:24:04 -05:00
randrews c373198084 Prefix operators 2023-07-08 23:33:30 -05:00
randrews ca72b480c5 Bunch of infix ops 2023-07-08 23:08:22 -05:00
randrews f682a234c7 Refactoring exprs 2023-07-08 22:32:24 -05:00
randrews bc3a1ad88f Completed the parser 2023-07-08 20:54:23 -05:00
randrews 927600c7bc More statement types 2023-07-08 19:09:32 -05:00
randrews 10e6aa7f11 Parsing arrayrefs and addresses 2023-07-05 23:45:04 -05:00
randrews 576759cb27 Quality-of-life refactoring 2023-07-05 23:19:54 -05:00
randrews 2aac110900 Start of expression parsing 2023-07-04 02:49:29 -05:00
randrews 2a9bfb342b More refactoring 2023-07-03 23:11:44 -05:00
randrews b05edb6ed4 Parsing fn headers 2023-07-03 17:19:19 -05:00
randrews 429d57c632 Refactoring the parser some 2023-07-03 01:35:37 -05:00
randrews 41bf0a2184 Starting to build a Forge parser 2023-07-02 02:10:06 -05:00
randrews 51c690e263 Tweaked snippet layout 2023-02-06 12:21:11 -06:00
randrews 0c3a290ce8 Basics page 2023-02-06 12:20:03 -06:00
randrews f07d0e315b Animating the display (fuzz demo) 2023-02-02 23:55:42 -06:00
randrews 26cccd77b1 Added a Display struct and animation frames 2023-02-02 23:18:04 -06:00
randrews 5259d6ee8c Uninitialized canvas display 2023-02-01 20:31:06 -06:00
randrews 910e4b856b Added gfx crate 2023-02-01 20:13:15 -06:00
randrews 78d8457f75 Specify width and syntax highlighting and indentation 2023-01-29 23:26:48 -06:00
randrews 7e969f1469 Multiple copies of the emulator on a page 2023-01-28 22:29:37 -06:00
randrews c825e6d727 Finished snippet emulator (for now) 2023-01-28 00:31:14 -06:00
randrews 3d7a19d1bd Highlighting lines and stepping through code 2023-01-27 01:25:01 -06:00
randrews b602ae703f Refactor to use a child text node instead of a prop 2023-01-26 22:50:24 -06:00
randrews de3bac0084 A quick page to host a snippet emulator for development 2023-01-26 15:16:49 -06:00
randrews 7b67ff73ea Interfaces for errors, calling vasm, and generating source maps 2023-01-26 15:16:08 -06:00
randrews 598e57d758 Making the repl work 2023-01-26 15:15:37 -06:00
randrews 87daef0fdc Part of a snippet emulator 2023-01-26 15:14:37 -06:00
randrews b3c533b0c6 Include serde to return a source map 2023-01-26 14:42:44 -06:00
randrews 741becb563 Display assemble errors in vweb 2023-01-26 14:41:45 -06:00
randrews dddff7b54a A fn to return a map of line addresses to enable step debugging 2023-01-26 14:41:02 -06:00
randrews 11f0760b01 Vasm cli wrapper will now export a symbol table 2023-01-07 02:10:18 -06:00
randrews 3e6a33899a Basic vasm cli wrapper 2023-01-07 00:53:55 -06:00
randrews 41810941aa Updated copy of 4th 2023-01-05 19:16:57 -06:00
randrews 4de3bd5c0c Fixed a couple prelude bugs 2023-01-02 14:27:00 -06:00
randrews 2dea244673 Web-based NovaForth repl 2023-01-01 17:57:23 -06:00
randrews 63d58b63e3 Splitting vasm and vasm_core 2023-01-01 17:25:00 -06:00
randrews 25afdb8890 Added copy opcode 2022-08-06 01:19:56 -05:00
randrews fa5dc84ad2 Errors now use Location instead of line numbers 2022-06-07 21:00:27 -05:00
randrews 4049ca072e Now using Line instead of VASMLine everywhere 2022-06-07 00:16:27 -05:00
randrews f9902e39cf Renamed vasm to vasm_core 2022-06-06 23:08:55 -05:00
randrews 80daca0584 Changes for first REPL 2022-06-01 23:30:21 -05:00
randrews 84230676cb vasm now supports files 2022-06-01 16:11:34 -05:00
randrews 3ca3a2eeac Lua wrapper for CPU 2022-05-16 12:57:38 -05:00
randrews 4edad9c0cc Blank lines and line addressing 2022-05-13 23:57:06 -05:00
randrews 135dd6ad8d Comment 2022-05-03 20:32:50 -05:00
randrews cfb67c04bc Linux keyboard fix kind of. 2022-05-03 20:32:16 -05:00