Commit Graph
2879 Commits
Author SHA1 Message Date
Thomas Weber 378e4f8206 js: trim trailing whitespace 2020-08-29 01:16:02 -05:00
Thomas Weber 87258bf44d Remove misleading comment
It was incorrect.
2020-08-29 00:54:38 -05:00
Thomas Weber 57097d7733 Merge branch 'develop' into number-optimizations 2020-08-29 00:24:33 -05:00
Thomas Weber 66f610b10c ast: Fix scripts opting into stuck checking (#10) 2020-08-28 23:53:14 -05:00
Thomas Weber c2ea3f4efb ast+js: Allow scripts to opt into stuck checking (#10) 2020-08-28 23:35:44 -05:00
Thomas Weber 5434b0a252 ast: Consider procedures_definition a hat 2020-08-28 23:35:09 -05:00
Thomas Weber 82c62ba782 ast: remove unused variable bodyStart 2020-08-28 23:14:13 -05:00
Thomas Weber 12ce7be648 ast: Start parsing procedures from the definition, not the first child
This fixes comments like "tw nocompile"
2020-08-28 23:13:13 -05:00
Thomas Weber bd9de75762 js: Only evaluate opcode function once in compatibility layer 2020-08-28 21:21:33 -05:00
Thomas Weber 1e08b6a2a6 js: Optimize list.get for number indexes 2020-08-28 21:11:12 -05:00
Thomas Weber 96218f6220 js: Improve >, <, === optimizations 2020-08-28 21:10:42 -05:00
Thomas Weber 12d237a656 js: Use native >, <, === when possible 2020-08-28 20:53:29 -05:00
Thomas Weber 9a84405351 js: Add some analysis methods to inputs 2020-08-28 18:29:35 -05:00
Thomas Weber e44c91b789 Remove toNumber() as it is only used in one spot 2020-08-28 16:10:31 -05:00
Thomas Weber ce826bca9d Add more keys 2020-08-28 12:22:41 -05:00
Thomas Weber 2189b40e83 ast: operator_random cleanup 2020-08-28 00:11:11 -05:00
Thomas Weber 6c763a97a9 ast: Add support for translate blocks 2020-08-27 23:51:59 -05:00
Thomas Weber 8d6b4bb738 ast: Add support for video sensing blocks 2020-08-27 23:50:01 -05:00
Thomas Weber f62f483ed8 ast: Add support for text2speech blocks 2020-08-27 23:44:00 -05:00
Thomas Weber 352a0c814d fix name of lastKeyPressed 2020-08-26 23:52:09 -05:00
Thomas Weber b92ea10228 ast: Remove isCompilerDetectorArgument helper
Can be inlined in the generator, which already what happens for "last key pressed?"
2020-08-23 20:20:53 -05:00
Thomas Weber 7307256837 ast: "last key pressed" should be case insensitive, and is finalized 2020-08-23 15:28:58 -05:00
Thomas Weber 9698c07291 ast: Cleanup procedure argument handling 2020-08-23 15:19:37 -05:00
Thomas Weber 5582e76098 ast+js: Move the procedure argument searching to AST 2020-08-23 15:19:37 -05:00
Thomas Weber 24cd6f6788 ast+js: Change procedure arguments to be real JS arguments 2020-08-23 15:19:34 -05:00
Thomas Weber d8f4952ce4 ast: Set yields to false for all procedures initially, not just warp procedures 2020-08-23 15:08:03 -05:00
Thomas Weber 5da11927f8 js: Fix unnecessary double space 2020-08-23 15:07:59 -05:00
Thomas Weber c889b22ee7 js: Include procedure code is debug log messages 2020-08-23 13:54:28 -05:00
Thomas Weber 1828a67348 ast: Include procedure code in trees 2020-08-23 13:54:04 -05:00
Thomas Weber 3e50a31692 js: Use different variable pool for generators and regular functions 2020-08-23 11:34:56 -05:00
Thomas Weber 7b62efcb7f ast: stop this script cannot yield anymore 2020-08-23 11:15:14 -05:00
Thomas Weber 9555b68381 js: Make retire() smarter 2020-08-23 11:14:49 -05:00
Thomas Weber 411dea526e ast: operator_mathop is case insensitive 2020-08-22 23:48:10 -05:00
Thomas Weber 12c3484599 ast: stop this script only yields outside of procedure 2020-08-22 15:55:03 -05:00
Thomas Weber 0cdde43ea7 ast: Add missing yields sets 2020-08-22 14:51:04 -05:00
Thomas Weber db3900ccfb ast+js: Break up control.stop 2020-08-22 14:47:10 -05:00
Thomas Weber 1bcbd4bda5 js: Update generatorNameVariablePool 2020-08-22 14:18:58 -05:00
Thomas Weber da87f66b11 ast: Cleanup analysis more
- dependency flattening is unnecessary
- fix not reanalyzing the same procedure twice
2020-08-22 14:16:32 -05:00
Thomas Weber 35b4e260f4 js: Use ast.procedures 2020-08-22 14:13:53 -05:00
Thomas Weber 657c1e390f ast: uncompiledProcedures -> proceduresToCompile 2020-08-22 14:06:13 -05:00
Thomas Weber ba8e7ea0dd ast: Do not analyze procedures multiple times 2020-08-22 14:06:02 -05:00
Thomas Weber 646f30ca10 js: Cleanup handling of procedures 2020-08-22 14:03:40 -05:00
Thomas Weber b07c8c5609 ast: Rewrite analysis
Analysis now also flattens the dependedProcedures list
2020-08-22 14:03:40 -05:00
Thomas Weber f422b68ec9 Remove unused import 2020-08-22 14:03:40 -05:00
Thomas Weber 31cb5538c0 ast+js: Script analysis cleanup 2020-08-22 14:03:40 -05:00
Thomas Weber 77103e8e23 ast+js: Script analysis prototype
AST generation tracks more information about yields.
This is used to generate non-generator functions when possible.
2020-08-22 14:03:40 -05:00
Thomas Weber b93eeed3f0 Remove unused script variable const t 2020-08-22 01:21:42 -05:00
Thomas Weber 2c7a3d299f Rename some internal opcodes
sensing.keydown -> keyboard.pressed
sensing.mousedown -> mouse.down
sensing.mouseY -> mouse.y
sensing.mouseX -> mouse.x
sensing.timer -> timer.get
sensing.resetTimer -> timer.reset
2020-08-22 00:58:02 -05:00
Thomas Weber 79fb3f9005 Reset cache when modifying comments, as these can affect compilation 2020-08-22 00:34:41 -05:00
Thomas Weber 39f8b2dfd3 Merge branch 'develop' of https://github.com/llk/scratch-vm into develop 2020-08-20 20:23:29 -05:00