1
0
forked from M-Labs/artiq
Commit Graph

778 Commits

Author SHA1 Message Date
whitequark
7cd6011981 Add typechecking for most builtin. 2015-06-26 11:16:08 +03:00
whitequark
752031147d Add valid forms for builtin calls. 2015-06-24 12:16:17 +03:00
whitequark
4d407ace4b Implement prelude. 2015-06-24 11:46:15 +03:00
whitequark
710a04cbee Add builtin definitions for len(), round(), range() and syscall(). 2015-06-24 11:28:24 +03:00
whitequark
8762729e80 Add types.TBuiltin. 2015-06-24 11:24:35 +03:00
whitequark
3adb4150f4 Fix type of Call. 2015-06-15 17:16:44 +03:00
whitequark
8c5e58f83c Implement Call. 2015-06-15 16:55:13 +03:00
whitequark
a3789868f2 More friendly artiq.py2llvm.typing testbench. 2015-06-15 15:59:36 +03:00
whitequark
20e0e69358 Add support for function types and LambdaT.
Also fix scoping of Nonlocal.
2015-06-15 11:30:50 +03:00
whitequark
dbfdbc3c22 Add check for duplicate parameter names. 2015-06-15 09:05:24 +03:00
whitequark
d27bb3168d Add support for ListComp. 2015-06-15 08:40:37 +03:00
whitequark
77adf2f6b5 Add support for With. 2015-06-14 23:13:41 +03:00
whitequark
cd22b8178c Add support for Raise. 2015-06-14 23:02:28 +03:00
whitequark
20b7a73b49 Add support for Compare. 2015-06-14 22:48:04 +03:00
whitequark
fe69c5b465 Implement BinOp coercion rules for AugAssign. 2015-06-14 13:10:32 +03:00
whitequark
7b78e7de67 Add support for BinOp. 2015-06-14 12:07:13 +03:00
whitequark
faaf189961 Add support for Attribute. 2015-06-13 13:50:56 +03:00
whitequark
23f33d7239 Invert operand should be integer. 2015-06-13 13:45:09 +03:00
whitequark
1c48874a2a Documentation. 2015-06-13 13:08:16 +03:00
whitequark
de6dff94cd GeneratorExp also includes assignment context. 2015-06-13 12:58:45 +03:00
whitequark
4b4805265d Add support for Break and Continue. 2015-06-13 12:10:30 +03:00
whitequark
55551714fa Error out on unsupported statements. 2015-06-13 11:33:38 +03:00
whitequark
4c95647162 Split ASTTypedRewriter off Inferencer. 2015-06-13 11:33:03 +03:00
whitequark
61434a8da3 Split off builtins from types.
builtins will contain attribute definitions as well.
2015-06-13 10:29:26 +03:00
whitequark
3e2d104014 Make typing.Inferencer idempotent. 2015-06-13 09:32:53 +03:00
whitequark
c89bf6fae0 Add support for UnaryOp. 2015-06-12 08:59:41 +03:00
whitequark
df686136f1 Separate inference and asttyped transformation.
This allows to run inference several times on the same tree,
as would be necessary when coercion nodes are added.
2015-06-11 06:34:26 +03:00
whitequark
e18ea0daae Better error reporting for List. 2015-06-11 04:36:52 +03:00
whitequark
4b7d4c2425 Add support for BoolOp. 2015-06-11 04:36:51 +03:00
whitequark
b8ce3f85bd Refactor error reporting in _unify to factor out custom notes. 2015-06-11 04:36:28 +03:00
whitequark
ba9a7d087d Add support for IfExp. 2015-06-11 04:36:03 +03:00
whitequark
9953302cb6 Move old py2llvm code to artiq/py2llvm_old. 2015-06-11 02:58:29 +03:00
whitequark
159692339d Add tests for all diagnostics and unifications. 2015-06-06 18:05:06 +03:00
whitequark
a8ff9d0152 AugAssign does not create a binding. 2015-06-06 17:55:04 +03:00
whitequark
98fe152159 Add lit-based tests for diagnostics. 2015-06-06 17:15:06 +03:00
whitequark
7f77632f1a Add lit-based tests for type inferencer. 2015-06-06 16:58:23 +03:00
whitequark
5f06c6af10 Add support for Return. 2015-06-06 15:12:56 +03:00
whitequark
d08598fa0f Add support for NameConstant. 2015-06-06 15:12:40 +03:00
whitequark
eb76f594a0 Replace single-quoted strings with double-quoted. 2015-06-05 12:04:27 +03:00
whitequark
6c3b5a95ee Use proper format function. 2015-06-04 17:53:38 +03:00
whitequark
4b01e604db Make unification reflective. 2015-06-04 14:50:32 +03:00
whitequark
1a08b50f0a Use a single type printer for inference errors.
This way, type variable names will be consistent among all
printed diagnostics.
2015-06-04 14:50:32 +03:00
whitequark
c9623a106e Error out on unsupported expressions by default. 2015-06-04 14:50:32 +03:00
whitequark
10a269d77e Better error message for List inference. 2015-06-04 14:42:45 +03:00
whitequark
995d84d4ee Add inferencing for Tuple, List, For. 2015-06-04 14:13:49 +03:00
whitequark
76ce364fea Implement inferencing for AugAssign. 2015-06-04 11:52:15 +03:00
whitequark
f979a76c7c Require nonlocal names to be bound in an outer scope. 2015-05-30 08:06:19 +03:00
whitequark
56d1a9bc57 Shorten the unification error message when too redundant. 2015-05-29 10:01:22 +03:00
whitequark
abbc87e981 Add new type inferencer. 2015-05-29 09:53:24 +03:00
whitequark
c75fd6bc88 Replace builtin ast with pythonparser.ast. 2015-05-27 17:04:18 +03:00
f30d671359 test/worker: adapt to priority API 2015-05-24 23:38:05 +08:00
5fb86af3a4 gui: support experiment cancellation 2015-05-24 23:20:52 +08:00
ae4615281f pyon/store_file: replace previous file atomically 2015-05-24 21:26:15 +08:00
fc449509b8 scheduler: pass priority to experiments 2015-05-24 20:37:47 +08:00
e611e17eeb gui: experiment submission 2015-05-24 20:24:07 +08:00
a21373841c scheduler: catch worker exceptions in prepare and analyze stages 2015-05-24 20:23:49 +08:00
d6ced1c780 scheduler: support priorities 2015-05-24 01:09:22 +08:00
2f910921f5 gui: console -> log 2015-05-24 00:38:30 +08:00
d9c25130e3 gui: add explorer widgets 2015-05-23 01:25:33 +08:00
2570444941 gui: add empty explorer and console docks 2015-05-22 23:30:46 +08:00
Yann Sionneau
d78a275655 pxi6733: use a method as DoneEvent callback 2015-05-22 16:08:07 +02:00
ea53ed1af7 gui: switch to Qt 2015-05-22 17:06:31 +08:00
Yann Sionneau
c91cd0ab38 pxi6733: use a writeable and c_contiguous numpy ndarray 2015-05-21 18:05:32 +02:00
785623be26 test/worker: adapt to new scheduler API 2015-05-21 16:41:45 +08:00
a670b9f660 tools/asyncio_wait_or_cancel: wait for cancellation 2015-05-21 16:41:27 +08:00
d8917fd94f Merge branch 'master' of github.com:m-labs/artiq 2015-05-17 16:11:16 +08:00
b74b8d5826 Scheduling TNG 2015-05-17 16:11:00 +08:00
Yann Sionneau
e9b166b199 artiq_flash.sh: some cleanup 2015-05-14 11:12:03 +02:00
e557d7e2df Merge branch 'master' of github.com:m-labs/artiq 2015-05-14 00:16:27 +08:00
cbb5027343 gateware/ad9858: use WaitTimer from Migen 2015-05-14 00:16:15 +08:00
a62ae1d8d7 test/transforms: adapt to 'now' save on core device 2015-05-12 23:06:33 +08:00
ce4b5739ed runtime: reset all DDSes upon startup 2015-05-09 17:12:38 +08:00
1ceb06fb16 dds: use context manager for batches 2015-05-09 14:47:40 +08:00
fdc406f062 transforms/inline: support user-defined context managers 2015-05-09 14:47:08 +08:00
5c08423b29 dds: support batches in driver 2015-05-08 22:17:06 +08:00
55f2fef576 runtime: support DDS batches 2015-05-08 16:51:54 +08:00
53c6339307 runtime: break ttl-specific functions from rtio 2015-05-08 16:20:12 +08:00
a36c51eb83 DDS over RTIO (batch mode not supported yet) 2015-05-08 14:44:39 +08:00
a91bb48ced gateware: adapt to misoc changes 2015-05-06 18:02:15 +08:00
9072647bdc ad9858: make read timing configurable, increase read delays 2015-05-05 19:33:34 +08:00
2adf9d91df recover_underflow -> break_realtime 2015-05-03 20:45:28 +08:00
4048568d8e support kernel handover with coherent time 2015-05-02 23:41:49 +08:00
cb65b1e322 rtio/phy/ttl_simple: reset sensitivity with RTIO logic 2015-05-02 16:17:31 +08:00
a61d701d47 rtio: decouple PHY reset from logic reset 2015-05-02 11:47:11 +08:00
65b4b7bb12 coredevice: rename rtio to ttl, integrated in+out driver, loopback on the same pin in tests 2015-05-02 10:35:21 +08:00
62669f9ff2 soc: factor timer, kernel CPU and mailbox 2015-05-01 18:51:24 +08:00
1684586ae8 test: add unittest for core device watchdog 2015-05-01 14:02:31 +08:00
109dfab76c frontend: add artiq_mkfs 2015-04-30 20:03:11 +08:00
8a796a6818 artiq_run/ELFRunner: create a core device object (necessary for runtime exception processing) 2015-04-30 10:16:24 +08:00
Zach Smith
5df446ec4b artiq_flash.sh: fix Pipistrello flash proxy filename 2015-04-30 09:24:13 +08:00
967145f2dc watchdog support on core device (broken by bug similar to issue #19) 2015-04-29 12:58:37 +08:00
9ecbb4c88d gateware/amp/mailbox: simplify 2015-04-29 12:56:21 +08:00
e5f7fcc339 coredevice/comm_tcp: raise exception on connection closed 2015-04-29 11:18:51 +08:00
283695e8aa language/core: integrate watchdogs 2015-04-28 23:23:59 +08:00
9b62e7e77b runtime,coredevice: support session reset for serial 2015-04-28 02:11:58 +08:00
27d94a22de rtio: expose full_ts_width instead of counter_width parameter 2015-04-28 01:38:11 +08:00
dc14728264 test/full_stack: use Ethernet 2015-04-28 01:33:37 +08:00
8a19766278 runtime,comm_generic: improve and fix list encoding 2015-04-28 01:31:55 +08:00
86c012924e targets: rename AMP->Top, merge peripherals 2015-04-28 00:18:54 +08:00
938e1c2842 Remove UP support.
The only advantage of UP is to support the Papilio Pro, but that port is also very limited in other ways and the Pipistrello provides a more reasonable platform that also supports AMP.

On the other hand, RPCs on UP are difficult to implement with the session.c protocol system (without an operating system or coroutines), along with many other minor difficulties and maintainance issues. Planned features such as watchdogs in the core device are also difficult on UP.
2015-04-27 20:43:45 +08:00