Basic: QBasic fixes/enabling. Recursive includes.
authorJoel Martin <github@martintribe.org>
Fri, 15 Sep 2017 04:50:15 +0000 (23:50 -0500)
committerJoel Martin <github@martintribe.org>
Fri, 15 Sep 2017 04:50:15 +0000 (23:50 -0500)
commit115e430d02950571153b77e9774c777150d8806e
tree15a45d6e7a97cac7b921219473cc3113e301d5f8
parent2a368ba6df62190298243b1d39d7bb11eef3f415
Basic: QBasic fixes/enabling. Recursive includes.

Enable QBasic console mode usage and fix bugs in newline handling
differences with C64 basic (cbm). To enable console mode for QBasic
programs, have basicpp.py prefix the output with the QB64 specific
console activation variables/functions.

One change to basicpp.py to make this change more straightfowards is
recursive includes so that includes can appear in more than just the
top level step files. This allows us to conditionally include the
right readline implementation. For QBasic in the special console mode
(instead of the default full-screen UI mode) we need to use the LINE
INPUT command in order to read input.
23 files changed:
.travis.yml
Makefile
basic/Dockerfile
basic/Makefile
basic/basicpp.py
basic/core.in.bas
basic/printer.in.bas
basic/reader.in.bas
basic/readline.in.bas
basic/readline_char.in.bas [copied from basic/readline.in.bas with 100% similarity]
basic/readline_line.in.bas [new file with mode: 0644]
basic/run
basic/step0_repl.in.bas
basic/step1_read_print.in.bas
basic/step2_eval.in.bas
basic/step3_env.in.bas
basic/step4_if_fn_do.in.bas
basic/step5_tco.in.bas
basic/step6_file.in.bas
basic/step7_quote.in.bas
basic/step8_macros.in.bas
basic/step9_try.in.bas
basic/stepA_mal.in.bas