72 Commits (39c00b753518f8c399cf2280fb21af2648f4fe05)

Autor SHA1 Nachricht Datum
  Martin Dørum 39c00b7535 change how loop works vor 3 Jahren
  Martin Dørum 1cc1303c2b better builtins macro vor 3 Jahren
  Martin Dørum bbbd0716ca add operators &&, ||, ?? vor 3 Jahren
  Martin Dørum d5974171e3 add test cases, and fix bugs in the process vor 3 Jahren
  Martin Dørum 01f1b7d2f9 don't allocate for arrays <2 elements long vor 3 Jahren
  Martin Dørum ea4271543e while function vor 3 Jahren
  Martin Dørum a81643f312 utility function to check if something is truthy vor 3 Jahren
  Martin Dørum 1c3cb1d6fb naming things vor 3 Jahren
  Martin Dørum dd620958b7 store array/buffer length in the l2_vm_value itself vor 3 Jahren
  Martin Dørum 07d6688baf new parenthesized function call syntax vor 3 Jahren
  Martin Dørum 9ffc6c5f80 more robust continuations, and implement 'loop' function vor 3 Jahren
  Martin Dørum 732adeb00e add comparison operators vor 3 Jahren
  Martin Dørum 382c4b9b1d 1-byte version of instructions vor 3 Jahren
  Martin Dørum 0acbfd77f0 better bytecode format vor 3 Jahren
  Martin Dørum c080f561d7 don't GC builtins vor 3 Jahren
  Martin Dørum 6ebc5345b3 parse changes, and operators == and != vor 3 Jahren
  Martin Dørum 3bf458897b veery basic control flow vor 3 Jahren
  Martin Dørum b94f188974 builtin variables vor 3 Jahren
  Martin Dørum 8c10cec784 infix functions vor 3 Jahren
  Martin Dørum bc29640896 add a REPL vor 3 Jahren
  Martin Dørum 1b1ae8cdf4 separate loader.h/c vor 3 Jahren
  Martin Dørum 61b791bdf1 add --output option to write bytecode to file vor 3 Jahren
  Martin Dørum 928f7cfc33 don't allocate arguments array for builtins vor 3 Jahren
  Martin Dørum 08cd621d90 actually run the GC vor 3 Jahren
  Martin Dørum ded80df7a8 short string optimization for tokens vor 3 Jahren
  Martin Dørum 5b6dc6be51 reduce unnecessary allocs in io_mem_writer vor 3 Jahren
  Martin Dørum c82bc5349b report lex errors vor 3 Jahren
  Martin Dørum 47e2a5e981 check errors vor 3 Jahren
  Martin Dørum 2af11e76a4 add error type vor 3 Jahren
  Martin Dørum 2490558d45 store stack base pointer in the stack frame vor 3 Jahren
  Martin Dørum e755acb19c make C++ happy with the headers vor 3 Jahren
  Martin Dørum 417e555d02 enable strict warnings, make code not emit warnings vor 3 Jahren
  Martin Dørum fa662b6868 change the IO APIs a bit vor 3 Jahren
  Martin Dørum 1c184b3111 dynamic lookups vor 3 Jahren
  Martin Dørum 82c92b26b9 rework bytecode and stacks vor 3 Jahren
  Martin Dørum d726ee311a correctness fixes, thanks to asan vor 3 Jahren
  Martin Dørum fc8bdb9df1 support setting the VM's stdout vor 3 Jahren
  Martin Dørum 12495a8bcd fixes, and array dot-number assign vor 3 Jahren
  Martin Dørum 164cc76ce9 = operator vor 3 Jahren
  Martin Dørum 9d2d3c3a01 array literals vor 3 Jahren
  Martin Dørum e042ce953b len() function vor 3 Jahren
  Martin Dørum fb5a02c602 array lookup with a dot-number token vor 3 Jahren
  Martin Dørum 6933015c72 better parser (though code gen not implemented yet) vor 3 Jahren
  Martin Dørum 41331f4be0 mostly parsing stuuff vor 3 Jahren
  Martin Dørum 5d8bcf692e change up some types vor 3 Jahren
  Martin Dørum 1d30f3c869 builtins, functions, etc vor 3 Jahren
  Martin Dørum 2bf2b4a88f builtin stuff, and reorganized l2_vm_value vor 3 Jahren
  Martin Dørum a11c4a0351 object literals vor 3 Jahren
  Martin Dørum abb1277e83 parsing and vm stuff vor 3 Jahren
  Martin Dørum 2dffcd295d basic programs can now execute correctly vor 3 Jahren