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
|
c533b7c1d9
|
Start experimenting with lanterna
|
2017-03-17 16:07:25 -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
|
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
|
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
|
946af24514
|
Minor cleanup of LIST
|
2017-03-03 15:57:16 -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
|
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
|
ef4c03a672
|
Expanded dlambda example
|
2017-03-02 10:29:59 -05:00 |
Mike Cifelli
|
2bd0c1a674
|
Major Refactor - Static constants and test case names
|
2017-03-02 09:54:23 -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 |
Mike Cifelli
|
ab17d4c60e
|
Static method in SET has been refactored
|
2017-02-28 15:04:40 -05:00 |
Mike Cifelli
|
05f75b627b
|
Resolves #11 - The CASE special function has been added
Refactored some unit tests
|
2017-02-28 15:01:05 -05:00 |
Mike Cifelli
|
544df91c27
|
Simplified the EQUAL function logic
|
2017-02-28 12:26:18 -05:00 |
Mike Cifelli
|
d2dfe23083
|
Resolves #10 - The equality predicates have been refactored
|
2017-02-28 11:54:19 -05:00 |
Mike Cifelli
|
50a3f3be67
|
Resolves #6 - PROGN Special Function (Form)
|
2017-02-27 15:36:17 -05:00 |
Mike Cifelli
|
5129f6c17b
|
Minor cleanup in SYMBOL-FUNCTION
|
2017-02-27 14:54:31 -05:00 |
Mike Cifelli
|
d3e3f52e59
|
Altered SYMBOL-FUNCTION behavior and cleaned up some code
|
2017-02-27 14:10:20 -05:00 |
Mike Cifelli
|
fb35884479
|
Resolves #7 - Allow prefixing of numbers
|
2017-02-27 13:34:04 -05:00 |
Mike Cifelli
|
bf40feadec
|
User defined functions now set up their scope correctly
|
2017-02-27 12:00:24 -05:00 |
Mike Cifelli
|
462e5ea15e
|
Built-in function names are now defined through annotations
|
2017-02-26 16:47:06 -05:00 |
Mike Cifelli
|
8fdaaeb23d
|
Removed duplicate code in SET and SETF
|
2017-02-26 13:01:47 -05:00 |
Mike Cifelli
|
49e145d098
|
Cleaned up some code
|
2017-02-26 12:39:08 -05:00 |
Mike Cifelli
|
e51d275b76
|
Started added unit tests for the interpreter and main packages
|
2017-02-26 12:31:27 -05:00 |
Mike Cifelli
|
78c7bf4d9c
|
Added DEFINE-MACRO for user defined special functions (forms)
|
2017-02-25 19:11:31 -05:00 |
Mike Cifelli
|
4f4bc8f71a
|
Added special functions (forms) and refactored internal s-expression predicates
|
2017-02-25 17:29:37 -05:00 |
Mike Cifelli
|
b9466d2c5d
|
Cleaned up a parameter name
|
2017-02-24 16:09:54 -05:00 |
Mike Cifelli
|
c83db3721c
|
Finished changing car/cdr to first/rest in the code
|
2017-02-24 16:00:05 -05:00 |
Mike Cifelli
|
0855789fde
|
Started changing car/cdr to first/rest, modified acceptance test fixture
|
2017-02-24 11:07:06 -05:00 |
Mike Cifelli
|
8cd813ed14
|
Formatted a source file
|
2017-02-22 14:38:32 -05:00 |
Mike Cifelli
|
6f2802828d
|
Resolves #5 - Added FitNesse to the project
|
2017-02-22 14:11:40 -05:00 |
Mike Cifelli
|
013707e11a
|
Static import of 'eval'
|
2017-02-21 13:59:56 -05:00 |
Mike Cifelli
|
0c3d3ae024
|
Resolves #1 - Added the IF Special Form
|
2017-02-21 12:35:47 -05:00 |
Mike Cifelli
|
b3ae5c9122
|
Added decorators for output text
|
2017-02-11 13:33:34 -05:00 |
Mike Cifelli
|
ce1547d71a
|
Formatted and cleaned some code
|
2017-02-11 10:51:37 -05:00 |
Mike Cifelli
|
6fa132313d
|
Refactored error severity
|
2017-02-11 10:42:07 -05:00 |
Mike Cifelli
|
bdcb2227c9
|
Removed RuntimeExceptions and associated logic
|
2017-02-09 12:09:51 -05:00 |
Mike Cifelli
|
1a25ddc35f
|
Refactored the lisp interpreter builder and some error handling
|
2017-02-09 11:00:23 -05:00 |
Mike Cifelli
|
65069561b8
|
Formatted LispInterpreterBuilderImpl
|
2017-02-06 13:47:05 -05:00 |
Mike Cifelli
|
993df541aa
|
Organized imports in several files
|
2017-02-06 13:44:35 -05:00 |
Mike Cifelli
|
b6d717ec1c
|
Formatted several files
|
2017-02-06 13:43:27 -05:00 |
Mike Cifelli
|
913fd031c6
|
Only allow a single interpreter to be built
Renamed Environment to RuntimeEnvironment
|
2017-02-06 13:39:05 -05:00 |
Mike Cifelli
|
4719e14d7f
|
Added unit tests for the FunctionTable and ExecutionContext
|
2017-02-06 12:02:19 -05:00 |
Mike Cifelli
|
c2a373dc85
|
Added the following built-ins: AND & OR
|
2017-02-05 16:00:56 -05:00 |
Mike Cifelli
|
a9a47be6cd
|
Allow DEFUN and LAMBDA with an empty body
|
2017-02-04 15:38:47 -05:00 |
Mike Cifelli
|
0a5228d5a7
|
Update argument validation and added unit tests
Fixed some bugs in LET and LAMBDA
Refactored the code in UserDefinedFunction
|
2017-02-04 13:51:10 -05:00 |
Mike Cifelli
|
d7ca5d09da
|
Added unit tests and refactored the let form
Wrote a lisp program to calculate the number of bi-weekly paydays in a year
|
2017-02-04 12:03:31 -05:00 |
Mike Cifelli
|
db2817f7be
|
Refactored the symbol table code
|
2017-01-30 16:12:38 -05:00 |
Mike Cifelli
|
d3fc8f9812
|
Refactored the function table logic
|
2017-01-29 14:33:46 -05:00 |
Mike Cifelli
|
5351168763
|
Started refactoring UserDefinedFunction
|
2017-01-27 16:19:09 -05:00 |
Mike Cifelli
|
27fdc7b328
|
Added unit tests and refactored lambda
|
2017-01-27 14:31:41 -05:00 |
Mike Cifelli
|
79648cd96f
|
Added unit tests and refactored defun
|
2017-01-27 12:12:27 -05:00 |
Mike Cifelli
|
25f73e6d2e
|
Added unit tests and refactored the load function
|
2017-01-26 15:58:15 -05:00 |
Mike Cifelli
|
919644d9c0
|
Added unit tests and refactored setf
|
2017-01-26 12:30:38 -05:00 |
Mike Cifelli
|
6ed24e85fe
|
Removed an unused import
|
2017-01-22 11:13:17 -05:00 |
Mike Cifelli
|
1f0d312e7e
|
Added unit tests for exit and symbol-function and refactored some code
|
2017-01-22 11:11:16 -05:00 |
Mike Cifelli
|
ea8acd423f
|
Refactored some code and added unit tests
|
2017-01-18 16:25:09 -05:00 |
Mike Cifelli
|
b700b714f3
|
Minor update to the Environment class
|
2017-01-17 15:54:09 -05:00 |
Mike Cifelli
|
a4cb521c7d
|
Introduced global abstractions of input, output, and termination
|
2017-01-17 13:54:21 -05:00 |
Mike Cifelli
|
217c215efe
|
Started major refactoring of several built in functions
|
2017-01-16 13:38:49 -05:00 |
Mike Cifelli
|
35ef281733
|
Refactored the built in function quote
|
2017-01-15 19:17:19 -05:00 |
Mike Cifelli
|
38db0862ff
|
Added unit tests and refactored the length built in function
|
2017-01-15 14:23:46 -05:00 |
Mike Cifelli
|
4b75b13485
|
Refactored the code for math functions
|
2017-01-15 13:50:28 -05:00 |
Mike Cifelli
|
0560c02093
|
Re-organized the built in function classes
|
2017-01-14 18:01:14 -05:00 |
Mike Cifelli
|
ba59b2a8cf
|
Added more unit tests and refactored the code for several built in functions
|
2017-01-13 14:05:33 -05:00 |
Mike Cifelli
|
e543de6f12
|
Refactored and added unit tests for listp
|
2017-01-13 12:52:05 -05:00 |
Mike Cifelli
|
cdb32e3777
|
Added unit tests and refactored the code for the list function
|
2017-01-06 17:10:00 -05:00 |
Mike Cifelli
|
5cd037fc07
|
Added unit tests and refactored code
|
2017-01-05 18:00:21 -05:00 |
Mike Cifelli
|
3cb9d89616
|
Refactored more code and added unit tests for the built in functions
|
2017-01-04 13:57:16 -05:00 |
Mike Cifelli
|
9f80fc9abe
|
Added unit tests and refactored the equal function
|
2016-12-30 10:22:25 -05:00 |
Mike Cifelli
|
d0da7813bd
|
Added more unit tests and refactored some built in functions
|
2016-12-29 13:32:45 -05:00 |
Mike Cifelli
|
4b0c4b44a7
|
Started conversion to BigInteger for numbers
|
2016-12-25 13:56:24 -05:00 |
Mike Cifelli
|
68510ec1a8
|
Started refactoring and writing unit tests for DEFUN
|
2016-12-25 13:29:06 -05:00 |
Mike Cifelli
|
37bc303fe8
|
Improved the argument list validation for COND
|
2016-12-25 12:49:18 -05:00 |
Mike Cifelli
|
eb9f224c60
|
Refactored the COND built-in function
|
2016-12-24 13:16:03 -05:00 |
Mike Cifelli
|
a0583f808c
|
Added more unit tests for the built-in functions
|
2016-12-23 10:53:11 -05:00 |
Mike Cifelli
|
7de7996a27
|
Added function to the argument validator and refactored some code
|
2016-12-22 16:55:25 -05:00 |
Mike Cifelli
|
9bea0e6533
|
Started writing tests for the builtin functions
|
2016-12-22 10:32:48 -05:00 |
Mike Cifelli
|
715de2f220
|
Cleaned up some import statements
|
2016-12-21 14:42:45 -05:00 |
Mike Cifelli
|
c4531b25e2
|
Added unit tests and did some refactoring
|
2016-12-20 12:03:37 -05:00 |