Commit Graph

  • 5c8d8942b1 make all classes inherit from object(), add __dir__ K. Lange 2020-12-30 12:28:18 +0900
  • f7e3a28408 int/float casts for strings K. Lange 2020-12-30 11:26:07 +0900
  • 468136641f more README sections K. Lange 2020-12-30 10:22:10 +0900
  • 1ae9828570 export should be able to take multiple arguments; fix resolution bug when export statement does not follow object to be exported K. Lange 2020-12-30 10:08:21 +0900
  • e731eca802 implement list and dict expressions K. Lange 2020-12-30 09:05:20 +0900
  • b19fc3a477 Add syntax for list/dict expressions K. Lange 2020-12-30 09:01:52 +0900
  • 428c368a75 Support optional arguments by tracking separate arities K. Lange 2020-12-30 08:00:48 +0900
  • 5ff31e7d96 fix parse error line output for error tokens from scanner K. Lange 2020-12-29 22:16:35 +0900
  • 7f47224bd9 remove superfluous range module K. Lange 2020-12-29 22:06:29 +0900
  • 267c7b5650 rudimentary character literal, specifically for bim syntax [sorry if you like single-quote strings in python] K. Lange 2020-12-29 21:29:15 +0900
  • 430f20566e allow native functions to be bound as methods with a little work K. Lange 2020-12-29 20:25:34 +0900
  • 7dfd853217 More stuff for embedding K. Lange 2020-12-29 18:51:03 +0900
  • 4c651592f8 fix up some compiler eof stuff to make embedding more reasonable K. Lange 2020-12-29 18:50:39 +0900
  • eb17af8076 Embed __builtins__ source directly K. Lange 2020-12-29 18:04:02 +0900
  • b0c2772937 switch some type conversions to bound methods K. Lange 2020-12-29 16:40:42 +0900
  • 2c18402d40 escape sequences in strings K. Lange 2020-12-29 16:19:17 +0900
  • edc963b014 reword README K. Lange 2020-12-29 15:39:34 +0900
  • c6e5c8c120 once again, completely redo the parsing for indentation so that we can have pretty syntax errors K. Lange 2020-12-29 15:26:45 +0900
  • 54c3779938 fix up handling of exceptions in module imports K. Lange 2020-12-29 13:19:22 +0900
  • c91a861c99 Add some actually useful stuff to the readme K. Lange 2020-12-29 12:51:31 +0900
  • 105e92f846 gobble more line feeds and handle eof condition on if/try without matching else/except K. Lange 2020-12-29 12:40:19 +0900
  • 30cd3fb150 Allow empty blocks and merged single-line blocks K. Lange 2020-12-29 12:26:26 +0900
  • 32d7d6f666 fix scanner issue with EOF after indentation K. Lange 2020-12-29 12:24:48 +0900
  • a0d52a61f2 add an exception mechanism K. Lange 2020-12-29 11:00:12 +0900
  • ba73f5a32a move stray test into test/ K. Lange 2020-12-29 08:25:36 +0900
  • 0f7bc84ad3 for loops must open a new scope around their blocks as well or they won't pop locals before the loop finishes K. Lange 2020-12-29 08:23:18 +0900
  • 9a580d6720 Add binding to configure debug tracing at runtime K. Lange 2020-12-29 08:22:54 +0900
  • 56e7f3aa02 Not actually slower to include the debug branches K. Lange 2020-12-29 08:22:37 +0900
  • e9261a2f56 change size of integers to long K Lange 2020-12-28 16:32:40 +0900
  • b32dde0431 add % operator K Lange 2020-12-28 16:32:27 +0900
  • 27f888543d let's build things for a faster vm by default K Lange 2020-12-28 16:31:53 +0900
  • d8d03a2c4c pause gc around bound native calls K. Lange 2020-12-28 22:18:30 +0900
  • 067d8cdb65 fix upvalue storage being completely broken when we move the stack K. Lange 2020-12-28 22:02:39 +0900
  • 2432135b15 clean up repl highlighter K. Lange 2020-12-28 21:31:46 +0900
  • ae2b00bcfa int32_t is long int on toaru? I should probably fix that K. Lange 2020-12-28 21:08:55 +0900
  • 724e44655d Make print statement force args to strings K. Lange 2020-12-28 20:47:16 +0900
  • 3ba8025eeb lots of fixups so we can create dicts from the vm K. Lange 2020-12-28 20:38:26 +0900
  • b3ad2e1f22 Second pass at cleaning up built-ins K. Lange 2020-12-28 19:25:33 +0900
  • cdcbf6cf54 First pass at module/builtin cleanup K. Lange 2020-12-28 19:01:28 +0900
  • 86d2a80a6d make String.length a method K Lange 2020-12-28 11:29:58 +0900
  • 5a5c597033 little repl improvements K Lange 2020-12-28 11:25:42 +0900
  • ac15ca117c Clean up some pedantic warning stuff K Lange 2020-12-28 11:11:50 +0900
  • a1c8844292 Add screenshot of repl to README K. Lange 2020-12-28 16:08:06 +0900
  • 3c0bd99a2e ssize_t usually comes from sys/types K. Lange 2020-12-28 16:07:52 +0900
  • bbae30b09b fix history scrollback K. Lange 2020-12-28 14:00:12 +0900
  • db086de155 fix List.__set__ K. Lange 2020-12-28 13:55:55 +0900
  • f62f6f84e2 fix up some bad garbage collections with modules K. Lange 2020-12-28 13:51:14 +0900
  • 0f508c38dc Add support for iterators K. Lange 2020-12-28 13:35:02 +0900
  • 1d3368861b fix a bunch of compiler stuff K. Lange 2020-12-28 12:16:44 +0900
  • 1bae2060eb add fancy repl K. Lange 2020-12-28 11:37:38 +0900
  • 8f42695f36 Fix up repl K. Lange 2020-12-28 10:54:25 +0900
  • 369e0f84db We can also put them on more basic types K. Lange 2020-12-28 09:17:00 +0900
  • 3bcc5d5530 Synthesized properties and methods for strings K. Lange 2020-12-28 09:08:35 +0900
  • c55c806e40 we can extract properties from types other than instances in the vm, like this dynamic length method K. Lange 2020-12-28 08:17:54 +0900
  • 01fdf1d86f remove superfluous debug prints K. Lange 2020-12-27 22:48:22 +0900
  • 08b4044cfe executable stuff K. Lange 2020-12-27 22:42:22 +0900
  • 4982881235 that's a lot of stuff and pretty much finishes the book; need to do optimizations K. Lange 2020-12-27 22:40:35 +0900
  • 1f754ebc01 not exactly how modules work in Python, but, uh, good enough for us for now K. Lange 2020-12-27 18:55:52 +0900
  • 0ca0564cd0 methods/initializers; haven't done invoke, want to add modules first then come back K. Lange 2020-12-27 17:53:46 +0900
  • f88e8de25d classes and instances (from ch 27) K. Lange 2020-12-27 16:45:34 +0900
  • 1d0fac5640 Basic garbage collection; had to fix some stuff for stack preallocation K. Lange 2020-12-27 15:58:32 +0900
  • 78022fb701 wrap up closure implementation from chapter 25 K. Lange 2020-12-27 13:02:26 +0900
  • 076da0bc1e remove temporary 'block' keyword K. Lange 2020-12-27 10:58:36 +0900
  • 90bc82e976 add more stuff to demo script K. Lange 2020-12-27 10:32:23 +0900
  • d90778c40c fix totally broken hexadecimal constants K. Lange 2020-12-27 10:14:52 +0900
  • 81e3e133c8 finish up chapter 24 (functions, calls, native bindings) K. Lange 2020-12-27 09:33:28 +0900
  • df7ca60bdf and that's chapter 23... K. Lange 2020-12-26 20:39:47 +0900
  • aab01f01f7 Finish up chapter 22, local variables; fix up indentation-based scoping K. Lange 2020-12-26 18:39:29 +0900
  • f5d3cd24e0 meta stuff K. Lange 2020-12-26 16:59:43 +0900
  • 928047f1db Completed chapter 21, global variables K. Lange 2020-12-26 16:53:15 +0900
  • 417637ef21 hash tables (which should work with any object as keys?) and string interning from ch 20 K. Lange 2020-12-26 14:33:34 +0900
  • 14aeea5f5b through chapter 19 of Crafting Interpreters K. Lange 2020-12-26 09:32:21 +0900