Commit graph

142 commits

Author SHA1 Message Date
Jordan Eldredge
b2eedf67fd Don't share subscriptions between instances 2019-11-30 13:42:53 -08:00
Jordan Eldredge
afb3b7851a Add first integration test 2019-11-30 13:42:53 -08:00
Jordan Eldredge
9116793fb9 Pass values to functions, not variables. 2019-11-30 13:42:53 -08:00
Jordan Eldredge
502dade90a Fix typo 2019-11-30 13:42:53 -08:00
Jordan Eldredge
3804621603 Allow cli to be executed directly 2019-11-30 13:42:53 -08:00
jberg
7be3eb1fe8 multiple versions of maki compiler (#800)
* multiple versions of maki compiler

* move compilers to reference dir
2019-11-30 13:42:53 -08:00
Jordan Eldredge
c432379a85 Get rid of advanceDEPRECATED 2019-11-30 13:42:53 -08:00
Jordan Eldredge
332270b499 Convert Parser into a function 2019-11-30 13:42:53 -08:00
Jordan Eldredge
b86458a164 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-11-30 13:42:53 -08:00
Jordan Eldredge
bbf8c4b175 Improve comments 2019-11-30 13:42:53 -08:00
Jordan Eldredge
8e708b5d09 Clean up comments 2019-11-30 13:42:53 -08:00
Jordan Eldredge
97f549a860 Improve code organization and document it 2019-11-30 13:42:53 -08:00
Jordan Eldredge
c2a43e85fc Split out runtime 2019-11-30 13:42:53 -08:00
Jordan Eldredge
4a2e783577 Move parser into its own file 2019-11-30 13:42:53 -08:00
Jordan Eldredge
6b5a9d945b Split out interpreter 2019-11-30 13:42:53 -08:00
Jordan Eldredge
5ae08b6fc8 Separate runtime 2019-11-30 13:42:53 -08:00
Jordan Eldredge
aa77dca641 Throw for invalid primitive types 2019-11-30 13:42:53 -08:00
Jordan Eldredge
20d48b4b3d Delete unused test 2019-11-30 13:42:53 -08:00
Jordan Eldredge
cf5e7e8de4 Fix command to debug 2019-11-30 13:42:53 -08:00
Jordan Eldredge
fd4f15441d Check in skin tutorial 2019-11-30 13:42:53 -08:00
Jordan Eldredge
e18dfc8906 Add alias to debug the parser 2019-11-30 13:42:53 -08:00
Jordan Eldredge
7868ba9681 Add comments 2019-11-30 13:42:53 -08:00
Jordan Eldredge
e8012a6c0c Improve variable parsing 2019-11-30 13:42:53 -08:00
Jordan Eldredge
8a733a7f64 Start a variable class 2019-11-30 13:42:53 -08:00
Jordan Eldredge
4bf7b41ca6 Add interpret command 2019-11-30 13:42:53 -08:00
Jordan Eldredge
d940c7db14 Be more strict when parsing 2019-11-30 13:42:53 -08:00
Jordan Eldredge
ba3a4fdb25 Allow Discord bot to query skins by item name 2019-11-30 13:42:53 -08:00
Jordan Eldredge
2d6fd75540 Start playing with a Winston client that DMs me 2019-11-30 13:42:53 -08:00
Jordan Eldredge
3e799fc7dd Ignore python env 2019-11-30 13:42:53 -08:00
Jordan Eldredge
2186d2eb11 Improve logging 2019-11-30 13:42:53 -08:00
Jordan Eldredge
d15b399f17 Stub out GroupDef 2019-11-30 13:42:53 -08:00
Jordan Eldredge
d3d1e35994 Pass through nulls 2019-11-30 13:42:53 -08:00
Jordan Eldredge
d24702bcda Fix typo 2019-11-30 13:42:53 -08:00
Jordan Eldredge
efbb5c6d48 Attach function objects to function names 2019-11-30 13:42:53 -08:00
Jordan Eldredge
2a17fa1a30 Get actual classes instead of type ids 2019-11-30 13:42:53 -08:00
Jordan Eldredge
85a3034d99 Allow fetching by the ids we have 2019-11-30 13:42:53 -08:00
Jordan Eldredge
6564df8902 Avoid mutation 2019-11-30 13:42:53 -08:00
Jordan Eldredge
ded7b88fdf Fix parsing of type hashes 2019-11-30 13:42:53 -08:00
Jordan Eldredge
fedf231b0a Start taking some notes on the maki format 2019-11-30 13:42:53 -08:00
Jordan Eldredge
e6af21b404 Improve name of commands property 2019-11-30 13:42:53 -08:00
Jordan Eldredge
39bed76d44 Correct expectation for functions
These values were extracted from the perl script
2019-11-30 13:42:53 -08:00
Jordan Eldredge
000f369751 Correctly parse command opcodes
This moves to using a node Buffer to hold the command bytecode which resolves a character encoding issue we were having
2019-11-30 13:42:53 -08:00
Jordan Eldredge
7995ca9918 Render the DOM from the single atomic XML object 2019-11-30 13:42:53 -08:00
Jordan Eldredge
6f0e03f207 Get a single unified xml object and use that for deriving images 2019-11-30 13:42:53 -08:00
Jordan Eldredge
ec5834d771 Derive JSX from the skin file 2019-11-30 13:42:53 -08:00
Jordan Eldredge
71bc59f35c Add debug info to the DOM 2019-11-30 13:42:53 -08:00
Jordan Eldredge
09eb582b57 Use Utils.readXml 2019-11-30 13:42:53 -08:00
Jordan Eldredge
aa7e137612 Add utility to inline includes in the XML data structure 2019-11-30 13:42:53 -08:00
Jordan Eldredge
d14e1166df [WIP] resolve includes 2019-11-30 13:42:53 -08:00
Jordan Eldredge
2acccde641 Use correct path for skin 2019-11-30 13:42:53 -08:00