whitequark
ece52062f2
Implement code generation for exception handling.
2015-07-25 05:37:37 +03:00
whitequark
20f5f8217d
Make sure tests pass both on ARTIQ Python and CPython.
...
In some cases (the `is` operator and wraparound arithmetics)
the tests will only pass on ARTIQ Python. These are conditionally
commented out.
2015-07-23 08:09:25 +03:00
whitequark
65121b437f
Rework internal logic of slices.
2015-07-23 07:57:49 +03:00
whitequark
9db199cad9
Handle closure effects appropriately in LocalAccessValidator.
2015-07-23 03:15:36 +03:00
whitequark
acb8810e62
Add tests for lambdas and functions.
2015-07-23 03:07:30 +03:00
whitequark
4cfe4ea148
Make negative and too-far shifts have defined behavior.
2015-07-23 00:58:41 +03:00
whitequark
bf60978c7b
Add bool coercion support.
2015-07-22 19:15:54 +03:00
whitequark
de181e0cb9
Revert "Require boolean operand in BoolOp."
...
This reverts commit 5d518dcec6
.
2015-07-22 18:35:18 +03:00
whitequark
51aef980a0
Revert "Require boolean condition in If, While, IfExp."
...
This reverts commit e21829ce74
.
2015-07-22 18:35:14 +03:00
whitequark
f2a6110cc4
Add integration tests for every language construct.
2015-07-22 18:34:52 +03:00
whitequark
236d5b886a
Add support for Assert.
2015-07-22 02:58:59 +03:00
whitequark
5d518dcec6
Require boolean operand in BoolOp.
2015-07-21 23:46:22 +03:00
whitequark
e21829ce74
Require boolean condition in If, While, IfExp.
2015-07-21 23:39:22 +03:00
whitequark
49ece6a12a
Add support for string literals.
2015-07-21 14:27:48 +03:00
whitequark
e58b811d6d
Fix tests broken by fixed FloorDiv.
2015-07-21 14:05:07 +03:00
whitequark
7e3f91c0bb
Teach closures to LocalAccessValidator.
2015-07-19 12:08:26 +03:00
whitequark
ac491fae47
Add LocalAccessValidator.
2015-07-19 11:44:51 +03:00
whitequark
f5d9e11b38
Remove irgen tests.
...
These are too hard to write and will be replaced by integration
tests of ARTIQ IR generator + LLVM IR generator once the latter
gets implemented.
2015-07-19 11:30:53 +03:00
whitequark
21eafefd28
Fix inference for globals.
2015-07-18 08:13:49 +03:00
whitequark
53fb03d1bf
Restrict comprehensions to single for and no if clauses.
2015-07-16 14:52:41 +03:00
whitequark
227f97f8a3
Add inference for Index, Slice and ExtSlice.
2015-07-16 04:22:41 +03:00
whitequark
bdcb24108b
Add basic IR generator.
2015-07-14 08:56:51 +03:00
whitequark
02b41ea0f7
Add MonomorphismChecker.
2015-07-02 21:28:26 +03:00
whitequark
7ce9bdf54d
Move transforms to artiq.compiler.transforms, add artiq.Module.
2015-07-02 19:35:35 +03:00
whitequark
6bf95397d7
Rename package py2llvm to compiler.
...
Since the package implements a typechecker along with a code generator,
and the typechecker will be run before or together with transformations,
this name is more descriptive.
2015-06-29 20:15:22 +03:00