Dylan Baker
d3ea85d84d
For loop/environment fixes
There was a problem where the body of a for loop was treated like a
function and got an entirely new environment. This meant that you could
not, for instance, modify a variable in a loop and keep the changed
value after the loop finished executing.
Also, for consistency, switch to storing only fully evaluated values in
the environment.
6 yıl önce
Dylan Baker
74cd30ea15
Add package.json for prettier dependency & script
6 yıl önce
Dylan Baker
76bc66d472
Prettier
6 yıl önce
Dylan Baker
30e3ba32d9
Add assignments, make declarations throw if var already exists
6 yıl önce
Dylan Baker
25152d67de
Allow top-level function expressions
6 yıl önce
Dylan Baker
6b27d4ea38
Add ruby version
6 yıl önce
Dylan Baker
9d9548404f
Implement comments
6 yıl önce
Dylan Baker
381f363d0d
Pull whitespace skipping out into a shared method
6 yıl önce
Dylan Baker
858d7a095b
Use \A instead of ^
^ matches the beginning of every line. Given the string
function() {
}
using /^\{/ will match the final } because it's at the beginning of the
line
6 yıl önce
Dylan Baker
37b3c966bf
Execute class definitions
6 yıl önce
Dylan Baker
ebfc3e529c
Function expressions/higher order functions
6 yıl önce
Dylan Baker
956369475a
Escape quotes, newlines, tabs
6 yıl önce
Dylan Baker
749c1d5350
Fix for loops
6 yıl önce
Dylan Baker
56e876a3b2
For loops
6 yıl önce
Dylan Baker
9b28b56a3a
Prettier
6 yıl önce
Dylan Baker
0d7aa28346
Allow grouping expressions with parentheses
6 yıl önce
Dylan Baker
da7881db9f
Test scoping
6 yıl önce
Dylan Baker
c9454ec025
Test conditionals
6 yıl önce
Dylan Baker
0724802b86
Test function calls
6 yıl önce
Dylan Baker
a33e74c894
Index execution tests
6 yıl önce
Dylan Baker
a9c444a42f
Raise instead of throw
6 yıl önce
Dylan Baker
59efebdd72
Add unary operations
6 yıl önce
Dylan Baker
673f904132
Add hashes
6 yıl önce
Dylan Baker
7553f1eee9
Interpreter
6 yıl önce
Dylan Baker
0db77c281e
Initial commit
6 yıl önce