14060 Commits

Author SHA1 Message Date
Windel Bouwman
fd4452912b Merge pull request #10 from cthulahoops/string_literal_escapes
Add support for a escape sequence in string literals to lexer.
2018-07-28 10:03:06 +02:00
Adam Kelly
a6785c8d72 Add support for a escape sequence in string literals to lexer.
(\u, \x and octals not supported.)
2018-07-27 10:43:48 +01:00
Windel Bouwman
e7cc6b1786 Add else clause to for loop 2018-07-24 22:30:45 +02:00
Windel Bouwman
4a96783b54 Merge pull request #9 from yodalee/add-bool-constant
Add bool constant
2018-07-20 21:57:28 +02:00
Windel Bouwman
2d2ee85bf6 Change block stack unwind a little bit 2018-07-19 21:57:14 +02:00
yodalee
ea1b197831 add boolean constant
following program become runnable:
if True:
  print(1)
2018-07-19 21:33:41 +08:00
yodalee
2b28390153 resume debug code object print at startup
Impl more detail debug message for pyobject kind
2018-07-19 21:33:09 +08:00
Windel Bouwman
000f889222 Add compile builtin 2018-07-18 14:45:53 +02:00
Windel Bouwman
de29e7fdc7 Add spiffy dir function 2018-07-18 11:40:43 +02:00
Windel Bouwman
bbc19305f8 Reduce dependencies of vm and parser crates 2018-07-18 10:22:00 +02:00
Windel Bouwman
476edb509c Store local variables in REPL 2018-07-16 22:53:36 +02:00
Windel Bouwman
8b6e0fe0b6 Add more arithmatic 2018-07-16 21:09:05 +02:00
Windel Bouwman
e47e5f3d05 Add else statement 2018-07-15 16:54:29 +02:00
Windel Bouwman
b653b96a46 Autoformatting 2018-07-15 13:16:00 +02:00
Windel Bouwman
ac37d015d8 Add debug trait to frame 2018-07-15 13:10:26 +02:00
Windel Bouwman
8a0d8ab624 Add += and -= 2018-07-15 10:58:20 +02:00
Windel Bouwman
e648d2ca07 Merge pull request #7 from yodalee/better-codeobject-print
add pretty Debug implementation for CodeObject
2018-07-15 10:33:09 +02:00
yodalee
ed0f45172b add pretty Debug implementation for CodeObject 2018-07-15 00:59:49 +08:00
Windel Bouwman
36bef81ceb Change eval compile to statement 2018-07-14 16:03:50 +02:00
Windel Bouwman
5783133565 Add eval and exec compile modes 2018-07-14 15:17:19 +02:00
Windel Bouwman
e6493ec996 Add new_instance method 2018-07-14 12:14:16 +02:00
Windel Bouwman
66ff3f0bc3 Add type field to PyObject 2018-07-14 00:00:23 +02:00
Windel Bouwman
cafc9edf35 Formatting of code 2018-07-13 20:42:58 +02:00
Windel Bouwman
31be7b916d Added builtin module 2018-07-12 22:41:26 +02:00
Windel Bouwman
5187c2e974 Simple importing scheme working 2018-07-12 20:38:53 +02:00
Windel Bouwman
8198c4afb7 Merge pull request #5 from yodalee/pretty-print-to-list-and-tuple
add pretty print to list and tuple
2018-07-12 19:15:42 +02:00
yodalee
9f18ccd657 add pretty print to list and tuple 2018-07-13 00:15:28 +08:00
Windel Bouwman
3349e24aad Early import mechanics 2018-07-11 23:33:59 +02:00
Windel Bouwman
14c928ff1d move evaluate function into virtual machine 2018-07-11 18:19:32 +02:00
Windel Bouwman
65c3ff54b0 New idea for object system 2018-07-11 17:33:10 +02:00
Windel Bouwman
2354102795 Add interactive shell 2018-07-09 22:06:49 +02:00
Windel Bouwman
7d20869dc0 Fix return value from function 2018-07-08 21:03:25 +02:00
Windel Bouwman
ed4557fec5 Added cool script to test snippets in both implementations 2018-07-08 19:57:53 +02:00
Windel Bouwman
62cb3e2474 Add slice object 2018-07-08 12:38:55 +02:00
Windel Bouwman
b4e9064516 Try to repair cpython bytecode frontend 2018-07-08 00:22:30 +02:00
Windel Bouwman
3f98e3c64a Reverse dependency between vm and cpython bytecode adapter 2018-07-07 23:19:06 +02:00
Windel Bouwman
0a43d244f4 Add pipfile to install requirements for test snippets 2018-07-07 17:54:56 +02:00
Windel Bouwman
e9cee0f7c6 Remove json bytecode from git 2018-07-07 17:47:37 +02:00
Windel Bouwman
8470254f07 Move last compiler / vm pieces out of parser crate 2018-07-07 17:44:30 +02:00
Windel Bouwman
4be77bcbc7 Remove unused compiler namespace in parser 2018-07-07 17:36:21 +02:00
Windel Bouwman
377795dbec Shuffle files in proper places 2018-07-07 17:14:45 +02:00
Windel Bouwman
9526f78d82 Add pytest runner for test snippets 2018-07-07 16:27:05 +02:00
Windel Bouwman
b9170c0a88 Reshuffle some files 2018-07-07 14:00:30 +02:00
Windel Bouwman
2a67f2211c Try to emit proper bytecode 2018-07-03 20:30:54 +02:00
Windel Bouwman
0111a8356d Move bytecode definitions to top level crate 2018-07-03 19:55:15 +02:00
Windel Bouwman
7a719190f3 Move compiler function to top level and try to emit code 2018-07-03 19:38:09 +02:00
Shing Lyu
2d0e4efecf Make the main program parse from parser and run with vm 2018-06-11 22:29:09 +02:00
Shing Lyu
11557e98eb Ignoring rust target folders 2018-06-11 21:20:48 +02:00
Shing Lyu
6748227428 Extract the PyCodeObject definition into a separate crate 2018-06-07 22:44:49 +02:00
Shing Lyu
57aca407bc Fixed the test vm for a missed comparison operator 2018-06-07 21:46:31 +02:00