Commit Graph

45 Commits

Author SHA1 Message Date
Leo Alt
607c0043d7 add powdr- prefix to all crates 2024-01-23 18:51:29 +01:00
Leandro Pacheco
c4b4f35771 make parser generate SourceRefs
also added a way for analyzing PILFile's directly without having to re-parse
from a string
2024-01-23 08:45:47 -03:00
chriseth
aee0846add Adjust paths. 2024-01-22 11:53:11 +01:00
chriseth
00dc038259 Move type check crate into analysis. 2024-01-22 11:29:51 +01:00
chriseth
252eaa070c Support pil at module level. 2024-01-15 10:03:38 +01:00
chriseth
1404e89063 Rename artifacts and document a bit more. 2024-01-03 19:38:49 +01:00
chriseth
7002712a49 Proper name resolution in PIL. 2024-01-02 09:31:21 +01:00
chriseth
46c1d83805 Formatting of machines inside modules. 2023-12-19 17:07:02 +01:00
chriseth
3691be7aff Some cleanup for SymbolPaths. 2023-12-19 16:54:39 +01:00
chriseth
6d75e5300f Run importer and resolver in tests. 2023-12-18 21:09:41 +01:00
Georg Wiese
54045fbcf7 Pipeline 2023-12-07 22:12:29 +01:00
chriseth
9946b863b4 Remove macros. 2023-11-28 15:57:29 +01:00
Leo
912cab8fa3 Merge pull request #759 from powdr-labs/arbitrary_function_calls
Allow arbitrary expressions to be function-called.
2023-11-27 14:45:22 +00:00
chriseth
47f71cd1a9 Allow arbitrary expressions to be function-called. 2023-11-27 15:07:40 +01:00
chriseth
86cf0df559 Replace Mapping enum alternative by Expression. 2023-11-24 17:57:41 +01:00
Lucas Clemente Vella
cd4449e65f RISCV executor 2023-11-24 11:42:35 +01:00
chriseth
99ea18a17a Allow namespaced names to be function-called. 2023-11-16 14:57:00 +01:00
chriseth
861e2c0bd9 Fix macro processing. 2023-11-15 16:55:46 +01:00
chriseth
d3de79ab98 Parse arbitrary expressions at pil statement level. 2023-11-15 16:55:46 +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
schaeff
f71cd82d49 allow ommiting latch if no operations and operation_id if <= 1 operations 2023-10-22 09:32:37 +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
schaeff
56f5101abb replace empty enums with convert::Infallible 2023-10-03 18:55:26 +02:00
Georg Wiese
8ec6bffe96 Implement Multi-return 2023-09-28 21:22:32 +00: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
schaeff
17bdb0fb5d fix unused self 2023-09-06 14:39:42 +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
3029947b0f Fix clippy. (#520) 2023-08-23 18:31:38 +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
schaeff
497ea636ec vm to block machine calls 2023-08-01 11:42:24 +02:00
schaeff
f1db330bef address review comments 2023-08-01 00:04:26 +02:00
schaeff
e965d7f0eb infer the assignment register when assigning the output of an instruction 2023-07-31 23:59:21 +02:00
schaeff
fc8ba429df modular powdr syntax, basic romgen, and basic linker for single machine 2023-07-10 17:56:29 +02:00
chriseth
0b4f67f6a2 Some renaming. 2023-07-03 14:57:42 +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