Commit Graph

142 Commits

Author SHA1 Message Date
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
4253145383 A few test cases were added for CASE 2017-02-28 15:07:37 -05:00
05f75b627b Resolves #11 - The CASE special function has been added
Refactored some unit tests
2017-02-28 15:01:05 -05:00
d2dfe23083 Resolves #10 - The equality predicates have been refactored 2017-02-28 11:54:19 -05:00
50a3f3be67 Resolves #6 - PROGN Special Function (Form) 2017-02-27 15:36:17 -05:00
d3e3f52e59 Altered SYMBOL-FUNCTION behavior and cleaned up some code 2017-02-27 14:10:20 -05:00
2ef285e45c Added a few extra unit tests for number prefixes 2017-02-27 13:37:56 -05:00
fb35884479 Resolves #7 - Allow prefixing of numbers 2017-02-27 13:34:04 -05:00
bf40feadec User defined functions now set up their scope correctly 2017-02-27 12:00:24 -05:00
462e5ea15e Built-in function names are now defined through annotations 2017-02-26 16:47:06 -05:00
49e145d098 Cleaned up some code 2017-02-26 12:39:08 -05:00
e51d275b76 Started added unit tests for the interpreter and main packages 2017-02-26 12:31:27 -05:00
1fed0433e5 Formatted a source file 2017-02-25 19:12:34 -05:00
78c7bf4d9c Added DEFINE-MACRO for user defined special functions (forms) 2017-02-25 19:11:31 -05:00
4f4bc8f71a Added special functions (forms) and refactored internal s-expression predicates 2017-02-25 17:29:37 -05:00
c83db3721c Finished changing car/cdr to first/rest in the code 2017-02-24 16:00:05 -05:00
0855789fde Started changing car/cdr to first/rest, modified acceptance test fixture 2017-02-24 11:07:06 -05:00
013707e11a Static import of 'eval' 2017-02-21 13:59:56 -05:00
0c3d3ae024 Resolves #1 - Added the IF Special Form 2017-02-21 12:35:47 -05:00
ea57fc8bae Added unit tests for RuntimeEnvironment 2017-02-14 14:28:47 -05:00
b3ae5c9122 Added decorators for output text 2017-02-11 13:33:34 -05:00
ce1547d71a Formatted and cleaned some code 2017-02-11 10:51:37 -05:00
6fa132313d Refactored error severity 2017-02-11 10:42:07 -05:00
bdcb2227c9 Removed RuntimeExceptions and associated logic 2017-02-09 12:09:51 -05:00
1a25ddc35f Refactored the lisp interpreter builder and some error handling 2017-02-09 11:00:23 -05:00
daf51fa198 Added a unit test for Characters 2017-02-08 12:56:24 -05:00
b55738231c Added unit tests for the RuntimeEnvironment 2017-02-07 14:38:21 -05:00
993df541aa Organized imports in several files 2017-02-06 13:44:35 -05:00
b6d717ec1c Formatted several files 2017-02-06 13:43:27 -05:00
913fd031c6 Only allow a single interpreter to be built
Renamed Environment to RuntimeEnvironment
2017-02-06 13:39:05 -05:00
4719e14d7f Added unit tests for the FunctionTable and ExecutionContext 2017-02-06 12:02:19 -05:00
c2a373dc85 Added the following built-ins: AND & OR 2017-02-05 16:00:56 -05:00
a9a47be6cd Allow DEFUN and LAMBDA with an empty body 2017-02-04 15:38:47 -05:00
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
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
db2817f7be Refactored the symbol table code 2017-01-30 16:12:38 -05:00
27fdc7b328 Added unit tests and refactored lambda 2017-01-27 14:31:41 -05:00
79648cd96f Added unit tests and refactored defun 2017-01-27 12:12:27 -05:00
5fd22b310f Simplified some predicate unit tests 2017-01-27 11:37:11 -05:00
fe880e1a02 Refactored tests to put the expected and actual values in the correct positions 2017-01-27 10:51:25 -05:00
32db0b2520 Minor code formatting 2017-01-26 16:00:47 -05:00
25f73e6d2e Added unit tests and refactored the load function 2017-01-26 15:58:15 -05:00
919644d9c0 Added unit tests and refactored setf 2017-01-26 12:30:38 -05:00
1f0d312e7e Added unit tests for exit and symbol-function and refactored some code 2017-01-22 11:11:16 -05:00
ea8acd423f Refactored some code and added unit tests 2017-01-18 16:25:09 -05:00
a4cb521c7d Introduced global abstractions of input, output, and termination 2017-01-17 13:54:21 -05:00
217c215efe Started major refactoring of several built in functions 2017-01-16 13:38:49 -05:00
38db0862ff Added unit tests and refactored the length built in function 2017-01-15 14:23:46 -05:00
0560c02093 Re-organized the built in function classes 2017-01-14 18:01:14 -05:00
9a85cb62df Added missing testcase for new LispNumber constant 2017-01-13 14:10:13 -05:00
ba59b2a8cf Added more unit tests and refactored the code for several built in functions 2017-01-13 14:05:33 -05:00
e543de6f12 Refactored and added unit tests for listp 2017-01-13 12:52:05 -05:00
cdb32e3777 Added unit tests and refactored the code for the list function 2017-01-06 17:10:00 -05:00
5cd037fc07 Added unit tests and refactored code 2017-01-05 18:00:21 -05:00
3cb9d89616 Refactored more code and added unit tests for the built in functions 2017-01-04 13:57:16 -05:00
9f80fc9abe Added unit tests and refactored the equal function 2016-12-30 10:22:25 -05:00
d0da7813bd Added more unit tests and refactored some built in functions 2016-12-29 13:32:45 -05:00
4b0c4b44a7 Started conversion to BigInteger for numbers 2016-12-25 13:56:24 -05:00
68510ec1a8 Started refactoring and writing unit tests for DEFUN 2016-12-25 13:29:06 -05:00
37bc303fe8 Improved the argument list validation for COND 2016-12-25 12:49:18 -05:00
eb9f224c60 Refactored the COND built-in function 2016-12-24 13:16:03 -05:00
a0583f808c Added more unit tests for the built-in functions 2016-12-23 10:53:11 -05:00
7de7996a27 Added function to the argument validator and refactored some code 2016-12-22 16:55:25 -05:00
9bea0e6533 Started writing tests for the builtin functions 2016-12-22 10:32:48 -05:00
c4531b25e2 Added unit tests and did some refactoring 2016-12-20 12:03:37 -05:00
f925993093 Added unit tests 2016-12-19 13:29:31 -05:00
089e3bd520 Refactored the eval package 2016-12-19 13:05:53 -05:00
fbd2b3207c Added an argument validator and unit tests 2016-12-19 11:38:14 -05:00
064f905045 Performed some minor code cleanup 2016-12-16 14:15:29 -05:00
6f4a319dab Refactored some of the exception classes. 2016-12-16 14:00:34 -05:00
a137e41a14 Cleaned up the ErrorManager and associated unit tests 2016-12-16 13:12:13 -05:00
25c0b5813b Refactored the ErrorManager and added unit tests 2016-12-16 12:31:16 -05:00
60a7eb562c Refactored some code and added unit tests 2016-12-16 11:26:53 -05:00
62a509eb4b Minor cleaning in the eval pacakge, added unit tests for the sexpression package 2016-12-15 15:33:48 -05:00
7b7556cc65 Started refactoring the sexpression package and cleaned up some unit test code 2016-12-15 11:19:03 -05:00
ad2375e2bd Continued refactoring the LispParser and writing unit tests 2016-12-14 14:41:43 -05:00
930c8137df Created a package for s-expressions and continued refactoring the parser 2016-12-14 13:09:41 -05:00
10fdbf3b75 Added unit tests for the LispParser and started refactoring 2016-12-14 12:10:28 -05:00
be986ea5cf Removed references to the Token.Type enum in test cases 2016-12-13 10:42:16 -05:00
1596503936 Cleaned up the unit tests 2016-12-12 14:57:34 -05:00
6b6f349c29 Added token classes and added unit tests 2016-12-12 10:15:20 -05:00
c02ef37f64 Added unit tests, refactored some code, and removed IOException references 2016-12-11 15:09:48 -05:00
f50b07842c Converted over to runtime exceptions 2016-12-11 11:23:44 -05:00
abdd89737f Refactored LispScanner and some unit tests 2016-12-11 10:12:59 -05:00
8cdeda7cb3 Refactored the FilePositionTracker test class 2016-12-10 12:00:32 -05:00
89bb52ab71 Continued refactoring and adding unit tests 2016-12-10 11:57:49 -05:00
1670a825e5 Added more unit tests and continued refactoring the scanner package 2016-12-09 16:04:38 -05:00
9b3261f575 Added unit tests and started refactoring LispScanner 2016-12-09 12:29:56 -05:00
702c11a7b9 Added unit tests for LispScanner and refactored LispFilterInputStream 2016-12-08 15:30:40 -05:00
daf35a72fa Refactored and added unit tests for LispFilterInputStream 2016-12-08 10:59:02 -05:00
4ad31c0570 Additional refactoring for eclipse 2016-12-07 16:40:08 -05:00
b875727361 Refactored code for eclipse 2016-12-07 16:38:26 -05:00