jberg
7ba86cf584
fix tests, sprinkle more async/await ( #809 )
2019-07-14 15:25:40 -07:00
jberg
ea7b2d7670
remove integer checking ( #808 )
2019-07-13 19:00:04 -07:00
Jordan Eldredge
b73f9117dd
Run prettier
2019-07-13 15:57:03 -07:00
jberg
a9fb8631c5
add simple function tests, run wa5 tests ( #806 )
...
* add simple function tests
* add simple functions to test suite
* add popTo/callGlobal definitions
* use interpret for callGlobal, pass stack to interpret
* type check and cast to int when setting variables
* need to await interpret calls
* get wa5 tests running
* add some comments
2019-07-13 15:45:32 -07:00
Jordan Eldredge
e6f67cf6f5
Reference correct skin in utils test
2019-07-13 15:37:57 -07:00
jberg
c0caa5fa60
simplify type coercion / fix destructuring related error ( #807 )
2019-07-12 15:29:14 -07:00
jberg
c642b183e7
More basic tests ( #805 )
...
* add more basic tests
* add/update passing test strings
* only coerce if int is on LHS
2019-07-12 14:49:57 -07:00
jberg
4e880ab130
implement more operators and coerce types ( #804 )
...
* implement more operators and coerce types
* add remaining operators
2019-07-12 09:55:49 -07:00
Jordan Eldredge
bf5c3e9078
Fix initial paused state
2019-07-11 22:31:04 -07:00
Jordan Eldredge
56547a73ba
Improve debugging
2019-07-11 22:29:37 -07:00
Jordan Eldredge
9fc8d49dc7
Use a reducer to update state
2019-07-11 22:29:37 -07:00
jberg
4b3323cbca
check type on modulo ( #803 )
2019-07-11 22:20:32 -07:00
Jordan Eldredge
549a0d7b38
Implement more operators and add debugger
2019-07-11 20:57:18 -07:00
Jordan Eldredge
25bd25fde2
Inject logger
2019-07-11 20:57:18 -07:00
Jordan Eldredge
c9fc58ea44
Reenable tests
2019-07-11 20:57:18 -07:00
Jordan Eldredge
417e22f28e
Allow parser.js to run in the browserFor some reason object destructuing makes someone assume we should be using es6 exports
2019-07-11 20:57:18 -07:00
Jordan Eldredge
0be6a8e092
Compensate for the upcoming i++
2019-07-11 20:57:18 -07:00
Jordan Eldredge
b1fdd62410
Start running basic test
2019-07-11 20:57:18 -07:00
Jordan Eldredge
28f5d0929b
Add missing opcodes
...
the basicTest.m file, compiled by the Winamp3 compiler (and perhaps others) output these opcodes which are unknown to the decompiler. I _think_ this is what they are supposed to be.
2019-07-11 20:57:18 -07:00
Jordan Eldredge
e4ae01291c
Consolidate line
2019-07-11 20:57:18 -07:00
jberg
10fa928c1e
add basic maki operator tests ( #802 )
2019-07-09 20:36:45 -07:00
Jordan Eldredge
eae24a1263
Extract version info
2019-07-09 08:16:16 -07:00
Jordan Eldredge
2f6f1937a9
Inline calculating position
2019-07-09 08:16:16 -07:00
Jordan Eldredge
974c903715
Pull local functions into their own thing
2019-07-09 08:16:16 -07:00
Jordan Eldredge
88b67e376a
Move binding logic into Variable
2019-07-08 08:24:13 -07:00
Jordan Eldredge
de1b5350b0
Improve error message for missing classes
2019-07-05 17:20:24 -07:00
Jordan Eldredge
8621ca0f41
Add commented version of interpreting maki
2019-07-05 17:20:24 -07:00
Jordan Eldredge
f49074cb3d
Handle unknown objects better
2019-07-05 17:20:24 -07:00
Jordan Eldredge
5e5703b500
Split out function for formatting ids
2019-07-05 17:20:24 -07:00
Jordan Eldredge
6528d4dcb3
Use the name "data"
2019-07-05 17:20:24 -07:00
Jordan Eldredge
0d906a02d1
Don't use buffer when parsing maki
2019-07-05 17:20:24 -07:00
Jordan Eldredge
e0da85cada
Move the maki-interpreter experiment into the modern experiment
...
We're getting to a place where it's going to be feasible to test the
Maki interpreter in the browser, so it makes sense to merge the two
experiments.
2019-07-05 17:20:24 -07:00
jberg
d89e9a0fde
add simple skin ( #801 )
2019-07-05 17:12:33 -07:00
Jordan Eldredge
02e4db6752
Homonyms, how do they work?
2019-07-05 07:47:10 -07:00
Jordan Eldredge
8216ed3939
Get rid of props
2019-07-05 07:47:10 -07:00
Jordan Eldredge
da4f14c50f
Start writing MakiFile to use a Uint8Array under the hood
...
For now we do both and assert that they behave the same
2019-07-05 07:47:10 -07:00
Jordan Eldredge
1a1ffc8b5f
Error on invalid arg type
2019-07-05 07:47:10 -07:00
Jordan Eldredge
fecc92e989
Don't use Buffer outside of MakiFile
2019-07-05 07:40:14 -07:00
Jordan Eldredge
b87baccafe
Setup multi version test
2019-07-02 22:18:57 -07:00
Jordan Eldredge
fe76ebfab0
Don't share subscriptions between instances
2019-07-02 22:10:04 -07:00
Jordan Eldredge
a83167bfe8
Add first integration test
2019-07-02 22:05:05 -07:00
Jordan Eldredge
e0210fb5c1
Pass values to functions, not variables.
2019-07-02 21:40:04 -07:00
Jordan Eldredge
a8d83b4fa4
Fix typo
2019-07-02 21:39:05 -07:00
Jordan Eldredge
6ebcbec9d8
Allow cli to be executed directly
2019-07-02 20:47:31 -07:00
jberg
564bef9cbb
multiple versions of maki compiler ( #800 )
...
* multiple versions of maki compiler
* move compilers to reference dir
2019-07-02 20:19:55 -07:00
Jordan Eldredge
dc8bf15a86
Get rid of advanceDEPRECATED
2019-07-02 20:18:36 -07:00
Jordan Eldredge
6998e12f7a
Convert Parser into a function
2019-07-02 20:18:36 -07:00
Jordan Eldredge
ae18d2c836
Start splitting out the stateful part of Parser
...
This should set us up for two things:
1. Using a typed array instead of a buffer, since the reading logic is now encapsulated
2. Making parse a function instead of a class
2019-07-02 20:18:36 -07:00
Jordan Eldredge
8cf0efa6ae
Improve comments
2019-07-02 20:18:36 -07:00
Jordan Eldredge
4a9c2600bc
Clean up comments
2019-07-02 20:18:36 -07:00