K. Lange
|
6164c3ebf4
|
General code cleanup.
|
2021-01-02 12:21:11 +09:00 |
|
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 |
|