Commit Graph

109 Commits

Author SHA1 Message Date
K. Lange
9211b04fc1 Add 'else if'; don't do Python's elif thing, I don't like that. 2021-01-02 12:13:01 +09:00
K. Lange
a4ba3a3d02 don't clean builtins.c 2021-01-02 09:49:41 +09:00
K. Lange
4cb692842c actually print an error when the interpreter is unable to open a file 2021-01-02 07:47:00 +09:00
K. Lange
fe89d5fae2 inlined function instruction wasn't in dissassembler 2021-01-01 21:13:49 +09:00
K. Lange
6e4ff9f791 .. and fix uname() 2021-01-01 21:07:42 +09:00
K. Lange
b42844f842 Fully internalize list+dict core methods and implement invokes for getters/setters 2021-01-01 20:52:18 +09:00
K. Lange
4bde1125b4 (rline) fix minor uninitialized read in word_right 2021-01-01 19:18:19 +09:00
K. Lange
19e1665bc1 why does this keep being terrible 2021-01-01 19:06:30 +09:00
K. Lange
2677c7aca7 Make sure that's still returning something 2021-01-01 17:47:30 +09:00
K. Lange
77fbff0e69 Disable set_tracing if debug flags aren't enabled 2021-01-01 17:38:09 +09:00
K. Lange
3823d5f69e Hide dumpStack() behind ifdef 2021-01-01 17:35:12 +09:00
K. Lange
30613c6354 Actually commit builtins.c to repo so it doesn't need to built normally 2021-01-01 17:25:24 +09:00
K. Lange
b03b0245d7 Actually commit builtins.c to repo so it doesn't need to built normally 2021-01-01 17:25:17 +09:00
K. Lange
288544d4ed fix multiline past in line editor 2021-01-01 17:10:23 +09:00
K. Lange
a9fffce795 bind File.__repr__ 2021-01-01 16:58:57 +09:00
K. Lange
1242f2f10f try to namespace everything 2021-01-01 16:58:13 +09:00
K. Lange
063e69a4fc Hash objects by pointers for now... 2021-01-01 16:23:43 +09:00
K. Lange
ae2e2be15d do something more straightforward and useful for methods on non-objects 2021-01-01 16:02:16 +09:00
K. Lange
8e5ace5112 Make classes for base types and exceptions 2021-01-01 12:04:58 +09:00
K. Lange
1dca833d6f add assignment shortcut operators (probably not worth using until optimizations are in place) 2021-01-01 10:42:16 +09:00
K. Lange
58132eedf8 Add binary operators 2021-01-01 08:55:39 +09:00
K. Lange
f745f8ec15 Add rudimentary (native) file i/o module 2020-12-31 18:41:17 +09:00
K. Lange
4df8cd8673 Docs, and also make negative indexes work as expected for strings at least... 2020-12-31 18:40:38 +09:00
K. Lange
2b3a5cec60 String slicing, and general syntax support 2020-12-31 18:32:37 +09:00
K. Lange
9a370f00e1 Add continue/break statements 2020-12-31 16:59:51 +09:00
K. Lange
aa3674dd32 implement shared object module support 2020-12-31 15:48:39 +09:00
K. Lange
c2e5eeceb7 Internal binding functions should look at the stack from the top, not the bottom; they may run with stuff on the stack... 2020-12-31 14:46:02 +09:00
K. Lange
0031048ff7 Fix missing nil terminator in _builtins_src[] 2020-12-31 13:50:17 +09:00
K. Lange
ede0e6e856 more README sections 2020-12-31 12:26:17 +09:00
K. Lange
764f9144f8 Add __base__, isinstance(), and track superclass in the VM and not just implicitly by super() calls. 2020-12-31 09:15:53 +09:00
K. Lange
90b8ba97dd fix closure example in README; needs 'let's 2020-12-31 07:58:33 +09:00
K. Lange
0b2c9df58f shove list comprehensions into their own fake call frames because everything is terrible 2020-12-30 22:30:09 +09:00
K. Lange
bb7e49add7 (repl) fix delay issues from old getch() implementation 2020-12-30 22:29:45 +09:00
K. Lange
33f7561076 List comprehensions, and several gc+scoping fixes along the way 2020-12-30 21:57:13 +09:00
K. Lange
f7e1c0da0d Add docstrings, __doc__, and help() 2020-12-30 16:59:21 +09:00
K. Lange
a5928b18c9 bite the bullet and rename length() to __len__() 2020-12-30 15:50:26 +09:00
K Lange
9fd9d81afe eliminate arbitrary size restrictions where possible 2020-12-29 06:33:16 +09:00
K. Lange
5c8d8942b1 make all classes inherit from object(), add __dir__ 2020-12-30 12:28:18 +09:00
K. Lange
f7e3a28408 int/float casts for strings 2020-12-30 11:26:07 +09:00
K. Lange
468136641f more README sections 2020-12-30 10:22:10 +09:00
K. Lange
1ae9828570 export should be able to take multiple arguments; fix resolution bug when export statement does not follow object to be exported 2020-12-30 10:19:52 +09:00
K. Lange
e731eca802 implement list and dict expressions 2020-12-30 09:05:20 +09:00
K. Lange
b19fc3a477 Add syntax for list/dict expressions 2020-12-30 09:01:52 +09:00
K. Lange
428c368a75 Support optional arguments by tracking separate arities 2020-12-30 08:00:48 +09:00
K. Lange
5ff31e7d96 fix parse error line output for error tokens from scanner 2020-12-29 22:16:35 +09:00
K. Lange
7f47224bd9 remove superfluous range module 2020-12-29 22:06:29 +09:00
K. Lange
267c7b5650 rudimentary character literal, specifically for bim syntax [sorry if you like single-quote strings in python] 2020-12-29 21:29:15 +09:00
K. Lange
430f20566e allow native functions to be bound as methods with a little work 2020-12-29 20:31:35 +09:00
K. Lange
7dfd853217 More stuff for embedding 2020-12-29 18:51:03 +09:00
K. Lange
4c651592f8 fix up some compiler eof stuff to make embedding more reasonable 2020-12-29 18:50:39 +09:00