collin
7741f5b0c4
chore(leo): bump version for new release
2023-06-15 22:38:02 -07:00
collin
f5867a4fe4
chore(leo): bump version for new release
2023-06-15 22:26:19 -07:00
Collin Chin
e5ae160d1a
Implement new hash and commit functions ( #2415 )
...
* refactor hash -> hash_to_field
* refactor commit -> commit_to_field
* implement commit_to_address
* implement hash_to_address
* update hash and commit examples
* implement hash_to_scalar
* update tests
* implement bhp hash to integer variants
* implement bhp pedersen and poseidon integer variants
* Update compiler/passes/src/type_checking/checker.rs
Signed-off-by: Collin Chin <16715212+collinc97@users.noreply.github.com>
* Update compiler/passes/src/type_checking/checker.rs
Co-authored-by: Alessandro Coglio <coglio@kestrel.edu>
Signed-off-by: Collin Chin <16715212+collinc97@users.noreply.github.com>
* fix pedersen hash type checks
---------
Signed-off-by: Collin Chin <16715212+collinc97@users.noreply.github.com>
Co-authored-by: Alessandro Coglio <coglio@kestrel.edu>
2023-06-15 19:55:03 -07:00
Collin Chin
d83c4be330
Implement Mapping::get_or_use ( #2413 )
...
* get_or_init -> get_or_use
* use mapping get_or_use in examples
* fix codegen for Mapping::get_or_use
* fix tests for Mapping::get_or_use
* fix warnings, update snarvm rev
* bump circle rust img v1.70
* fix codegen
* update snarkvm rev and regen tests
* Update compiler/parser/src/parser/expression.rs
Co-authored-by: d0cd <pranavsaig@gmail.com>
Signed-off-by: Collin Chin <16715212+collinc97@users.noreply.github.com>
* Delete program.json
Signed-off-by: Collin Chin <16715212+collinc97@users.noreply.github.com>
* Delete program.json
Signed-off-by: Collin Chin <16715212+collinc97@users.noreply.github.com>
---------
Signed-off-by: Collin Chin <16715212+collinc97@users.noreply.github.com>
Co-authored-by: d0cd <pranavsaig@gmail.com>
2023-06-13 12:09:33 -07:00
Collin Chin
4e71f60cb4
Implement additional features to the "group" element type ( #2394 )
...
* add new hash and commit symbols
* pedersen commitment methods return fields
* use snarkvm rev a451d91, impl commit_to_group.bhp256
* implement bhp commit to group variants
* implement bhp hash_to_group variants
* implement pedersen commit_to_group and hash_to_scalar variants
* implement poseidon hash_to_group and hash_to_scalar variants
* remove hash_many symbol
* fix tests
* regen test expectations
2023-06-07 13:09:08 -07:00
collin
52dfc097c5
chore(leo): bump version for new release
2023-05-31 20:37:17 -07:00
Collin Chin
42d97d3d89
implement group::GEN Leo syntax ( #2401 )
...
* implement group::GEN Leo syntax
* revert unrelated test changes
* move new errors to bottom of file to keep previous error codes consistent
2023-05-31 16:05:56 -07:00
Collin Chin
2e1a9fc979
chore(leo): bump version for new release
2023-05-23 15:02:30 -07:00
collin
1c5de6fb80
bump snarkvm v0.11.2
2023-05-12 14:42:15 -07:00
d0cd
d0c29ce8e0
[Update] snarkvm 0.11.0 ( #2377 )
...
* Remove gates from tests
* Remove Finalize test namespace
* Remove gates from examples
* Remove gates from compiler
* Regen expectations
* Add test that gates is allowed as a standard field of a record
* Update Rust version in CI
* Add check for MAX_MAPPINGS
2023-05-10 21:32:37 -07:00
collin
85821b524e
chore(leo): bump version for new release
2023-04-19 18:02:15 -07:00
Pranav Gaddamadugu
4b64fbe03a
Fix error message
2023-04-18 17:22:59 -07:00
Pranav Gaddamadugu
98574495ff
Update check
2023-04-18 17:14:01 -07:00
Pranav Gaddamadugu
6a660c4ceb
Remove gates check
2023-04-18 17:14:01 -07:00
Pranav Gaddamadugu
581a671e31
Update maximum number of transitions
2023-04-18 17:14:01 -07:00
Pranav Gaddamadugu
a613f35c07
Check that finalize block does not return a value
2023-04-18 17:09:22 -07:00
Pranav Gaddamadugu
0b99135962
Update Mapping::get_or to Mapping::get_or_init
2023-04-18 17:09:22 -07:00
Pranav Gaddamadugu
76693533b0
Update code gen for Mapping::set
2023-04-18 17:09:22 -07:00
Pranav Gaddamadugu
be3c58cf53
Update codegen
2023-04-18 16:59:32 -07:00
Pranav Gaddamadugu
a0b00ac78c
Update examples; fmt
2023-04-18 16:59:07 -07:00
Pranav Gaddamadugu
bb5c793bb3
Fix code gen
2023-04-18 16:53:27 -07:00
Pranav Gaddamadugu
8426f824ff
Fix passes
2023-04-18 16:53:27 -07:00
Pranav Gaddamadugu
da7537344b
Rename Mapping::put to Mapping::set
2023-04-18 16:37:45 -07:00
Pranav Gaddamadugu
aeab0c59ec
Disallow records in finalize contexts
2023-04-18 16:37:45 -07:00
Pranav Gaddamadugu
ebe7f7ab00
DCE marks mapping core operations as necessary
2023-04-18 16:21:40 -07:00
Pranav Gaddamadugu
4f27c92f15
Remove Increment, Decrement statements from AST
2023-04-18 16:21:40 -07:00
Pranav Gaddamadugu
30c9800e01
Check that mapping operations are invoked within a finalize block
2023-04-18 16:21:40 -07:00
Pranav Gaddamadugu
15187edfcf
Add codegen for core mapping ops
2023-04-18 16:21:40 -07:00
Pranav Gaddamadugu
defb657e5a
Implement tyc for mapping operations
2023-04-18 16:21:40 -07:00
Pranav Gaddamadugu
34fb0d1815
Add tyc for core functions
2023-04-18 16:21:40 -07:00
Pranav Gaddamadugu
cbd0663fa7
Add comment
2023-04-12 17:41:54 -07:00
Collin Chin
68eabc38ae
simplify logic
2023-04-12 15:52:10 -07:00
Pranav Gaddamadugu
59f418f5d0
Fix issue in codegen
2023-04-12 12:38:44 -07:00
Pranav Gaddamadugu
d26a5f693d
DCE eliminates expr statements that are not function calls
2023-04-12 12:38:43 -07:00
Pranav Gaddamadugu
0f8838c870
Fix bug
2023-04-11 10:11:08 -07:00
Pranav Gaddamadugu
fd22fb9ec4
Fix bug
2023-04-05 09:13:37 -07:00
d0cd
c74772cfac
Merge pull request #2328 from AleoHQ/fix/issue-2324
...
[Fix] Fixes unwrapping panic when unwrapping `lookup_struct` in `ProgramVisitor::visit_function`
2023-03-31 16:06:51 -07:00
d0cd
5cc6a06e2d
Merge pull request #2329 from AleoHQ/fix/issue-2325
...
[Fix] Panic: called Option::unwrap() on a Err value (Literal::Integer to Value)
2023-03-31 16:05:33 -07:00
Pranav Gaddamadugu
61cf227f58
Fmt
2023-03-31 10:02:33 -07:00
Pranav Gaddamadugu
2646b7b28b
Fix bug
2023-03-31 09:58:25 -07:00
Pranav Gaddamadugu
ee3e225f92
Fix bug
2023-03-27 10:09:12 -07:00
Pranav Gaddamadugu
8adc6c76b8
Fmts and clippies
2023-03-26 23:18:03 -07:00
d0cd
6c61296f78
Add targeted DCE test; cleanup
2023-02-21 17:13:54 -08:00
d0cd
0e6aa4729b
Clippy
2023-02-21 17:13:53 -08:00
d0cd
d634662e97
Fmt
2023-02-21 17:13:53 -08:00
d0cd
da64d487ec
Fix DCE impl
2023-02-21 17:09:22 -08:00
d0cd
dfc03db67e
Connect dead code elimination pass to compiler stages, CLI, and tests
2023-02-21 17:09:22 -08:00
d0cd
ec91d5655b
Prototype dead code elimination
2023-02-21 17:09:22 -08:00
d0cd
4b3b4a83ff
Initial scaffolding for dead code elimination
2023-02-21 17:09:22 -08:00
d0cd
c8f6089be3
[Fix] Excludes inline
functions from produced bytecode. ( #2277 )
...
* Remove codegen for inline functions
* Regen expectations
2023-02-21 14:17:11 -08:00
Collin Chin
0a738d4994
chore(leo): bump version for new release
2023-02-17 22:30:17 -05:00
d0cd
f6d043c1f0
Fixes issues with function inlining from imported programs. ( #2271 )
...
* TYC for calls to external inline functions
* Fix issue in function inlining
* Fix issue in codegen
* Remove redundant reordering of functions
* Clippy
* Update compiler/passes/src/function_inlining/inline_program.rs
Signed-off-by: Collin Chin <collin@aleo.org>
---------
Signed-off-by: Collin Chin <collin@aleo.org>
Co-authored-by: Collin Chin <collin@aleo.org>
2023-02-16 22:13:54 -08:00
d0cd
067dadb12b
Merge pull request #2263 from AleoHQ/feat/record-visibility
...
[Feature] Visibilities for record members.
2023-02-14 16:38:54 -08:00
d0cd
cf22bc75bb
Address feedback
2023-02-14 16:30:12 -08:00
d0cd
f269a3c609
Add codegen support for records with visibilities
2023-02-10 21:35:37 -08:00
d0cd
a6663db934
Typechecking for structs with members
2023-02-10 21:31:10 -08:00
d0cd
47fa89b012
Refactor mode
2023-02-10 21:21:06 -08:00
d0cd
1dd5887518
Clippy and cleanup
2023-02-10 16:50:59 -08:00
d0cd
0afe0e12f9
Inliner uses AssignmentRenamer instead of SSA; address edge cases
2023-02-10 15:09:59 -08:00
d0cd
475a5b7870
Fix issue in flattening
2023-02-10 15:09:34 -08:00
d0cd
c70c018109
Refactor replacer
2023-02-10 15:08:23 -08:00
d0cd
a2ca077516
Introduce AssignmentRenamer
2023-02-10 15:07:58 -08:00
d0cd
d2381767e9
Remove greedy inlining
2023-02-10 09:47:42 -08:00
d0cd
79bf13ff8e
Integrate function inlining into test framework
2023-02-10 09:30:43 -08:00
d0cd
ccae285408
Minor refactors and cleaning
2023-02-10 09:07:14 -08:00
d0cd
53cbaa5f96
Initial impl of function inling
2023-02-10 09:06:26 -08:00
d0cd
3a1f66c6dd
Introduce Replacer
2023-02-10 09:05:58 -08:00
d0cd
335fb6efcb
Update doc to reflect function inlining occuring after flattening
2023-02-09 20:26:59 -08:00
d0cd
f7267b3daa
Cleanup
2023-02-09 19:36:14 -08:00
d0cd
c934bb35b3
WIP function inlining
2023-02-09 19:36:01 -08:00
d0cd
b3ef6f79c3
Add typechecking for inline functions
2023-02-08 17:09:17 -08:00
d0cd
b5c22e23ee
Remove occurences of 'call_type'
2023-02-08 16:37:47 -08:00
d0cd
44e378b84b
Rename CallType to Variant
2023-02-08 16:32:08 -08:00
d0cd
4bb6ceb5ea
Update license and clippy
2023-02-05 13:43:10 -08:00
d0cd
0a8b41b025
Address feedback
2023-02-05 12:46:21 -08:00
d0cd
f65ad5dc69
Fmt
2023-02-05 12:46:21 -08:00
d0cd
74e358dde6
Add test for out of order functions
2023-02-05 12:46:21 -08:00
d0cd
e633c62b71
Implement post-ordering for functions during code-generation
2023-02-05 12:46:21 -08:00
d0cd
f06b83c7f4
Implement check for cyclic call graph
2023-02-05 12:46:20 -08:00
d0cd
b17702e019
Fix graph init; regen expectations
2023-02-05 12:46:20 -08:00
d0cd
899c12d85a
Implement post-order codegen for structs and records
2023-02-05 12:46:20 -08:00
d0cd
d91233f06e
Implement cycle detection for structs and records
2023-02-05 12:46:20 -08:00
d0cd
5e331bbf36
Cleanup
2023-02-05 12:46:20 -08:00
d0cd
dd33eb024d
Add test
2023-02-05 12:46:20 -08:00
d0cd
940d357c5e
Cleanup
2023-02-05 12:46:20 -08:00
d0cd
9edbf0a74e
Add tests for graph
2023-02-05 12:46:20 -08:00
d0cd
8b8c7b5c0a
Get cycle if toposort fails
2023-02-05 12:46:20 -08:00
d0cd
9fbcdfc9f3
Add graph data structure
2023-02-05 12:46:19 -08:00
d0cd
063cb15d97
Reorg common module
2023-02-05 12:46:19 -08:00
ljedrz
b20308f049
chore: update the license headers ( #2252 )
...
Signed-off-by: ljedrz <ljedrz@gmail.com>
2023-02-02 14:27:06 -08:00
d0cd
b044b002a7
Check that functions cannot output records
2023-01-18 12:33:04 -08:00
Collin Chin
52c29b23e0
clippy: remove useless .into_iter() ( #2225 )
2023-01-03 11:44:52 -08:00
collin
d7b1b9ca56
chore(leo): bump version for new release
2022-12-12 19:31:56 -05:00
d0cd
48a1f0590b
Rename console.assert*
to assert*
. ( #2205 )
...
* Add assert statements to AST
* Add support in passes
* Add parser support
* Add tyc support
* Add support for assert statements in the remaining passes
* Fix examples, tests, and regen expectations
* Fmt
* Regen expectations
2022-12-06 21:56:48 -08:00
collin
1e01a3a686
chore(leo): bump version for new release
2022-11-30 13:40:52 -08:00
Collin Chin
3f2df5389c
use cargo workspace for dependencies ( #2195 )
2022-11-30 13:31:33 -08:00
d0cd
23615c6858
Fixes code generation for ExpressionStatements ( #2192 )
...
* Fix codegen for call instruction
* Cleanup
2022-11-29 16:36:37 -08:00
d0cd
8986be33e8
Create common module; move pass data structures ( #2173 )
...
Co-authored-by: collin <16715212+collinc97@users.noreply.github.com>
2022-11-23 15:05:05 -05:00
collin
f6f286ac8a
pull testnet3, regen tests
2022-11-23 02:37:57 -05:00
collin
9e28591589
pull testnet3, regen tests
2022-11-23 01:56:37 -05:00
collin
ac4c38d921
clippy
2022-11-23 01:28:33 -05:00
collin
801df56f9c
pull testnet3, regen tests
2022-11-22 20:55:12 -05:00
Collin Chin
40e56f8613
Merge pull request #2100 from AleoHQ/feat/tuple
...
Supports tuples.
2022-11-22 20:49:25 -05:00
d0cd
a8a8086f18
Fmt
2022-11-16 10:24:29 -08:00
d0cd
9370c11a2b
Implement fix
2022-11-16 10:24:29 -08:00
collin
44bca58821
chore(leo): bump version for new release
2022-11-14 18:56:09 -08:00
d0cd
80d53ee908
Fmt
2022-11-12 16:36:26 -08:00
d0cd
d82fa641a2
Fix parser
2022-11-12 16:35:37 -08:00
d0cd
682b67e184
Fix flattening logic
2022-11-12 16:23:16 -08:00
d0cd
c6fd32c032
Fix flattening pass
2022-11-12 11:28:03 -08:00
d0cd
1f977e5c45
Fix tyc pass
2022-11-12 10:48:16 -08:00
d0cd
1a9c95ce05
Fix SSA pass
2022-11-12 10:21:36 -08:00
d0cd
3227f9bdb4
Fix codegen pass
2022-11-12 10:21:36 -08:00
d0cd
1e2a7f222d
Fmt
2022-11-12 09:58:52 -08:00
d0cd
b16926449c
Support private mode in parser and passes
2022-11-12 09:53:20 -08:00
d0cd
111a19761a
Fmt
2022-11-11 21:09:57 -08:00
d0cd
31972e1b38
Fix SSA for expr statements
2022-11-11 21:03:11 -08:00
d0cd
2f9bfd7ab9
Cleanup debug prints; fix bug, the flatten test builds
2022-11-08 17:10:39 -08:00
d0cd
ef4ae89b92
Add more test cases
2022-11-08 15:52:31 -08:00
d0cd
ca89010e59
Fix failing case
2022-11-08 15:49:47 -08:00
d0cd
f606a8b74a
Restrict tuples in parser; cleanup
2022-11-08 15:49:47 -08:00
d0cd
5bf16064ab
WIP Impl codegen for tuples
2022-11-08 15:49:47 -08:00
d0cd
2287e86b56
WIP flattening
2022-11-08 15:49:47 -08:00
d0cd
910d373afd
WIP support tuples on lhs of definitions
2022-11-08 15:49:47 -08:00
d0cd
40ff47882f
Add support for expression statements in compiler passes
2022-11-08 15:49:47 -08:00
d0cd
af08c4f2e5
Some cleanup
2022-11-08 15:49:47 -08:00
d0cd
678f8b02a1
Fix unit expression
2022-11-08 15:49:47 -08:00
d0cd
6789bc8aae
Add unit expressions to the AST
2022-11-08 15:49:47 -08:00
d0cd
3ab83f45f3
Fix bug, regen tests
2022-11-08 15:49:47 -08:00
d0cd
134fc1860c
Remove debug prints
2022-11-08 15:49:47 -08:00
d0cd
b60cd7e4b0
Remove redundant check
2022-11-08 15:49:47 -08:00
d0cd
c07e07d9d1
Fix tuple flattening
2022-11-08 15:49:47 -08:00
d0cd
c651da0581
wip tuples
2022-11-08 15:49:47 -08:00
d0cd
4963a11ee7
More tyc restricting nested tuples
2022-11-08 15:49:47 -08:00
d0cd
2839de13c6
Forbid tuples in input and output types
2022-11-08 15:49:47 -08:00
d0cd
29369b2a42
Better tyc for tuples in composite data types
2022-11-08 15:49:47 -08:00
d0cd
fdddb8054a
Remove flattening circuits and nested tuples
2022-11-08 15:49:47 -08:00
Pranav Gaddamadugu
6ae2d9727b
Cleanup
2022-11-08 15:49:47 -08:00
Pranav Gaddamadugu
605f675ff6
More tyc
2022-11-08 15:49:47 -08:00
Pranav Gaddamadugu
6d82f83c37
WIP
2022-11-08 15:49:46 -08:00
Pranav Gaddamadugu
b622d35d8f
Implement logic for flattening circuit definitions
2022-11-08 15:49:46 -08:00
Pranav Gaddamadugu
9994a0451f
wip: basic tyc for empty and singleton tuples
2022-11-08 15:49:46 -08:00
d0cd
a05b7e6b70
Codegen uses struct instead of interface
2022-11-05 18:18:48 -07:00
collin
e6c3700945
merge testnet3
2022-11-04 12:46:32 -07:00
Collin Chin
d329181999
Merge pull request #2151 from AleoHQ/fix/span-for-function-call-tyc
...
Better error messages for mistyped function calls.
2022-11-04 12:34:08 -07:00
Collin Chin
1c7fefac53
Merge pull request #2150 from AleoHQ/fix/tyc-for-member-access
...
Fix type checking for member access.
2022-11-04 12:33:37 -07:00
Pranav Gaddamadugu
7e70da2326
Implement check for nested import
2022-10-31 18:05:46 -07:00
d0cd
43919a9644
Disable string type in type checker
2022-10-31 18:01:04 -07:00
d0cd
3c2da076ff
Merge pull request #2144 from AleoHQ/fix/conditional-assert
...
Fixes flattening for `console` statements.
2022-10-31 17:11:43 -07:00
d0cd
c4279e2a83
Merge pull request #2146 from AleoHQ/fix/tyc-for-loop-bounds
...
Fix/tyc for loop bounds
2022-10-31 17:11:19 -07:00