10eb159ef8
WIP Removed some debug stuff
2024-05-12 21:33:55 -04:00
683b47f245
WIP : Eff it, I left the magic memcpy in. Printing mostly works but it's still broken. Calls to _cputs and _cputsf may mysteriously fail due to some kind of memory corruption I haven't tracked down yet. This commit leaves in a bunch of commented testing code, the next commit will rip them out.
2024-05-12 21:28:27 -04:00
f2cab38cf2
WIP. Somewhere in between the init of basic_cmd_run and basic_cmd_list calls to _cputs stop working with constant character string pointers and only work with pointers off the heap.
2024-05-12 08:54:11 -04:00
0826d1946b
WIP Immediate mode, printing, and listing is working, but something wierd is going on with _cputs. See the comment in basic_cmd_list. I'm tempted to throw the C away and move it all to ASM so I can have more control & awareness of what's going on.
2024-05-07 18:56:07 -04:00
06d110e28b
WIP : About to rip out the old parser and solver, can't get things working the way I expect and the old code is in the way
2024-05-07 18:06:01 -04:00
bd9399e060
WIP scrolling seems to work correctly now if all you ever do is call advanceCursor()
2024-05-07 17:01:19 -04:00
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