Dylan Baker
c68744a888
Replace default readme
5 år sedan
Dylan Baker
bdade75ceb
Refactor
6 år sedan
Dylan Baker
0d9a817b2b
Use method and classmethod keywords
6 år sedan
Dylan Baker
58838d390a
Formatting
6 år sedan
Dylan Baker
bbfd7cc4d7
Parse property access/method calls
6 år sedan
Dylan Baker
d163e0774a
Change AST::Member to AST::PropertyDeclaration
6 år sedan
Dylan Baker
8da2f2da25
Make hashes their own token type
6 år sedan
Dylan Baker
9a77ac219b
Allow arbitrary chaining of () and []
6 år sedan
Dylan Baker
1415296cd0
Lex hashes
6 år sedan
Dylan Baker
f64680858b
Fix closure environment binding
6 år sedan
Dylan Baker
eb9b1b9c5e
Allow calling anonymous functions directly
6 år sedan
Dylan Baker
2088c2ed1a
Allow calling the result of a function call
6 år sedan
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 år sedan
Dylan Baker
74cd30ea15
Add package.json for prettier dependency & script
6 år sedan
Dylan Baker
76bc66d472
Prettier
6 år sedan
Dylan Baker
30e3ba32d9
Add assignments, make declarations throw if var already exists
6 år sedan
Dylan Baker
25152d67de
Allow top-level function expressions
6 år sedan
Dylan Baker
6b27d4ea38
Add ruby version
6 år sedan
Dylan Baker
9d9548404f
Implement comments
6 år sedan
Dylan Baker
381f363d0d
Pull whitespace skipping out into a shared method
6 år sedan
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 år sedan
Dylan Baker
37b3c966bf
Execute class definitions
6 år sedan
Dylan Baker
ebfc3e529c
Function expressions/higher order functions
6 år sedan
Dylan Baker
956369475a
Escape quotes, newlines, tabs
6 år sedan
Dylan Baker
749c1d5350
Fix for loops
6 år sedan
Dylan Baker
56e876a3b2
For loops
6 år sedan
Dylan Baker
9b28b56a3a
Prettier
6 år sedan
Dylan Baker
0d7aa28346
Allow grouping expressions with parentheses
6 år sedan
Dylan Baker
da7881db9f
Test scoping
6 år sedan
Dylan Baker
c9454ec025
Test conditionals
6 år sedan
Dylan Baker
0724802b86
Test function calls
6 år sedan
Dylan Baker
a33e74c894
Index execution tests
6 år sedan
Dylan Baker
a9c444a42f
Raise instead of throw
6 år sedan
Dylan Baker
59efebdd72
Add unary operations
6 år sedan
Dylan Baker
673f904132
Add hashes
6 år sedan
Dylan Baker
7553f1eee9
Interpreter
6 år sedan
Dylan Baker
0db77c281e
Initial commit
6 år sedan