Commit Graph

33 Commits

Author SHA1 Message Date
5b4e0e7a0f WIP minor improvements to conio/screen for scrolling, still doesn't work reliably once we print more than 25 lines 2024-05-07 16:17:36 -04:00
559ff15dc0 WIP. Storing code in line numbers and listing is working. Added a RUN command, and refactored the line runner logic out of basic_repl into basic_run_line. The repl still works but the RUN function is busted. The parser logic is increasingly getting in the way, and the solver is not as useful as I originally thought. The original design of the datastructures and logic is getting in my way and adding confusion. I may need to try something simpler. 2024-05-07 08:08:40 -04:00
ee10cc6eb5 WIP : Storing line numbers, detecting immediate mode vs storage mode, solver tests are not working 2024-05-06 17:51:42 -04:00
a428b905da Added the ability to parse commands as well as expressions.
Added basic PRINT and REM commands.
Added solver tests which had been around for a while and not committed.
All execution is still immediate mode.
2024-05-06 16:57:13 -04:00
ef53041427 Refactored the name of some defined basic parser codes and exposed basic_solve_expr for tests 2024-05-06 14:51:04 -04:00
591858334b - Added the ability to start a line with a number and store it for later execution
- Added the ability to force immediate mode processing (calculator mode) by beginning a line with =
- Expanded parser testing
- Expression execution seems to be broken now, everything is returning error code 0 and not returning results
2024-05-05 06:55:39 -04:00
921a9dd8bd - Added string strip methods lstrip and rstrip
- Fixed the tokenizer to chomp whitespace from left and right of tokens
- Fixed the tokenizer so it returns reserved symbols not just constants and expressions
- Added some tests for the basic tokenizer and parser
- Started working on structures to allow the basic interpreter to store lines in memory
2024-05-04 22:08:20 -04:00
0d1ecd9bd3 - All tests passing
- Updated README and image
- Added itoa to stdlib
- Implemented modulus math for bcc which has none in the stdlib
- Updated the build scripts to work on Ubuntu 22
- Added bochsrc with some useful overrides (new bochs bios in ubuntu is broken, use the legacy)
- Made most of stdlib compile and run under GNU C for testing
- Improved the tokenizer so it will return tokens of more than one character
- Moved the basic parser from using void pointers to store values to using basic_value unions to represent possible types
- Added tests for the basic tokenizer
2024-05-04 11:31:14 -04:00
7a974102b8 Fix failing tests for stringlib 2016-03-27 13:23:46 -07:00
ee1149fb37 Fix failing tests for stringlib 2016-03-27 13:21:47 -07:00
b5be0cd1ff Fix builtin warnings 2016-03-27 13:20:36 -07:00
4c0f1379b1 Add more tests from stringlib 2016-03-27 13:19:38 -07:00
f059c083c8 Add more tests from stringlib 2016-03-27 13:16:41 -07:00
9fefff9edf Add tests for stdlib 2016-03-27 12:42:42 -07:00
3000e7e9fb Update README 2016-03-27 12:28:14 -07:00
4663e88eee Update README 2016-03-27 12:26:33 -07:00
6a935d9a9d Fix dtoa failing test 2016-03-27 12:25:33 -07:00
66dfc55616 Make builds fail when the tests fail 2016-03-27 12:23:49 -07:00
d9a31feaa5 Fix badge, add missing test makefile 2016-03-27 12:19:45 -07:00
50796e391c Added Travis badge to README 2016-03-27 12:17:44 -07:00
0a93f88adc Add .travis.yml for travis CI support 2016-03-27 12:15:58 -07:00
b74e9745cb Added shunit and cmdarg as dependencies 2016-03-27 12:14:05 -07:00
25e3b5c517 Added primitive unit testing in tests/ 2016-03-27 12:11:24 -07:00
6642358073 Update docs 2015-01-27 18:56:12 -08:00
5b0fe6f880 Parse math expressions with or without normalized whitespace 2015-01-27 18:48:46 -08:00
cf5883d401 Woohoo we have math 2015-01-26 21:55:55 -08:00
208c831c79 Refactored the C files out into libraries, started work on the BASIC repl (it can sorta do math!) 2015-01-25 22:05:28 -08:00
977285b8aa Added readme 2015-01-25 17:53:17 -08:00
f6e2d0c19b C kernel runs now after fixing bootloader and build, beginnings of a REPL 2015-01-25 17:46:12 -08:00
5e4513dd22 Loading from disk works, but jumping to the kernel does not 2015-01-24 18:06:35 -08:00
20ee203ace Boot loader appears to work somewhat, kernel is questionable 2015-01-23 23:02:25 -08:00
6034fe2573 Bootloader prints a welcome string 2015-01-23 20:40:44 -08:00
7edcfd1336 It boots and dies, good start 2015-01-23 20:26:12 -08:00