Commit Graph

339 Commits

Author SHA1 Message Date
Mike Cifelli 111dd06d6f Add unit tests 2017-03-23 18:48:37 -04:00
Mike Cifelli 52762a6152 Add and refactor unit tests 2017-03-23 16:14:26 -04:00
Mike Cifelli 23dd1c0654 Increase test coverage and refactor code 2017-03-23 12:14:44 -04:00
Mike Cifelli 79fb8b633b Fix output interfering with input
Refactored some code
2017-03-22 15:26:00 -04:00
Mike Cifelli 228b4b1793 Refactor stream code and add unit tests 2017-03-22 14:08:22 -04:00
Mike Cifelli b298e118e3 Add colors to the interactive interpreter 2017-03-22 11:26:53 -04:00
Mike Cifelli 058e937c3e Refactor main interpreter code
Fixed several minor issues

Only print the last value when interpreting a file

Resolves #4
2017-03-21 15:03:16 -04:00
Mike Cifelli 5cb6212d2a Fix terminal resize issues 2017-03-21 12:07:22 -04:00
Mike Cifelli a8eff1ad70 Clean up terminal code 2017-03-21 09:25:40 -04:00
Mike Cifelli fc96894d14 Fix text insertion at the end of the buffer 2017-03-20 16:20:28 -04:00
Mike Cifelli 38710e21bf Improve terminal performance 2017-03-20 11:18:36 -04:00
Mike Cifelli cef7be6c25 Add comments to broken code 2017-03-19 17:32:44 -04:00
Mike Cifelli ad173d06a9 Fix issues when input pushes past end of buffer
A few issues still remain:

- Inserting text pushes the remainder of the input to a new line
  at the end of the buffer.

- Resizing the terminal height causes numerous issues.
2017-03-19 17:17:34 -04:00
Mike Cifelli 38ab1144fb Clean up terminal code and unit tests
The terminal unit tests were updated so that they don't rely on an
arbitrary delay.
2017-03-19 12:54:35 -04:00
Mike Cifelli 072a432026 Hide cursor when printing output 2017-03-18 16:55:35 -04:00
Mike Cifelli 31ca72e534 Add a crude interactive terminal implementation 2017-03-18 16:49:46 -04:00
Mike Cifelli 462673ba64 Add line wrapping support to the terminal 2017-03-17 19:40:56 -04:00
Mike Cifelli ac349c94cb Fix problems with FitNesse 2017-03-17 16:17:44 -04:00
Mike Cifelli c533b7c1d9 Start experimenting with lanterna 2017-03-17 16:07:25 -04:00
Mike Cifelli 0388f71a8b Add lanterna to the project 2017-03-15 13:52:20 -04:00
Mike Cifelli a86832f9cb Switch from ant to maven 2017-03-15 13:37:39 -04:00
Mike Cifelli a21114ac7c Add a GENSYM-EQUAL function for unit testing macros
Some macro definitions were refactored along with their associated
unit tests.
2017-03-13 14:43:31 -04:00
Mike Cifelli b2d6f21f88 Add tests for macros 2017-03-13 10:15:05 -04:00
Mike Cifelli f2a481952d Add @Override annotations and clean up code 2017-03-13 09:58:30 -04:00
Mike Cifelli c2d722d5ab Fix nested comma handling in a backquote 2017-03-12 14:18:37 -04:00
Mike Cifelli e89a6f2dde Add unit tests for the backquote facility
Renamed BackTick to Backquote globally.
2017-03-12 12:19:45 -04:00
Mike Cifelli 698305f07f Add the backtick facility
Resolves #20
2017-03-11 15:41:07 -05:00
Mike Cifelli 655f49e612 Add DEFMACRO special function
Resolves #16
2017-03-10 15:08:42 -05:00
Mike Cifelli 16b9a4dd30 Add a simple GENSYM function
Resolves #18
2017-03-10 13:19:09 -05:00
Mike Cifelli e78e18df98 Add a simple GENSYM function 2017-03-10 13:14:16 -05:00
Mike Cifelli 8aa00fea27 Add a dynamic data structure example 2017-03-09 14:14:54 -05:00
Mike Cifelli d423fe9958 Convert the lisp unit tester into a class 2017-03-09 11:19:15 -05:00
Mike Cifelli b47abbaad5 Give assert a better failure message 2017-03-08 14:48:40 -05:00
Mike Cifelli c596d6868d Refactor some lisp code and tests 2017-03-08 11:14:44 -05:00
Mike Cifelli 87eb0204f5 Remove SETF function 2017-03-07 16:41:26 -05:00
Mike Cifelli 6cf45219f1 Refactor some lisp code 2017-03-07 16:27:11 -05:00
Mike Cifelli 736e230de9 Add LET* special function 2017-03-07 13:26:24 -05:00
Mike Cifelli d1060a8aad Add aliases for several functions 2017-03-07 13:15:40 -05:00
Mike Cifelli e9fead08c2 Add function to interest-compounder 2017-03-07 11:37:27 -05:00
Mike Cifelli 5f10396af8 Use function alias in validation messages
Resolves #9
2017-03-07 10:59:51 -05:00
Mike Cifelli 368f22a02b Rename the project 2017-03-07 10:20:22 -05:00
Mike Cifelli 9e15d55b4c README.md edited online with Bitbucket 2017-03-07 14:57:13 +00:00
Mike Cifelli 31105b4299 README.md edited online with Bitbucket 2017-03-07 14:56:36 +00:00
Mike Cifelli 1acfad31ca README.md edited online with Bitbucket 2017-03-07 13:47:05 +00:00
Mike Cifelli 77a341a1a7 Add more advanced lisp objects
Added a class to compute compound interest.

An alias for FUNCALL has been added: CALL

Refactored some acceptance tests to load code from files.
2017-03-06 16:52:06 -05:00
Mike Cifelli aa13394548 Add ability to run acceptance tests on files 2017-03-06 12:44:06 -05:00
Mike Cifelli e1c544f0ea Re-organize the lisp files 2017-03-06 11:00:18 -05:00
Mike Cifelli 416627896e README.md edited online with Bitbucket 2017-03-06 14:33:47 +00:00
Mike Cifelli 8a719c8e44 Add unit test for LOAD 2017-03-05 10:41:49 -05:00
Mike Cifelli 04cb46e94d Store the base directory for an interpreted files
A bug was resolved where some functions were getting a null
ErrorManager.

A reset funtion was added to RuntimeEnvironment.

Resolves #15
2017-03-05 10:20:31 -05:00