Commit Graph
2800 Commits
Author SHA1 Message Date
Thomas Weber 52e06d27f7 ast: Improve the compiler detector argument
- case insensitive
- also support "is turbowarp?"
2020-08-05 22:36:07 -05:00
Thomas Weber a9b205f50c js: "wait until" should yield if the thread is stuck
Testing to see if this should be applied to the other loops.
2020-08-05 22:24:50 -05:00
Thomas Weber 1d2ba750ec ast: fix compiler detector 2020-08-04 16:44:21 -05:00
Thomas Weber 97f908c277 Merge branch 'ast' into develop 2020-08-03 23:51:05 -05:00
Thomas Weber 626513d345 ast/execute cleanup 2020-08-03 23:47:54 -05:00
Thomas Weber 04e2755405 js: Fix control.wait 2020-08-03 23:47:26 -05:00
Thomas Weber bd3123192d Support music blocks in the compiler 2020-08-03 22:54:47 -05:00
Thomas Weber a31527ad96 add "is compiled?" boolean arg 2020-08-03 22:54:47 -05:00
Thomas Weber 3c0eaed66f Fix procedure dependencies breaking with caching 2020-08-03 22:54:47 -05:00
Thomas Weber c466ee790d js: add noop 2020-08-03 22:54:47 -05:00
Thomas Weber e67591de1d set VirtualMachine.isTurboWarp to true 2020-08-03 22:54:35 -05:00
Thomas Weber ca87f40e02 Cache compile results 2020-08-03 22:54:35 -05:00
Thomas Weber 9a585a25be ast: Cache procedure trees 2020-08-03 22:54:35 -05:00
Thomas Weber 5771e70d6b js: Move warp tracking to call time 2020-08-03 22:54:22 -05:00
Thomas Weber 3331a8bdf2 js: Fix op.contains 2020-08-03 22:54:13 -05:00
Thomas Weber af265c63ca Include sprite name in debug logs 2020-08-03 22:54:05 -05:00
Thomas Weber 84fcff85d9 ast: Fix default procedure inputs 2020-08-03 22:53:55 -05:00
Thomas Weber 0b04f50eea Support compiler flags, "nocompile" 2020-08-03 22:53:36 -05:00
Thomas Weber 32df47f2e2 Compiler cleanup 2020-08-03 22:53:36 -05:00
Thomas Weber 9b95cd6992 js: Fix list.add 2020-08-03 22:53:36 -05:00
Thomas Weber f63145b3bf Fix error in procedure compiling 2020-08-03 22:53:36 -05:00
Thomas Weber 235e2a00cd Fix some smaller bugs 2020-08-03 22:53:36 -05:00
Thomas Weber 921022f33f Nuke the old compiler. 2020-08-03 22:53:36 -05:00
Thomas Weber d0278aa08e ast: Support the remaining ast nodes in jsgen 2020-08-03 22:53:36 -05:00
Thomas Weber ffbe899eaf ast: Improve procedure call codegen
- emit nothing for empty procedures
- only emit arguments if needed
2020-08-03 22:53:36 -05:00
Thomas Weber 5df9db0427 ast: Improve some variable handling 2020-08-03 22:53:36 -05:00
Thomas Weber c26a72fbfb ast: Further fix codegen 2020-08-03 22:53:36 -05:00
Thomas Weber 77e2682580 ast: Fix many codegen bugs 2020-08-03 22:53:36 -05:00
Thomas Weber 658f915e80 ast: Get some pen projects to run correctly 2020-08-03 22:53:36 -05:00
Thomas Weber fed01dda6d ast: Get more things to run 2020-08-03 22:53:36 -05:00
Thomas Weber 51057b03a0 ast: More work on new compiler 2020-08-03 22:53:36 -05:00
Thomas Weber 703e7bab9c ast: Cleanup 2020-08-03 22:53:36 -05:00
Thomas Weber 67ab60cf9e ast: Basic AST generation feature parity with old compiler 2020-08-03 22:53:20 -05:00
Thomas Weber ca2bee3c82 ast: Add a lot more things to the AST generator 2020-08-03 22:41:31 -05:00
Thomas Weber 9a53a18479 ast: Add a lot more opcodes to the AST generator 2020-08-03 22:41:23 -05:00
Thomas Weber c068c90db3 eslint fixes 2020-08-03 22:41:18 -05:00
Thomas Weber e8549beb88 ast: Sorting, cleanup 2020-08-03 22:41:13 -05:00
Thomas Weber 72cf86545c ast: Get more of the new codegen to work 2020-08-03 22:41:09 -05:00
Thomas Weber 4646934dbc ast: Get the new codegen to actually compile and sortof work 2020-08-03 22:41:02 -05:00
Thomas Weber 17e86755fc ast: Get quicksort to codegen mostly correct 2020-08-03 22:40:52 -05:00
Thomas Weber 681bbb2ae3 ast: Improve astgen, jsgen 2020-08-03 22:40:45 -05:00
Thomas Weber 9b4c45001d ast: Test to see if the AST generation concept can work at all 2020-08-03 22:39:17 -05:00
Thomas Weber 20a60d8e1c Fix listContents
for the forkphorus test suite
2020-08-03 01:37:14 -05:00
Thomas Weber 3cda97516a set VirtualMachine.isTurboWarp to true 2020-08-02 17:01:53 -05:00
Thomas Weber 0a6046d948 Revert "Restore original clock behavior"
This reverts commit 4f1de873c0.
2020-07-27 09:16:01 -05:00
Thomas Weber 8065002e42 Procedure argument edge cases 2020-07-27 01:42:04 -05:00
Thomas Weber 4f1de873c0 Restore original clock behavior
This makes `npm run tap:unit` pass now
2020-07-27 01:13:38 -05:00
Thomas Weber a7ae8ccabc Reset cache in variable create, delete 2020-07-26 15:30:00 -05:00
Thomas Weber f9bc2137c5 Use thread blockContainer 2020-07-26 15:29:41 -05:00
Thomas Weber e97538110c Address some test failures 2020-07-26 11:57:30 -05:00