Commit Graph

432 Commits

Author SHA1 Message Date
d0cd
edcf90580e
Fix inlining issue (#2581) 2023-09-18 09:52:52 -07:00
collin
0f2f16877b chore(leo): bump version for new release 2023-09-08 10:18:21 -07:00
evan-schott
aceb20b8d5 Merge remote-tracking branch 'origin/testnet3' into feat/hash-symbol-table 2023-09-07 11:09:02 -07:00
evan-schott
444a4214eb run all tests, add optionality for writing symbol tables to json 2023-09-06 16:02:21 -07:00
Pranav Gaddamadugu
e96475b3e2 Update AST 2023-08-30 14:05:46 -04:00
Pranav Gaddamadugu
46e9313e55 Introduce Type::Signature to the AST 2023-08-30 14:05:46 -04:00
d0cd
e180118a30
Merge pull request #2545 from AleoHQ/feat/underscore
Add support for underscores in numeric literals #2538
2023-08-28 08:17:22 -04:00
evan-schott
f4fee23758 clippy fix 2023-08-24 15:40:00 -07:00
evan-schott
439d2b29de loop unrolling compatible with underscores 2023-08-24 15:07:00 -07:00
collin
439312275a fix more warnings 2023-08-18 16:47:08 -07:00
Pranav Gaddamadugu
440cced9d8 Cleanup 2023-08-17 17:49:29 -04:00
Pranav Gaddamadugu
05d38f3777 Use NodeBuilder in Flattener 2023-08-17 17:22:56 -04:00
Pranav Gaddamadugu
637e091abb Use NodeBuilder in DCE 2023-08-17 17:22:56 -04:00
Pranav Gaddamadugu
a1b5cb1add Add NodeID to AST node constructors 2023-08-17 17:22:56 -04:00
Pranav Gaddamadugu
c2d04bf444 Introduce NodeBuilder 2023-08-17 17:22:56 -04:00
Pranav Gaddamadugu
93efccc9a7 Add NodeID to Identifier::serialize 2023-08-17 17:22:56 -04:00
d0cd
7cd6e757bf
Merge pull request #2522 from AleoHQ/design/node-id
[Design] Add `id` to AST nodes.
2023-08-17 00:26:52 -04:00
collin
11b87229f1 chore(leo): bump version for new release 2023-08-15 14:02:00 -07:00
Pranav Gaddamadugu
cbe79c0e98 Remove unused code 2023-08-09 17:38:13 -04:00
Pranav Gaddamadugu
9125c84cd1 Make StructVariableInitializer an AST node 2023-08-09 17:22:52 -04:00
Pranav Gaddamadugu
90add44907 WIP update passes 2023-08-09 15:34:39 -04:00
Pranav Gaddamadugu
a819488190 Support NodeID in parser; note that NodeID::default() is a placeholder 2023-08-09 13:09:43 -04:00
Pranav Gaddamadugu
5a1b9efd80 Add NodeID to Literal 2023-08-09 10:46:06 -04:00
Pranav Gaddamadugu
ec3aa4bd75 Update Reconstructor 2023-08-09 10:45:48 -04:00
Pranav Gaddamadugu
2f024c8346 Add id field to AST nodes 2023-08-09 10:13:59 -04:00
Pranav Gaddamadugu
6ab280a935 Add id to Node 2023-08-09 09:30:01 -04:00
collin
7714f55999 chore(leo): bump version for new release 2023-08-08 10:14:56 -07:00
collin
d336be0b7b chore(leo): bump version for new release 2023-07-24 10:51:44 -07:00
collin
6a7748e5fe chore(leo): bump version for new release 2023-07-19 18:17:31 -07:00
dependabot[bot]
0c062b5164
Bump smallvec from 1.10.0 to 1.11.0 (#2472)
Bumps [smallvec](https://github.com/servo/rust-smallvec) from 1.10.0 to 1.11.0.
- [Release notes](https://github.com/servo/rust-smallvec/releases)
- [Commits](https://github.com/servo/rust-smallvec/compare/v1.10.0...v1.11.0)

---
updated-dependencies:
- dependency-name: smallvec
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-10 15:04:24 -07:00
collin
a18899f253 chore(leo): bump version for new release 2023-07-05 21:25:34 -07:00
d0cd
d92d48e4a5
[Fix] Fix issues related to flattening. (#2439)
* Implement fix

* Regen expectations

* Update AST printing for functions

* Fix code generation when there are no output operands

* Fix flattener

* Add additional tests

* Regen expectations

* Fmt

* Regen expectations
2023-07-05 15:45:15 -07:00
Collin Chin
b690a62676
impl Mapping::contains, Mapping::remove (#2436)
* impl Mapping::contains, Mapping::remove

* regen expectations

* 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>

---------

Signed-off-by: Collin Chin <16715212+collinc97@users.noreply.github.com>
Co-authored-by: Alessandro Coglio <coglio@kestrel.edu>
2023-06-29 17:04:55 -07:00
collin
9fccf015d7 chore(leo): bump version for new release 2023-06-28 21:09:44 -07:00
d0cd
b236918df4
[Feature] Support ChaCha::rand_* (#2433)
* Add tests for ChaCha::rand*

* Add Chacha::rand* to AST, tyc, and codegen

* Add lottery example

* Regen expectations

* Add check asserting that command is only used in finalize block

* Update example and related CI
2023-06-28 21:02:50 -07:00
d0cd
c373b898c4
Merge pull request #2427 from AleoHQ/feat/group-to-coordinate
[Feature] Support `to_x_coordinate` for `group`s.
2023-06-28 11:32:57 -04:00
Pranav Gaddamadugu
8062693f3d Support method calls for group coordinates 2023-06-23 21:03:11 -04:00
Pranav Gaddamadugu
9b7a4ba456 WIP associated function syntax for group::to_*_coordinate 2023-06-23 20:22:03 -04:00
collin
80b0976276 chore(leo): bump version for new release 2023-06-23 17:19:25 -07:00
d0cd
07d26ea43f
[Feature] Casting via the as operator. (#2426)
* Revert "Revert WIP"

This reverts commit 5cce8b4a0e.

* Update tyc

* Add parse, compile, and execute tests

* Regen expectations
2023-06-23 17:09:15 -07:00
dependabot[bot]
1025bd965d
Bump itertools from 0.10.5 to 0.11.0 (#2424)
Bumps [itertools](https://github.com/rust-itertools/itertools) from 0.10.5 to 0.11.0.
- [Changelog](https://github.com/rust-itertools/itertools/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-itertools/itertools/compare/v0.10.5...v0.11.0)

---
updated-dependencies:
- dependency-name: itertools
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-23 17:07:51 -07:00
Pranav Gaddamadugu
5cce8b4a0e Revert WIP 2023-06-23 10:24:10 -04:00
Pranav Gaddamadugu
72c6dcd343 Add CastExpression to the AST 2023-06-23 00:15:59 -04:00
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
dependabot[bot]
c639735f47
Bump criterion from 0.4.0 to 0.5.0
Bumps [criterion](https://github.com/bheisler/criterion.rs) from 0.4.0 to 0.5.0.
- [Changelog](https://github.com/bheisler/criterion.rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bheisler/criterion.rs/compare/0.4.0...0.5.0)

---
updated-dependencies:
- dependency-name: criterion
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-24 10:59:58 +00: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
0b99135962 Update Mapping::get_or to Mapping::get_or_init 2023-04-18 17:09:22 -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
4f27c92f15 Remove Increment, Decrement statements from AST 2023-04-18 16:21:40 -07:00
Pranav Gaddamadugu
10875c7edb Add core mapping functions to AST 2023-04-18 16:21:40 -07:00
Pranav Gaddamadugu
0bc04791b6 Add CoreFunction to AST 2023-04-18 16:21:40 -07:00
Pranav Gaddamadugu
2b010b6992 Update snarkVM to 0.9.15, aleo to 0.3.6 2023-03-31 19:50:35 -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
e3ce9c785a Address feedback 2023-03-31 09:54:57 -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
707cd3cfce AST cleanup 2023-02-21 17:09:22 -08:00
Collin Chin
0a738d4994 chore(leo): bump version for new release 2023-02-17 22:30:17 -05: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
05ffefbb79 Add mode to Member 2023-02-10 21:07:44 -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
a4d76c644a Refactor AST 2023-02-05 12:46:20 -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
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
collin
f6f286ac8a pull testnet3, regen tests 2022-11-23 02:37:57 -05:00
Collin Chin
40e56f8613
Merge pull request #2100 from AleoHQ/feat/tuple
Supports tuples.
2022-11-22 20:49:25 -05:00
collin
44bca58821 chore(leo): bump version for new release 2022-11-14 18:56:09 -08:00
d0cd
682b67e184 Fix flattening logic 2022-11-12 16:23:16 -08:00
d0cd
060f57d971 Remove standalone finalize statement from the AST 2022-11-12 10:13:23 -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
910d373afd WIP support tuples on lhs of definitions 2022-11-08 15:49:47 -08:00
d0cd
30391c8bd4 Add ExpressionStatement to AST 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
0439981d01 Add TODO 2022-11-08 15:49:47 -08:00
Pranav Gaddamadugu
8d204a898b Add tests for tuples 2022-11-08 15:49:46 -08:00
Pranav Gaddamadugu
41a8bc5a73 Add span associated with the import statement to ast 2022-10-31 18:05:14 -07:00
d0cd
df01360010 Clippy 2022-10-24 22:41:10 -07:00
Collin Chin
4256167bfe
Merge pull request #2112 from AleoHQ/feat/program-scope
Introduces `program` scope.
2022-10-06 14:19:35 -07:00
Pranav Gaddamadugu
028a01efde More fixes 2022-10-05 23:51:56 -07:00
Pranav Gaddamadugu
e15e8f05d6 Additional validation for program scope and imported files 2022-10-05 14:59:06 -07:00
Pranav Gaddamadugu
8f2a6fdb27 Support AST changes in compile passes 2022-10-05 10:38:35 -07:00
Pranav Gaddamadugu
224cf18544 Add program_scope into AST 2022-10-05 10:00:15 -07:00
Pranav Gaddamadugu
bd4b7be8cf WIP ast changes for program scope 2022-10-05 09:56:36 -07:00
Pranav Gaddamadugu
8872c3d53f Remove use of default network domain 2022-10-04 19:11:36 -07:00
Pranav Gaddamadugu
c0c5e58011 Add checks for function calls 2022-10-03 16:18:58 -07:00
Pranav Gaddamadugu
80d8880292 Parser support for transition keyword 2022-10-03 08:53:44 -07:00
dependabot[bot]
28ed3dc320
Bump smallvec from 1.9.0 to 1.10.0
Bumps [smallvec](https://github.com/servo/rust-smallvec) from 1.9.0 to 1.10.0.
- [Release notes](https://github.com/servo/rust-smallvec/releases)
- [Commits](https://github.com/servo/rust-smallvec/compare/v1.9.0...v1.10.0)

---
updated-dependencies:
- dependency-name: smallvec
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-03 10:15:01 +00:00
Pranav Gaddamadugu
c551179b42 Fmt 2022-09-30 11:55:42 -07:00
Pranav Gaddamadugu
f51a36aeaf Rename in compiler 2022-09-30 11:52:06 -07:00
Pranav Gaddamadugu
508c54dd92 Rename errors 2022-09-30 10:16:05 -07:00
Pranav Gaddamadugu
f7b5e213e6 Battleship example compiles 2022-09-20 21:45:16 -07:00
Pranav Gaddamadugu
8f5e779a6a Compiler builds 2022-09-20 20:29:59 -07:00
collin
48530523d9 wip need to finish external inputs 2022-09-20 18:26:22 -07:00
collin
368d4c530c push code to parse returning external records + battleship example 2022-09-20 17:17:43 -07:00
collin
0a86a05d20 push code to parse external calls 2022-09-20 13:58:52 -07:00
collin
4e05840bf5 bump ci rust version to 1.63 2022-09-16 18:19:20 +02:00
collin
834ea300aa bump ci rust version to 1.65 2022-09-16 18:17:10 +02:00
collin
6c18565700 too new of rust version for actions 2022-09-16 17:51:15 +02:00
collin
2e24f82f21 Update rust versions 2022-09-16 17:32:20 +02:00
collin
c1d21e699c merge testnet3 2022-09-13 15:39:20 +02:00
d0cd
048be34524
Merge pull request #2059 from AleoHQ/dependabot/cargo/testnet3/criterion-0.4.0
Bump criterion from 0.3.6 to 0.4.0
2022-09-13 11:47:55 +02:00
Pranav Gaddamadugu
a6fe8bf80c Update docs 2022-09-13 11:10:22 +02:00
Pranav Gaddamadugu
c2bed2bb54 Add name to finalize block 2022-09-13 11:06:24 +02:00
dependabot[bot]
1b086ac519
Bump criterion from 0.3.6 to 0.4.0
Bumps [criterion](https://github.com/bheisler/criterion.rs) from 0.3.6 to 0.4.0.
- [Release notes](https://github.com/bheisler/criterion.rs/releases)
- [Changelog](https://github.com/bheisler/criterion.rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bheisler/criterion.rs/compare/0.3.6...0.4.0)

---
updated-dependencies:
- dependency-name: criterion
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-12 10:19:58 +00:00
Pranav Gaddamadugu
3d5ddb9e1a Clippy 2022-09-06 12:14:37 -07:00
Pranav Gaddamadugu
f74bfb034c wip flattening phase 2022-09-06 12:13:32 -07:00
Pranav Gaddamadugu
18274bf4f9 More tyc 2022-09-06 12:13:32 -07:00
Pranav Gaddamadugu
f4f77cdf55 Enable modes for return types in parser and AST 2022-09-06 12:13:32 -07:00
Pranav Gaddamadugu
791463c82f WIP tyc for finalize 2022-09-06 12:13:32 -07:00
Pranav Gaddamadugu
bd232127dc Clean up statments; add increment, decrement, and finalize 2022-09-06 12:13:32 -07:00
Pranav Gaddamadugu
5521e7f30b Add finalize block to AST 2022-09-06 12:13:32 -07:00
Pranav Gaddamadugu
8a8e198f59 Tyc for mappings 2022-09-06 12:13:32 -07:00
Pranav Gaddamadugu
dffb788913 Add Mapping to Program and passes 2022-09-06 12:13:32 -07:00
Pranav Gaddamadugu
0e00c5dac3 Add Mapping to AST 2022-09-06 12:13:32 -07:00
collin
d0a2b8c3ce cargo clippy 2022-09-06 15:00:42 +02:00
Pranav Gaddamadugu
78604f61da Fix missed tyc in mul expressions 2022-08-23 19:40:01 -07:00
d0cd
4c0aed8718
Merge pull request #2020 from AleoHQ/feat/ssa-simplify-expressions
[Improvement] SSA simplifies expressions in assignment statements
2022-08-18 16:29:04 -07:00
Pranav Gaddamadugu
eb4ee1428c Cleanup out dated docs 2022-08-18 15:45:30 -07:00
Pranav Gaddamadugu
a39ab9f77f Cleanup 2022-08-17 17:03:30 -07:00
Pranav Gaddamadugu
1e39f36ddf Introduces Consumer trait 2022-08-17 17:01:29 -07:00
Pranav Gaddamadugu
4095173e7c Cleanup 2022-08-17 15:48:54 -07:00
Pranav Gaddamadugu
374b8f35f9 Fix comment 2022-08-17 15:36:07 -07:00
Pranav Gaddamadugu
615cc61e9e Add console.assert 2022-08-17 15:27:11 -07:00
Pranav Gaddamadugu
545a77b09b Remove unnecesary console functions; add assert_eq and assert_neq 2022-08-17 14:42:06 -07:00
Pranav Gaddamadugu
dcbdb1bd85 Reintroduce IntegerType 2022-08-09 19:53:17 -07:00
Pranav Gaddamadugu
7ff7170c45 Fix unary negation parser; add test 2022-08-09 19:53:17 -07:00
Pranav Gaddamadugu
a531b9642f Remove complex assignments from the AST 2022-08-06 07:49:36 -07:00
Collin Chin
1ea1145295
Naming nit 2022-08-05 18:25:52 -07:00
collin
d397c750d2 merge testnet3 2022-08-05 13:59:08 -07:00
Collin Chin
46f21c68a2
Merge pull request #1994 from AleoHQ/remove-unsafe
Remove all uses of unsafe
2022-08-05 13:50:53 -07:00
d0cd
e4db5511d6
Update compiler/ast/src/expressions/ternary.rs
Co-authored-by: Collin Chin <16715212+collinc97@users.noreply.github.com>
2022-08-05 12:22:23 -07:00
Pranav Gaddamadugu
d56bd3084d Fix order of folded ternary expressions when handling early return statements 2022-08-05 08:30:50 -07:00