Commit Graph

184 Commits

Author SHA1 Message Date
Jeremiah Orians bdac429cc5
Added prim_not 2017-02-17 14:42:35 -05:00
Jeremiah Orians be551d2ad0
Implemented prim_or 2017-02-17 14:29:48 -05:00
Jeremiah Orians 60324a2b5c
Implemented prim_and 2017-02-17 14:21:29 -05:00
Jeremiah Orians 8b25ea6d05
Added early draft of prim_mod 2017-02-17 13:47:15 -05:00
Jeremiah Orians c8fcf9621d
Added prim_div, now the lisp supports Division 2017-02-17 13:37:26 -05:00
Jeremiah Orians 060b3e0002
Implemented Prim_prod, so the lisp now supports (* 1 2 3 ... n) 2017-02-17 13:28:59 -05:00
Jeremiah Orians 9bcc7d85ee
Minor tweak to remove EOF char being displayed at end of TTY interaction 2017-02-17 13:18:25 -05:00
Jeremiah Orians 223dbafa64
Added HALT primitive 2017-02-17 11:58:26 -05:00
Jeremiah Orians 7417e66f3a
Make readline behave more like high level example 2017-02-17 11:37:35 -05:00
Jeremiah Orians 3a8a256475
Minor formatting fix and correction to writeobj 2017-02-17 11:30:24 -05:00
Jeremiah Orians 86d22cb2dc
Fixed bug in write_int 2017-02-17 10:40:11 -05:00
Jeremiah Orians 317354c043
Fixed major bug in assoc 2017-02-17 10:19:10 -05:00
Jeremiah Orians 2de5c17665
Fixing bugs found in lisp_read assembly implementations 2017-02-16 20:23:07 -05:00
Jeremiah Orians a8dd4c265c
Forgot to update a jump 2017-02-16 18:30:39 -05:00
Jeremiah Orians 3462170d90
Attempted to migrate implementation to match high level prototype 2017-02-16 18:27:48 -05:00
Jeremiah Orians 2ac3f8178d
Broke EVAL into smaller chunks to make testing easier 2017-02-16 17:36:12 -05:00
Jeremiah Orians 27e30e8908
Fixed missing top environment from main loop 2017-02-15 23:19:13 -05:00
Jeremiah Orians c198cd87ca
Added logic to notify the user why said HALT occurred 2017-02-12 20:29:32 -05:00
Jeremiah Orians 3909099e49
Fixed multiple bugs in unmark function 2017-02-12 20:28:26 -05:00
Jeremiah Orians 7c351be0d7
Returned Normal ordering for debugging purposes 2017-02-12 20:06:54 -05:00
Jeremiah Orians 933b927f4a
Got CONS Cell garbage collection to run backwards 2017-02-12 17:55:30 -05:00
Jeremiah Orians c3abaad92b
Reorganized Memory Space and fixed output bug with Integers 2017-02-12 17:26:33 -05:00
Jeremiah Orians 6688439ec9
Fixed some minor defects 2017-02-12 02:32:44 -05:00
Jeremiah Orians 04e46c2ad6
Added final pieces from lisp_Cell to begin testing 2017-02-12 01:40:22 -05:00
Jeremiah Orians 2f3cab1158
Added Garbage Collect and POP_CONS. Eliminated the need for garbage_init 2017-02-12 01:22:13 -05:00
Jeremiah Orians 6a9a559c87
Added unmark_cells from lisp_Cell 2017-02-12 01:02:30 -05:00
Jeremiah Orians 8816f05102
Added mark_all_cells from Lisp_Cell 2017-02-12 00:41:22 -05:00
Jeremiah Orians 9ed1913db2
Added reclaim_marked function from lisp_Cell 2017-02-12 00:29:12 -05:00
Jeremiah Orians 6191300576
Started to add garbage collection functions from lisp_Cell 2017-02-12 00:01:27 -05:00
Jeremiah Orians e4143472c3
Added early version of init_sl3 from lisp_Eval 2017-02-11 23:46:42 -05:00
Jeremiah Orians cb1c685a4d
Added spinup from lisp_Eval and several objects 2017-02-11 23:02:42 -05:00
Jeremiah Orians 046375d421
Simplified spinup and garbage collection 2017-02-11 22:40:07 -05:00
Jeremiah Orians 135c068259
Simplified spinup process 2017-02-11 22:29:25 -05:00
Jeremiah Orians 8280407cd6
Added primitive CAR and CDR from Lisp_Eval 2017-02-11 21:24:13 -05:00
Jeremiah Orians 75c75a417a
Skipping multiple functions in Lisp_Eval that can be done later and added a couple essential 2017-02-11 21:17:57 -05:00
Jeremiah Orians de6cf3e7d1
Incorporated enhancement and implemented prim_sub from Lisp_Eval 2017-02-11 19:28:13 -05:00
Jeremiah Orians 175d383ad0
Fixed inconsistent returns from primitives and tweaked order slightly in Lisp_Eval 2017-02-11 19:26:53 -05:00
Jeremiah Orians a7d29173dd
Added prim_sum from Lisp_Eval 2017-02-11 19:01:46 -05:00
Jeremiah Orians ca00a7bd07
Added EVAL from Lisp_Eval 2017-02-11 18:50:18 -05:00
Jeremiah Orians d9feea6fec
Minor tweak on progn 2017-02-11 17:20:15 -05:00
Jeremiah Orians 859b119691
Tweaked ordering for simpler understanding of begin (progn) 2017-02-11 17:14:35 -05:00
Jeremiah Orians 629f0e8058
Removed unneeded duplicate in high level prototype 2017-02-11 17:04:39 -05:00
Jeremiah Orians bee711e94c
Added evcond from Lisp_Eval 2017-02-11 16:25:21 -05:00
Jeremiah Orians d55b9ee5da
Added Apply from Lisp_Eval 2017-02-11 15:29:07 -05:00
Jeremiah Orians 8371cc362b
Added Progn from Lisp_Eval 2017-02-11 14:54:07 -05:00
Jeremiah Orians 5ca2ed530a
Added Evlis from Lisp_Eval 2017-02-11 14:30:25 -05:00
Jeremiah Orians 1061c96c87
Added assoc from Lisp_Eval 2017-02-11 14:12:48 -05:00
Jeremiah Orians 6026474e3a
Added Extend_Top from Lisp_Eval 2017-02-11 13:53:58 -05:00
Jeremiah Orians 8df8e35439
Added Multiple_extend from lisp_eval 2017-02-11 13:38:45 -05:00
Jeremiah Orians 9861dff3f6
Added Extend from Lisp_Eval 2017-02-11 13:17:06 -05:00
Jeremiah Orians ab2d22c103
Added intern from lisp_eval 2017-02-05 17:29:57 -05:00
Jeremiah Orians 8253e2d114
Added findsym function from lisp_eval 2017-02-05 17:04:32 -05:00
Jeremiah Orians 9b38f11b0f
Wrote Lisp_print function and supporting functions 2017-02-05 16:30:20 -05:00
Jeremiah Orians dce54e8390
Finished putting in prototype based on lisp_read 2017-02-05 13:59:39 -05:00
Jeremiah Orians 27d13bb549
Added parse function from lisp_read 2017-02-05 12:34:36 -05:00
Jeremiah Orians bc428a0266
Added Readlist from lisp_read 2017-02-05 12:25:13 -05:00
Jeremiah Orians d28977447e
Made it past atom in Lisp_Read 2017-02-05 11:54:48 -05:00
Jeremiah Orians ec598d0675
Starting to import Lisp_Read into code 2017-02-05 09:31:48 -05:00
Jeremiah Orians b05bd83de4
Starting to implement lisp interpreter in assembly 2017-02-05 08:11:54 -05:00
Jeremiah Orians e781174511
Added garbage collection and multiple additions to the lisp 2017-02-04 14:27:24 -05:00
Jeremiah Orians 4af5f5156e
Initial high level prototype for lisp 2016-12-16 20:59:57 -05:00
Jeremiah Orians db753a0cf0
Fixed minor typo 2016-11-19 14:12:42 -05:00
Jeremiah Orians 614748a00b
Tweaked parameters to match possible heap usage and better fix 2MB environments 2016-11-19 13:45:14 -05:00
Jeremiah Orians 7fd82b8b67
Enhanced forth memory space layout 2016-11-19 12:41:34 -05:00
Jeremiah Orians 5ed87d81af
Added Tape write and HALT instructions to forth interpreter 2016-11-01 22:49:59 -04:00
Jeremiah Orians cde1cddcc1
Fully working forth! 2016-11-01 19:08:00 -04:00
Jeremiah Orians fc04be52cc
Fixed exit and improved string storage in forth 2016-11-01 18:08:47 -04:00
Jeremiah Orians 2136cbc220
Now putting strings in an entirely seperate block of memory 2016-10-31 22:35:12 -04:00
Jeremiah Orians 4cae5c35fa
Semiworking state, needs more work 2016-10-31 20:38:07 -04:00
Jeremiah Orians b14c5e73af
More tweaking on forth 2016-10-30 21:58:41 -04:00
Jeremiah Orians d69c382c36
Fixing minor mistakes 2016-10-30 20:29:14 -04:00
Jeremiah Orians 12bc57e143
Added Codewords to forth assembly primatives 2016-10-30 20:11:27 -04:00
Jeremiah Orians 0e06ed00df
Continued bug fixing 2016-10-30 11:30:13 -04:00
Jeremiah Orians b58504806e
Still bug fixing and attempting to fix all bugs 2016-10-30 11:17:09 -04:00
Jeremiah Orians 334a3a7678
First draft of Forth Complete, I hope 2016-10-29 23:13:39 -04:00
Jeremiah Orians 2716530746
Added several more important forth functions 2016-10-29 21:36:22 -04:00
Jeremiah Orians 07fe743b2f
Added string comparision Node finding and Numeration functions to Forth 2016-10-29 19:13:09 -04:00
Jeremiah Orians 236a905e77
Add IO instruction to Forth 2016-10-29 17:53:22 -04:00
Jeremiah Orians f0f13843a8
Added parameter stack operations 2016-10-29 14:55:04 -04:00
Jeremiah Orians eea718599e
Fix comment spacing and added Return stack operations 2016-10-29 14:26:00 -04:00
Jeremiah Orians 968f5852bf
Added Memory and variable functions 2016-10-29 13:19:00 -04:00
Jeremiah Orians 40ec859e51
Added logical functions and a subroutine EXIT 2016-10-29 12:05:41 -04:00
Jeremiah Orians 1ee3d8d296
Added Comparision operators to forth 2016-10-29 11:49:36 -04:00
Jeremiah Orians 375368c751
Started to implement Forth 2016-10-29 11:12:29 -04:00