Commit Graph

16 Commits

Author SHA1 Message Date
Jesse D. McDonald ca8d68c023 Add automatic dependency tracking to the build rules.
Move optional extension modules (e.g. mod_io.c) into mods/ subdir.
Fix missing #include in reader.c.
2012-07-14 13:42:30 -05:00
Jesse D. McDonald ec306ef31f Adjust indirect form (#i"path") to be relative to the current file. 2012-07-14 13:42:16 -05:00
Jesse D. McDonald 6254044280 Add #i"pathname" syntax for reading values from modular input files. 2012-07-14 13:42:14 -05:00
Jesse D. McDonald e18863c3ad Simplify number reader; eliminates potentially invalid double-ungetc(). 2012-07-14 13:42:00 -05:00
Jesse D. McDonald 912a620c5a Add some error-handling to cat.rla. Add support for #! lines.
Also fix an off-by-one error in the column counter and suppress GC stats.
2012-07-14 13:41:52 -05:00
Jesse D. McDonald b74f0cddda Adjust number-reader to allow 'negative zero' FP values.
Also add builtins for NaN and +/- infinity, and bytecodes for classification.
2012-07-14 13:40:52 -05:00
Jesse D. McDonald aa461c8574 Add basic support for reading floating-point values.
No guarantees are made as to the precision.
2012-07-14 13:40:50 -05:00
Jesse D. McDonald c1ac1323bf Check for errors when opening program file.
Add a debug assertion in the reader to catch bugs like the last one.
2012-07-14 13:40:29 -05:00
Jesse D. McDonald 8e34feea0b Fix an order-of-operations bug in finalize_placeholders().
The bug would have prevented the resolution of multiple levels of links.
2012-07-14 13:40:24 -05:00
Jesse D. McDonald 9f0dc52934 Improve number-reading in preparation for supporting floating-point. 2012-07-14 13:40:21 -05:00
Jesse D. McDonald 902c489b90 Resolve all placeholders before patching. Allows direct links (#0=#=0).
Definitions and references can be made in any order.
Cyclic placeholders resolve to #<undefined>, as do ones without definitions.
2012-07-14 13:40:17 -05:00
Jesse D. McDonald 48eb22d15b Update reader to fix corner-cases in the placeholder/back-reference system. 2012-07-14 13:40:16 -05:00
Jesse D. McDonald 0404777049 Fix interaction between comments and whitespace in the reader.
Add support for fixnums in binary (0b), octal (0), and hexadecimal (0x).
Minor changes to the example input program to improve readability.
2012-07-14 13:40:11 -05:00
Jesse D. McDonald c01f0838f1 Misc. reader improvements, plus ability to run *.rla directly.
Fix tree_replace() to handle recursive data structures.
Fix some other minor bugs in the reader and interpreter.
Implement comment-escapes in the string parser, for more readable input.
Allow input program files (*.rla) to be invoked directly, with arguments.
Add a simple string->number converter as a builtin function.
2012-07-14 13:38:48 -05:00
Jesse D. McDonald 439491a80e Support negative fixnums in input, and perform some extra validation. 2012-07-14 13:38:45 -05:00
Jesse D. McDonald 449b0cf478 Implement fixed-function reader for getting data into the interpreter. 2012-07-14 13:38:44 -05:00