Commit Graph

60 Commits

Author SHA1 Message Date
Windel Bouwman
acefe3841e Add initial generator builtin type 2018-10-23 21:27:40 +02:00
Windel Bouwman
1222830678 Implement star arg on left hand side of assignment. 2018-10-22 21:52:06 +02:00
Windel Bouwman
f59f8a9567 Add support for *args and **kwargs in functions. 2018-10-21 20:48:08 +02:00
Windel Bouwman
940c41bda8 Reduce lalrpop generated code size by about half. Relates to issue #173. 2018-10-21 16:01:39 +02:00
Windel Bouwman
bc23e60962 Add generator expression syntax 2018-10-20 12:16:18 +02:00
Windel Bouwman
ae768c7fe6 Add parsing for star arg parameters. 2018-10-20 11:47:23 +02:00
Windel Bouwman
e92ba94c61 Modify ast regarding keyword arguments. 2018-10-19 22:45:24 +02:00
Windel Bouwman
8f3e1a3b25 Add error handling to compiler. 2018-10-19 20:51:50 +02:00
Windel Bouwman
7e45d0b8b4 Add del statement 2018-10-19 18:41:44 +02:00
Windel Bouwman
e334941728 Removal of Clone trait on ast nodes. Should reduce codesize somewhat. 2018-10-17 22:04:02 +02:00
Windel Bouwman
5707548436 Add set.add method 2018-10-17 21:08:46 +02:00
Windel Bouwman
96d35ad4f9 Generalize comprehensions for list, dict and set. 2018-10-17 20:10:26 +02:00
Windel Bouwman
c9aa103cce Change target of for loops into single expression. 2018-10-17 13:12:04 +02:00
Windel Bouwman
6105a836ad Initial variant of list comprehensions 2018-10-17 12:05:10 +02:00
Windel Bouwman
adfb750129 Added ternary if operator 2018-10-17 08:45:16 +02:00
Windel Bouwman
7728ee1e63 Minor change to keyword arguments in function call 2018-10-16 23:26:37 +02:00
Windel Bouwman
3eafcbec3d Add decorator functionality 2018-10-14 20:04:19 +02:00
Windel Bouwman
797e7f341f Merge branch 'master' of https://github.com/RustPython/RustPython into with 2018-09-11 19:21:13 +02:00
Daniel Watkins
c5e36e8530 Ignore clippy warnings in lalrpop generated code 2018-09-11 00:11:03 -04:00
Windel Bouwman
0f148e1214 Merge branch 'master' of https://github.com/RustPython/RustPython into with 2018-09-10 20:10:38 +02:00
Windel Bouwman
1eab9165bf Initial work on 'with' context manager logic 2018-09-10 20:10:31 +02:00
Adam Kelly
a14b776a81 Add tuple packing/unpacking assignment. (tuples only) 2018-09-09 21:19:56 +01:00
Daniel Watkins
b4662925b7 Naively parse keyword arguments
This doesn't enforce ordering of non-keyword and keyword arguments, and
doesn't actually use the keywords (the arguments will still be passed
through in order as positional).
2018-08-31 15:46:07 -04:00
Daniel Watkins
85d2dd2997 Add support for default argument syntax
The enforcement of the ordering of default/non-default arguments happens
in the compiling step, but should perhaps eventually be pushed back in
to the parsing phase.
2018-08-29 08:58:20 -04:00
Daniel Watkins
2cecd362fe Add support for defaults to bytecode, compiler and VM 2018-08-29 08:58:20 -04:00
Windel Bouwman
882606ba1a Move exceptions to own struct 2018-08-25 10:11:21 +02:00
Adam Kelly
046e5e9c60 Add unary not support to parser. 2018-08-24 18:23:05 +01:00
Windel Bouwman
04b786f0f3 Add try except to compiler 2018-08-22 21:42:18 +02:00
Windel Bouwman
583818378b Add BaseException class 2018-08-22 20:29:47 +02:00
Windel Bouwman
c2550ad3f1 Introduce LocatedStatement after idea from review 2018-08-22 17:49:07 +02:00
Windel Bouwman
4897e10714 Add location to statement ast type 2018-08-22 16:18:47 +02:00
Windel Bouwman
3d9b2360e3 Add row and column info to lexer 2018-08-22 12:14:37 +02:00
Windel Bouwman
17a952dbf1 fix #34 2018-08-20 22:06:01 +02:00
Windel Bouwman
15e274210f Add float type 2018-08-20 21:22:14 +02:00
Adam Kelly
a9c3349943 Specify bases in normal class definitions. 2018-08-19 20:55:37 +01:00
Daniel Watkins
19c9db2375 Parse trailing commas in lists/dicts 2018-08-11 23:37:01 -04:00
Daniel Watkins
a7428e3808 Implement complex import handling
This expands import parsing and handling to implement a variety of
import cases:

* `import x as y`
* `import x, y`
* `from x import y`
* `from x import y, z`
* `from x import y as z, a as b`

This fixes #51.
2018-08-09 17:14:08 -04:00
Adam Kelly
402230684f Add support for parsing classes to ast. 2018-08-09 07:41:33 +01:00
Daniel Watkins
d1acf5e7db Implement simple dict literals 2018-08-07 23:49:42 -04:00
Daniel Watkins
1b259d5d61 Implement 0-size dict literal 2018-08-07 23:49:42 -04:00
Windel Bouwman
a40ef57ba4 Merge pull request #41 from OddBloke/function_args
Allow Tests in function arguments (rather than just Expressions)
2018-08-06 16:48:35 +02:00
Daniel Watkins
36f6fb2733 Support creation of single-element tuples
This fixes #37
2018-08-05 16:41:20 -04:00
Daniel Watkins
c8a0b04b2d Allow Tests in function arguments (rather than just Expressions)
This fixes #39
2018-08-05 16:24:32 -04:00
Daniel Watkins
862442b635 Simplify the conversion of missing slice parts to None 2018-08-03 20:55:18 -04:00
Daniel Watkins
73b2d07578 Support parsing steps in slice syntax 2018-08-03 20:55:18 -04:00
Daniel Watkins
43fafa5102 Enable semi-colon separated statements
For example, `cargo run -- -c 'print("a"); print("b")'`.
2018-07-31 16:33:27 -04:00
Adam Kelly
e79ec8e4cb Suppress unused variable warnings. 2018-07-29 09:06:56 +01:00
Adam Kelly
976c1f4340 Update lexer and parser to support lambdas. 2018-07-28 10:09:08 +01:00
Windel Bouwman
e7cc6b1786 Add else clause to for loop 2018-07-24 22:30:45 +02:00
Windel Bouwman
8b6e0fe0b6 Add more arithmatic 2018-07-16 21:09:05 +02:00