Commit Graph

38 Commits

Author SHA1 Message Date
chriseth
bef7d80c70 Change labels to require just a single colon. 2023-12-19 14:07:21 +01:00
chriseth
53301117bc Implement if expression. 2023-11-29 18:32:05 +01:00
Leo
b8e6c2468b Merge pull request #790 from powdr-labs/support_array_elemes_in_operation
Support array elements in operations.
2023-11-28 16:53:43 +00:00
chriseth
9946b863b4 Remove macros. 2023-11-28 15:57:29 +01:00
chriseth
47f71cd1a9 Allow arbitrary expressions to be function-called. 2023-11-27 15:07:40 +01:00
chriseth
a381395f78 Support array elements in operations. 2023-11-24 17:32:34 +01:00
chriseth
e4c836c84a Omit prover query for register if free input is not used. 2023-11-21 16:34:16 +01:00
chriseth
7fc93cc61e Transform references in query strings. 2023-11-21 16:34:16 +01:00
chriseth
99ea18a17a Allow namespaced names to be function-called. 2023-11-16 14:57:00 +01:00
chriseth
e4d22a2fb9 Make index access a proper operation. 2023-11-02 17:47:52 +01:00
chriseth
7630446948 Parse next as operator. 2023-11-02 10:59:22 +01:00
chriseth
960ed7c572 Introduce AlgebraicExpression. 2023-10-30 16:16:42 +01:00
schaeff
f71cd82d49 allow ommiting latch if no operations and operation_id if <= 1 operations 2023-10-22 09:32:37 +02:00
Georg Wiese
dc3d82b5fd Remove _sigma logic 2023-10-13 07:49:03 +00:00
chriseth
aff7ff1c57 Do not treat constants specially during parsing. 2023-10-10 16:40:41 +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
chriseth
8782d53441 Visitors as bound functions. 2023-10-04 11:06:07 +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
3b31c670a7 Unify parsed and analyzed expressions. 2023-09-19 16:33:56 +02:00
Thibaut Schaeffer
1a140edbcb Change register updates to have degree 2, rewrite read-only update (#565)
* change pc update to have degree 2, rewrite readonly update
* use intermediate pols

---------

Co-authored-by: Leo Alt <leo@ethereum.org>
2023-09-15 08:35:11 +00: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
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
chriseth
2fcfb3724f Fix indentation. 2023-08-28 12:21:08 +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
Thibaut Schaeffer
306b6e07df Extract airgen (#505)
* extract airgen

* address review
2023-08-18 12:06:59 +00:00
Leo
0682a5e855 fix clippy (#481) 2023-08-10 16:20:01 +02:00
Thibaut Schaeffer
e658dbd43c Fallible linker (#467)
* make linker fallible, propagate errors, add book entry about linker

* Apply suggestions from code review

Co-authored-by: Leo <me@leoa.lt>

* add test

---------

Co-authored-by: Leo <me@leoa.lt>
2023-08-07 23:40:39 +02:00
Georg Wiese
dac0278e83 Simplify global range constraints #458 2023-08-02 19:56:02 +00: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
b58354322a PIL optimizer: remove constant columns. 2023-07-06 21:00:39 +02:00
chriseth
c6638b83df Rename pilgen to asm_to_pil. 2023-07-03 15:21:09 +02:00