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
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
chriseth
a381395f78
Support array elements in operations.
2023-11-24 17:32:34 +01:00
Lucas Clemente Vella
cd4449e65f
RISCV executor
2023-11-24 11:42:35 +01:00
chriseth
d42b92382d
Allow lambda expression without parameters.
2023-11-22 11:10:40 +01:00
chriseth
99ea18a17a
Allow namespaced names to be function-called.
2023-11-16 14:57:00 +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
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