From ce7189464a302872634d949cf06e9071b625bfcb Mon Sep 17 00:00:00 2001 From: bd Date: Tue, 28 Jan 2025 16:22:49 -0500 Subject: Fix various lexer/parser bugs, pass all tests for binary ops --- README.org | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) (limited to 'README.org') diff --git a/README.org b/README.org index 16f12c1..0604e2a 100644 --- a/README.org +++ b/README.org @@ -1,18 +1,23 @@ +* Run Instructions + +The =manifest.scm= file provides the ideal build environment automatically to Guix users. flex, pkg-config, bison, make, and gcc are required to compile the frontend into a shared object file with =make all=, and guile is required to run the =ull= script. + +Running the ./ull script will print allowed arguments, which follows the interface prescribed by the book //Writing a C Compiler// by Nora Sandler. + * General -This compiler was made following the general guidelines provided in /Writing a C Compiler/ by Nora Sandler. -It is written from scratch solely using tools distributed with Guile. +This compiler was made following the general guidelines provided in //Writing a C Compiler// by Nora Sandler. + +Since this a functional-programing/guile learning project, I utilized flex and bison to allow use of the Guile/C interface. Development takes a functionality-first approach---memory leaks and other undesired behavior likely. * Feature Agenda -** TODO Important +** Current Issues -- [ ] Reasonable parser error messages -- [X] Rewrite deprecated temporary file generation method -- [X] Cleanup temp files after process end +- [ ] Memleak related to driver.c, haven't figured out how to test this yet - [ ] More parenthesis -** TODO Features [2/19] +** TODO Major Features [2/19] - [X] Trivial Programs - [X] Unary Operators @@ -34,3 +39,9 @@ It is written from scratch solely using tools distributed with Guile. - [ ] Dynamic Memory Allocation - [ ] Structures - [ ] A Multitude Of Optimizations + +** Fixed + +- [X] Reasonable parser error messages +- [X] Rewrite deprecated temporary file generation method +- [X] Cleanup temp files after process end -- cgit v1.2.3