Commit Graph

  • 474047aec2 Move sub() inside kal Andrew Morris 2023-07-25 17:14:01 +10:00
  • b0b8e3d192 Add failing test Andrew Morris 2023-07-25 17:07:43 +10:00
  • 266d4cde11 Remove unnecessary muts Andrew Morris 2023-07-25 17:02:05 +10:00
  • 44f8f73645 Simplify diagnostics Andrew Morris 2023-07-25 16:56:14 +10:00
  • 570b3512a0 Implement non-capturing class expressions Andrew Morris 2023-07-25 16:43:50 +10:00
  • 4fbc0519ce wip2 class-captures Andrew Morris 2023-07-25 15:31:37 +10:00
  • 3a8a015f21 wip Andrew Morris 2023-07-25 14:35:41 +10:00
  • 5fd2a046e2 Simplify function compiling Andrew Morris 2023-07-25 12:00:43 +10:00
  • f2e518f343 Directly insert dependent definitions and diagnostics Andrew Morris 2023-07-25 10:59:19 +10:00
  • 200607f1ae Represent class as just a value in the assembly Andrew Morris 2023-07-25 10:47:35 +10:00
  • ed0d2665fd Add Value::Class, Kal::Class Andrew Morris 2023-07-25 10:20:48 +10:00
  • b10861389a Class static constants Andrew Morris 2023-07-25 09:28:04 +10:00
  • 8a13025fd5 Support more static prop names Andrew Morris 2023-07-25 09:14:07 +10:00
  • 926f8d6cff Move compile_expr into StaticExpressionCompiler Andrew Morris 2023-07-25 09:09:29 +10:00
  • 9a327ababe Implement static method props Andrew Morris 2023-07-24 17:57:51 +10:00
  • 2d58ef5ebd Implement method props Andrew Morris 2023-07-24 17:47:13 +10:00
  • 317ca24cfe Support functions and classes in static expressions Andrew Morris 2023-07-24 17:30:34 +10:00
  • 72a7ab5c37 Static eval for arrow functions Andrew Morris 2023-07-24 14:49:38 +10:00
  • d3383ff11e Simplify export default Andrew Morris 2023-07-24 14:39:11 +10:00
  • 839aff0de3 Allow fallback to pointer for non-constants Andrew Morris 2023-07-24 14:36:22 +10:00
  • a72b26a8ba Make compile_expr non-optional Andrew Morris 2023-07-24 14:32:59 +10:00
  • ff47617862 Make compile_enum_value and static_eval_expr methods of ModuleCompiler Andrew Morris 2023-07-24 14:10:15 +10:00
  • 870c9eed2a Simplify diagnostic reporting Andrew Morris 2023-07-24 13:58:12 +10:00
  • 267a86fb2c Just pass ModuleCompiler to compile_enum_value, static_eval_expr Andrew Morris 2023-07-24 11:24:07 +10:00
  • 1a12e57435 Use compile-time borrowing of module compiler to simplify fnc, ec Andrew Morris 2023-07-24 11:16:38 +10:00
  • e81eb6d1e2 Fix clippy issues Andrew Morris 2023-07-24 10:38:46 +10:00
  • d649272a6e Implement exporting constants Andrew Morris 2023-07-24 10:26:54 +10:00
  • 0f7ab32fce Remove completed TODO Andrew Morris 2023-07-24 09:51:50 +10:00
  • 0d59881d82 Document SWC bug Andrew Morris 2023-07-21 17:51:19 +10:00
  • 0ec8093ae4 Fix category of passing test Andrew Morris 2023-07-21 17:32:53 +10:00
  • bccc43f264 Fix doubleCapture.ts Andrew Morris 2023-07-21 17:21:22 +10:00
  • 7ce3e4b2bb Fix reverting this in try-catch Andrew Morris 2023-07-21 16:52:40 +10:00
  • 0927e1d312 Fix category of passing test Andrew Morris 2023-07-21 16:42:48 +10:00
  • 9536a5fc6e Capture this in arrow functions Andrew Morris 2023-07-21 16:38:30 +10:00
  • fd116d06a2 Include this in scope analysis Andrew Morris 2023-07-21 15:27:02 +10:00
  • fcdebb7b9e Webserver examples Andrew Morris 2023-07-21 11:30:21 +10:00
  • 6bb533e4ba Update richards.ts using more new features Andrew Morris 2023-07-07 17:55:58 +10:00
  • bfe8245103 Update richards.ts Andrew Morris 2023-07-07 17:47:32 +10:00
  • 24438aecb7 Implement constants that refer to other constants Andrew Morris 2023-07-07 17:46:29 +10:00
  • 48fd851fb7 Use ScopeAnalysis in static eval Andrew Morris 2023-07-07 17:07:09 +10:00
  • 581965e01b Make clippy a happy chappy Andrew Morris 2023-07-07 16:08:28 +10:00
  • 6c72b32111 Handle undefined as a constant Andrew Morris 2023-07-07 14:34:39 +10:00
  • 559528ab53 Update readme Andrew Morris 2023-07-07 11:58:58 +10:00
  • f7cface4cc Support all values as keys in assembly Andrew Morris 2023-07-07 11:46:21 +10:00
  • 8e5f41cf40 tutorial/typeScriptFeatures.ts Andrew Morris 2023-07-07 11:39:08 +10:00
  • 4c90c5d484 Update tree shaking example Andrew Morris 2023-07-07 10:59:07 +10:00
  • d763e0dd13 Implement enums Andrew Morris 2023-07-07 10:49:21 +10:00
  • 9552c71109 Take registers on the last pass only, do 3 passes Andrew Morris 2023-07-07 00:20:25 +10:00
  • 1cbc6fdb09 Simplify just-reg edge case Andrew Morris 2023-07-06 23:55:19 +10:00
  • afd0c46495 Avoid making new registers when knowledge is just a register map Andrew Morris 2023-07-06 23:48:59 +10:00
  • 5a39f7996f Capture registers in knowledge when overwritten Andrew Morris 2023-07-06 23:26:05 +10:00
  • 06474f38a4 Remove outdated TODO Andrew Morris 2023-07-06 22:29:31 +10:00
  • 3fc5e62f25 TsTypeAssertion Andrew Morris 2023-07-06 22:04:52 +10:00
  • 496de4fff2 Mark await as todo instead of not supported Andrew Morris 2023-07-06 22:02:32 +10:00
  • 46eccda083 Compile seq expressions Andrew Morris 2023-07-06 22:01:09 +10:00
  • 4339f562f7 Use ~ in constant Andrew Morris 2023-07-06 21:55:15 +10:00
  • 6615ea79d2 Support more static expressions Andrew Morris 2023-07-06 21:52:08 +10:00
  • 5a72e7c3bf Support static eval for object literals Andrew Morris 2023-07-06 20:33:39 +10:00
  • dce4d50506 Support static eval for array literals Andrew Morris 2023-07-06 20:20:20 +10:00
  • 12d83fad18 Still emit assembly even if there are errors Andrew Morris 2023-07-06 20:12:06 +10:00
  • c29b6d64ae Don't skip code generation when static eval fails Andrew Morris 2023-07-06 20:11:46 +10:00
  • 90c276d915 Remove outdated comment Andrew Morris 2023-07-06 18:27:09 +10:00
  • d9ce30d2d1 Use padStart Andrew Morris 2023-07-06 18:21:51 +10:00
  • 2f0db65d30 Fix template string bug Andrew Morris 2023-07-06 18:18:19 +10:00
  • 37c9f09c2f Add failing test Andrew Morris 2023-07-06 18:11:02 +10:00
  • 2ee11752ad Extract bigint constants, update p25 example Andrew Morris 2023-07-06 17:58:28 +10:00
  • 385d63374d Implement string.length for Kal Andrew Morris 2023-07-06 17:46:17 +10:00
  • 5a6d11c980 Implement string indexing for Kal Andrew Morris 2023-07-06 17:38:08 +10:00
  • 4e2fb4b0d4 Remove completed TODO Andrew Morris 2023-07-06 17:30:22 +10:00
  • 34d6a21aab Rc<String> -> Rc<str> Andrew Morris 2023-07-06 17:25:24 +10:00
  • 711ad1e762 Use param props in examples Andrew Morris 2023-07-06 17:13:52 +10:00
  • 57b3a6b543 Implement typescript param props Andrew Morris 2023-07-06 16:30:24 +10:00
  • d3e1338599 Add failing test Andrew Morris 2023-07-06 16:04:34 +10:00
  • 5cdd45b133 Use in operator Andrew Morris 2023-07-06 15:58:42 +10:00
  • 814fb09159 Implement in operator Andrew Morris 2023-07-06 15:56:04 +10:00
  • eb95deeb5d Implement negative indexes for Range.at Andrew Morris 2023-07-06 14:36:29 +10:00
  • fcc140c46c Fix throw %!e Andrew Morris 2023-07-06 14:27:01 +10:00
  • 262ac430f4 Simplify get_pattern_register Andrew Morris 2023-07-06 14:17:52 +10:00
  • 2952d69698 Fix this params Andrew Morris 2023-07-06 14:06:51 +10:00
  • a3ae60eca7 Add failing test Andrew Morris 2023-07-06 13:44:11 +10:00
  • 557355091a Fix mergeSortStepper Andrew Morris 2023-07-06 13:30:21 +10:00
  • 6c18165a5e Formatting Andrew Morris 2023-07-06 11:49:18 +10:00
  • 9000487b2f Fix switch tests Andrew Morris 2023-07-06 10:27:41 +10:00
  • ced2b3cee6 Implement switch Andrew Morris 2023-07-06 10:22:05 +10:00
  • 5b7626735d Remove mov where arg and dst are the same Andrew Morris 2023-07-05 12:24:45 +10:00
  • 70102961c6 Fix test Andrew Morris 2023-07-05 12:22:17 +10:00
  • 55c51d0fa7 Add failing test Andrew Morris 2023-07-05 12:01:57 +10:00
  • 3f63091e07 Use return register when a variable is always returned Andrew Morris 2023-07-05 11:44:14 +10:00
  • d38abb7377 Collapse jump to jump Andrew Morris 2023-07-04 22:50:13 +10:00
  • 063ab365a7 Remove unused registers Andrew Morris 2023-07-04 11:01:07 +10:00
  • 31b62c9f7b Remove outdated disclaimer Andrew Morris 2023-07-03 12:39:49 +10:00
  • 0366d098c0 Remove redundant ends, fix next_instruction_index Andrew Morris 2023-07-03 12:19:51 +10:00
  • 07e299614f Simplify jumps Andrew Morris 2023-07-03 11:59:04 +10:00
  • eca2cda3d5 Use half indentation for labels Andrew Morris 2023-07-03 11:16:34 +10:00
  • 9b9b342110 Use 4 space indentation for assembly Andrew Morris 2023-07-03 11:15:36 +10:00
  • ca01d8169d Remove empty lines before labels Andrew Morris 2023-07-03 11:12:19 +10:00
  • d89103de79 Optimize after removing unused labels Andrew Morris 2023-07-03 10:48:57 +10:00
  • b7d5101bf4 Remove unused labels Andrew Morris 2023-07-03 10:45:20 +10:00
  • 0413219abb Print individual benchmark scores Andrew Morris 2023-07-03 10:14:33 +10:00
  • 29835bf732 Replace negate+jmpif with jmpif_not Andrew Morris 2023-07-03 09:56:00 +10:00