Mike Cifelli
c8c9a477b7
Refactor common test set up and tear down code
2017-07-19 15:23:15 -04:00
Mike Cifelli
84ccac0edb
Improve interpreter performance slightly
2017-04-13 09:07:30 -04:00
Mike Cifelli
cbbcb4fe3e
Clean up terminal tests
2017-04-12 09:16:09 -04:00
Mike Cifelli
63fd890ac6
Add history feature to the terminal
...
The history is accessed through the up/down arrow keys.
Resolves #8
2017-04-04 15:37:57 -04:00
Mike Cifelli
243f8a83ac
Add terminal history class
2017-04-04 07:56:35 -04:00
Mike Cifelli
2de2e3947a
Increase test coverage
...
Fixed an intermittent deadlock in MainTest:
FlushListener could receive more than the expected number of flushes
before the VirtualTerminalInteractor was given control. So by setting
the flush count to zero in waitForFlushes(), flushes could be lost. Now
it only reduces the number of flushes by the expected number.
2017-03-24 11:53:33 -04:00
Mike Cifelli
a8620307c9
Clean up code
2017-03-24 09:36:44 -04:00
Mike Cifelli
eb82a25f64
Increase test coverage
2017-03-24 09:29:19 -04:00
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
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
31ca72e534
Add a crude interactive terminal implementation
2017-03-18 16:49:46 -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
e78e18df98
Add a simple GENSYM function
2017-03-10 13:14:16 -05:00
Mike Cifelli
87eb0204f5
Remove SETF function
2017-03-07 16:41:26 -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
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
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
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
Mike Cifelli
311a3b4036
Cleaned up code and tests
2017-03-03 15:06:49 -05:00
Mike Cifelli
503b19a5e1
Resolves #14 - Load now keeps track of directories
2017-03-03 12:56:06 -05:00
Mike Cifelli
ba53448c9d
Exception checking unit tests were refactored
2017-03-03 12:07:23 -05:00
Mike Cifelli
86def27f5c
Acceptance tests have been refactored
2017-03-02 16:36:23 -05:00
Mike Cifelli
0eb8db36a8
Acceptance tests now run with JUnit
2017-03-02 15:26:21 -05:00
Mike Cifelli
d55ebdd22f
Resolves #13 - Exclusion based on type in ArgumentValidator
2017-03-02 11:39:07 -05:00
Mike Cifelli
2bd0c1a674
Major Refactor - Static constants and test case names
2017-03-02 09:54:23 -05:00
Mike Cifelli
ba203d34b9
dlambda was converted for multiple method classes
...
Added several unit tests, including a failing one for CASE
Added an acceptance test for dlambda
2017-03-01 16:33:06 -05:00
Mike Cifelli
64e18fe076
Resolves #12 - &rest keyword added to lambda lists
...
Added unit tests and cleaned up some code
The setup for acceptance tests now cleans up the environment
2017-03-01 11:11:59 -05:00
Mike Cifelli
42191ec69d
Parts of CASE and COND were refactored
...
Updated the terminology used in the code
Added test cases
Changed the format of error/warning messages
2017-02-28 16:16:43 -05:00