Commit Graph

36 Commits

Author SHA1 Message Date
schaeff
f71cd82d49 allow ommiting latch if no operations and operation_id if <= 1 operations 2023-10-22 09:32:37 +02:00
chriseth
aff7ff1c57 Do not treat constants specially during parsing. 2023-10-10 16:40:41 +02:00
chriseth
7235b88484 Make Identity more flexible. 2023-10-10 12:44:40 +02:00
Georg Wiese
a28a037f19 Disallow prints in all crates 2023-10-05 08:11:23 +00:00
schaeff
a3ebf460fd remove constraints blocks 2023-10-04 12:52:59 +02:00
Georg Wiese
8ec6bffe96 Implement Multi-return 2023-09-28 21:22:32 +00:00
chriseth
ac0ccff780 Array literals in expressions. 2023-09-26 10:54:16 +02:00
chriseth
a7c65e0990 Lambda expressions 2023-09-25 17:28:38 +02:00
chriseth
18143f7f7a Generic let statement. 2023-09-25 17:28:38 +02:00
chriseth
3b31c670a7 Unify parsed and analyzed expressions. 2023-09-19 16:33:56 +02:00
Thibaut Schaeffer
17d22ed552 Module system (#558)
* implement import system

* address review comments

* use folder in macro expansion

* use folder in file loader

* use folder in canonicalizer

* use parse_absolute_path
2023-09-13 17:47:29 +02:00
chriseth
d0821e4119 Use absolute path to test dir. (#596) 2023-09-12 17:44:22 +02:00
chriseth
103e2e7678 Add comparisons and logical operators. 2023-09-07 15:21:58 +02:00
chriseth
f129f80840 Make instruction bodies contain pil statements. (#531) 2023-09-05 19:59:22 +02:00
Thibaut Schaeffer
d77bb0cc6c Static to static calls (#464)
* implement static-to-static calls

* fix conflict, comment out link to make book test pass

* address review comments, fix test

* address review, fix and test display for params

* address review comments

* ban operations on vms, instructions on cms

* rewrite "powdr asm" to "powdr-asm" everywhere

* fix lint

* address review comments
2023-09-05 12:56:23 +02:00
Thibaut Schaeffer
b80686a880 VM to VM calls (#392)
* implement call from vm to vm

* address review

* reduce diff in pilgen

* address review

* address more comments

* clean up readme, fix tests

* keep only one machine type for the block enforcer readme
2023-08-21 16:23:25 +02:00
Thibaut Schaeffer
8552095667 introduce more typed pil polynomial types (#504) 2023-08-18 14:28:02 +02:00
schaeff
497ea636ec vm to block machine calls 2023-08-01 11:42:24 +02:00
schaeff
fc8ba429df modular powdr syntax, basic romgen, and basic linker for single machine 2023-07-10 17:56:29 +02:00
chriseth
48e454fa25 Parse file and line info in powdr asm. 2023-06-26 12:38:02 +02:00
Lucas Clemente Vella
ac12c92359 Enabling logging in tests. 2023-06-22 16:27:32 +01:00
schaeff
3bbdd1c243 improve compiler pipeline 2023-06-19 16:01:02 +02:00
schaeff
d99eddd58a batch labels with the following statement 2023-06-14 02:02:35 +02:00
chriseth
f52e032b93 Use visitor 2023-06-07 12:13:55 +02:00
chriseth
7a9046be6c Visitor for statements. 2023-06-07 12:13:55 +02:00
chriseth
46042b471a Add macros to assembly. 2023-06-07 12:13:55 +02:00
chriseth
847e3cf37e Allow assembly inside pil. 2023-05-22 12:51:10 +02:00
schaeff
0b23b5bd40 make everything generic over FieldElementTrait 2023-05-12 14:56:30 +02:00
schaeff
91d7a798bc use array-based bigint for bitwise 2023-05-11 11:28:38 +02:00
chriseth
7c1fa49f12 Fix grammar. 2023-05-10 18:10:06 +02:00
schaeff
9f700d7f97 restrict pc, update asm to finish with infinite loop 2023-04-26 14:20:41 +02:00
chriseth
56f002ae2c Optional trailing comma for match arms. 2023-04-24 14:47:12 +02:00
schaeff
7aa52d8b9a replace 0/0 hack with match 2023-04-24 13:59:12 +02:00
schaeff
6616f66d10 workaround regex feature unification issue 2023-04-21 18:39:13 +02:00
schaeff
2e30056934 rename test data dir 2023-04-21 17:25:16 +02:00
schaeff
82cfa54696 split into small crates 2023-04-21 17:16:22 +02:00