greg
|
dcf89aa429
|
Move lookup_function back onto Evaluator
THe problem was that we were borrowing the output of the inner HashMap,
if we clone it we don't borrow anything
|
2017-09-19 22:10:56 -07:00 |
|
greg
|
1ffbeb6472
|
Return last value out of function
|
2017-09-19 22:10:56 -07:00 |
|
greg
|
f8a521fc9b
|
Start making function calls work
This commit isn't fully done yet
|
2017-09-19 22:10:56 -07:00 |
|
greg
|
77f72806be
|
Add support for multiple frames
|
2017-09-19 22:10:56 -07:00 |
|
greg
|
dcde5d6018
|
Start function call reduction
Move the varmap and funcmap functions to the Evaluator, to mkae it
easier to facilitate separate frames
|
2017-09-19 22:10:56 -07:00 |
|
greg
|
6bb227d052
|
Rename methods
make reduce() the entry point to evaluation
|
2017-09-19 22:10:56 -07:00 |
|
greg
|
29d4cb53a4
|
Add infrastructure to do function evaluation
Right now you can successfully evaluate a function definition (returning
Null), but cannot call a function
|
2017-09-19 22:10:56 -07:00 |
|
greg
|
3915c1f035
|
Remove println from reduction
|
2017-09-19 22:10:56 -07:00 |
|
greg
|
b400796e4d
|
Get rid of test variable input
|
2017-09-19 22:10:56 -07:00 |
|
greg
|
96e6a87f64
|
Add string concat
|
2017-09-19 22:10:56 -07:00 |
|
greg
|
b1f9e5cefc
|
Fix variable lookup
|
2017-09-19 22:10:56 -07:00 |
|
greg
|
be36d4697d
|
Pretty-print evaluated AST nodes
|
2017-09-19 22:10:56 -07:00 |
|
greg
|
ce8c511929
|
Evaluate additional operators
|
2017-09-19 22:10:55 -07:00 |
|
greg
|
229e6ae733
|
More expression parsing work
|
2017-09-19 22:10:55 -07:00 |
|
greg
|
e9dd0d9ae8
|
Add concept of Null expression
Finally, the null-only behavior is starting to manifest itself!
|
2017-09-19 22:10:55 -07:00 |
|
greg
|
7114e446a4
|
Adding, subtracting works
|
2017-09-19 22:10:55 -07:00 |
|
greg
|
044f534ac5
|
Start implementing variable lookup
|
2017-09-19 22:10:55 -07:00 |
|
greg
|
d3207ad890
|
Move evaluation logic back into methods
They need to be able to access the environment which is stored in the
Evalator struct
|
2017-09-19 22:10:55 -07:00 |
|
greg
|
19fffd5063
|
Variable binding infrastructure
|
2017-09-19 22:10:55 -07:00 |
|
greg
|
785c916ece
|
Start reducing ASTs
Start writing code to reduce AST nodes
q
|
2017-09-19 22:10:55 -07:00 |
|
greg
|
5a9ebb188d
|
Make Evaluable trait
|
2017-09-19 22:10:55 -07:00 |
|
greg
|
16e8d969be
|
Add basic evaluation
|
2017-09-19 22:10:55 -07:00 |
|