Basic: step6 basics and atoms. Fix strings.
authorJoel Martin <github@martintribe.org>
Tue, 20 Sep 2016 02:23:21 +0000 (21:23 -0500)
committerJoel Martin <github@martintribe.org>
Tue, 20 Sep 2016 02:23:21 +0000 (21:23 -0500)
commit85d70fb79111f901e5ac3243769199918835ff6a
tree1bbb08262b801b649d4a90671cf2b5fcb637c91a
parent412e7348e3d213e5e68826ff5b7d2b2b5bf4c367
Basic: step6 basics and atoms. Fix strings.

Also:
- command lines arguments are implemented by creating a file
  ".args.mal" that contains a list of arguments and that is loaded by
  the run script (load-file) into -*ARGS*-. The rest is put in *ARGV*
  and the first element is pulled out and used as the script name.
- fix string reading/printing using new REPLACE function
- add RE function to skip printing and to get back evaluated value
  (result must be freed by caller). Needed for step6 to get first
  argument pointer for scripting.
- Sync earlier steps
- add cons, first, rest to support parsing the command line.
- eval is implemented as standard function in core.in.mal
- fix println bug (using PR_STR rather than PR_STR_SEQ)
- change sequence printing to save the initial sequence type on the
  stack and use that for the ending sequence delimeter. This way
  sequences of one type can still use the tail of sequences of
  a different type but still be considered the initial type.
14 files changed:
basic/.args.mal [new file with mode: 0644]
basic/Makefile
basic/core.in.bas
basic/printer.in.bas
basic/qb2cbm.sh
basic/reader.in.bas
basic/run
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 [new file with mode: 0755]
basic/types.in.bas