Commit Graph

471 Commits

Author SHA1 Message Date
howardwu
24f5b168aa Updates r1cs traits 2021-03-04 10:45:37 -08:00
howardwu
4f50b44a63 itemize imports 2021-03-04 10:33:51 -08:00
Protryon
d400764e00 parser rewrite 2021-03-03 09:59:24 -08:00
gluax
6e38cc3b31 merge master for uid deprecation 2021-02-25 13:25:38 -05:00
gluax
3e20a9a177
Merge branch 'master' into feature/485-defines 2021-02-25 13:06:40 -05:00
collin
356b7ba062 merge master 2021-02-25 09:51:12 -08:00
howardwu
be398437c6 Updates snarkVM to 0.0.5, updates rand usage 2021-02-25 08:56:20 -08:00
Protryon
ed8d2fb11d remove uuid dependency 2021-02-25 07:40:47 -08:00
gluax
e970194ed3 tuple const fixes, compiler tests 2021-02-24 11:48:00 -05:00
bors[bot]
211fcb0195
Merge #678
678: Bug 662 Fix r=collinc97 a=gluax

Allows -field values in input values, resolves #662. Also add tests for that and group - input values. Cleans up the re-written code used in a few places by adding a pub crate function. Depends on #626.

Co-authored-by: gluax <jonathan.t.pavlik@gmail.com>
Co-authored-by: gluax <16431709+gluax@users.noreply.github.com>
2021-02-19 22:10:36 +00:00
gluax
ad6f3fcf84 allow -field values in input values, clean up repeated code 2021-02-18 14:36:38 -05:00
Collin Chin
9baa9388a0
Merge branch 'master' into feature/515-eliminate-const-vars 2021-02-17 22:06:12 -08:00
bors[bot]
6715f91690
Merge #670
670: feature_626/negative-group-contstraints r=collinc97 a=gluax

Resolves #626. Allows a negative group outside of a pair as well as negative numbers inside a pair group. Waiting to see if the later was necessary in the feature discussion, but I assume it would be.

Co-authored-by: gluax <jonathan.t.pavlik@gmail.com>
2021-02-17 20:50:30 +00:00
bors[bot]
54a9691b73
Merge #652 #663
652: ASG refactor r=collinc97 a=Protryon

## Motivation

This PR makes the ASG more user friendly by using arenas instead of RefCell/Arc:
1. Impossible to leak the ASG by creating a circular strong reference chain
2. We don't need RefCell's everywhere to implement passes

663: Bug 625/fix negative fields not allowed r=collinc97 a=gluax

Resolves #625. Logic used to do so is in check if first character of string to convert is a negative sign. If so remove first character convert from string to field, and then negate it on the leo side. If first character wasn't a negative sign, do the same as before.

Co-authored-by: Protryon <max.bruce12@gmail.com>
Co-authored-by: gluax <jonathan.t.pavlik@gmail.com>
Co-authored-by: gluax <16431709+gluax@users.noreply.github.com>
2021-02-17 20:10:30 +00:00
Protryon
bf61820115 asg refactor 2021-02-16 13:32:34 -08:00
gluax
d549fda7b5 rebase and replace const keyword in tests 2021-02-16 14:19:20 -05:00
gluax
8150869c6c negative groups, and negative group coords allowed 2021-02-16 12:00:08 -05:00
gluax
5bbaf9d999 add non negated field to test, merge master 2021-02-16 09:22:10 -05:00
gluax
500a3e76d2 fix negative fields, add test for them 2021-02-12 15:20:58 -05:00
bors[bot]
fa53e75f51
Merge #641
641: Bug/564 input array len not enforced r=collinc97 a=gluax

Resolves #564, depends on #563. The changes for this branch have pulled from PR #638, which is the PR that fixes #563.

Co-authored-by: gluaxspeed <jonathan.t.pavlik@gmail.com>
2021-02-11 21:41:53 +00:00
bors[bot]
d418b5330c
Merge #638
638: bug/563-array-input-wrong-dimensions r=collinc97 a=gluax

Closes #563. Fixes the array dimension builder when coming from the input file. Adds a test for it as well.

Co-authored-by: gluaxspeed <jonathan.t.pavlik@gmail.com>
2021-02-11 21:22:50 +00:00
gluaxspeed
9a015e1e5f console assert tests 2021-02-11 10:46:54 -05:00
gluaxspeed
cedcc6e1d1 console assert tests 2021-02-11 10:46:20 -05:00
bors[bot]
a3f0f9d587
Merge #633 #634
633: duplicate name context test r=collinc97 a=gluax

Adding a test for duplicate name context that was resolved in #546.

634: fn call array params r=collinc97 a=gluax

Adding a test for bug #522, which was resolved by the asg.

Closes #522 

Co-authored-by: gluaxspeed <jonathan.t.pavlik@gmail.com>
2021-02-11 07:53:26 +00:00
gluaxspeed
9812c76e1f fix test needed to expect it to fail 2021-02-10 12:49:18 -05:00
gluaxspeed
42fb5ea635 merge from pr 638 2021-02-10 11:59:42 -05:00
gluaxspeed
202f056531 fix pushed but depends on pr #638 2021-02-10 11:57:10 -05:00
gluaxspeed
e48b971789 reverse iter for building array, add test case for it 2021-02-09 10:26:16 -05:00
gluaxspeed
2f6cc6c995 add test for the fixed bug 2021-02-08 15:42:37 -05:00
gluaxspeed
9651af3089 add test for the fixed bug 2021-02-08 13:44:30 -05:00
gluaxspeed
f7add0fc98 re-ignore import test-many in compiler, it breaks pipeline 2021-02-05 15:33:48 -05:00
gluaxspeed
26f9973e14 resolve merge conflict, asg + grammar tests 2021-02-05 14:20:48 -05:00
gluaxspeed
59acb1a022 unignore test and add test case to thoroughly test 2021-02-05 11:36:21 -05:00
Collin Chin
770f660f3a
Merge pull request #617 from AleoHQ/const-args
[Feature] Const Function Arguments
2021-02-04 23:05:51 -08:00
Collin Chin
a239e17bb6
Merge pull request #622 from AleoHQ/refactor/compiler
Adds ASG struct, updates ASG to support debug
2021-02-04 22:52:40 -08:00
howardwu
fb7a9f4a18 Simplify compiler calls 2021-02-04 17:26:29 -08:00
Howard Wu
fd5ce2f393
Merge pull request #585 from AleoHQ/feature/228-implied-circuit-name
[Feature] 228 implied circuit name
2021-02-04 14:28:14 -08:00
collin
f5be2e037f add inline circuit integration tests 2021-02-04 13:18:28 -08:00
Protryon
5d4fbdbbe2 unignore swap test 2021-02-04 07:36:41 -08:00
Howard Wu
59aa8ac21c
Merge pull request #603 from AleoHQ/asg-return-check
Remove compiler return check
2021-02-03 11:28:35 -08:00
Protryon
fcbb5e4fd9 remove compiler return check 2021-02-02 19:33:41 -08:00
Protryon
abee76680b add test 2021-02-02 18:42:00 -08:00
collin
90ee77cad5 mirror swap test in asg 2021-02-02 11:09:36 -08:00
Protryon
80d5c87b8a asg 2021-02-02 11:08:56 -08:00
howardwu
c935d6a486 Update license to 2021 2021-02-01 20:26:56 -08:00
collin
fe78b2ec11 deprecate old test function syntax 2021-01-21 16:50:15 -05:00
collin
f3452b9706 test program output array registers 2021-01-11 21:48:57 -05:00
collin
758cf88de7 fix warnings 2021-01-08 20:08:14 -05:00
collin
c48c39caaf check output register type == return value type + tests 2021-01-08 20:06:23 -05:00
collin
d28e161706 fix conditional logging bug #407 2021-01-04 11:34:38 -05:00
howardwu
2d64515763 Migrate to snarkVM 2020-12-30 12:40:45 -04:00
Protryon
d1276bd95d statement breakout 2020-12-16 15:00:45 -08:00
collin
6e2dcdd1b0 fix serialization 2020-12-16 14:21:57 -05:00
Howard Wu
235f85e039
Merge pull request #494 from AleoHQ/refactor/parse-program-from-string
Undeprecate parse_program_from_string
2020-12-11 17:35:10 -04:00
Howard Wu
878f0a8461
Merge pull request #493 from AleoHQ/fix/self-access-scope
fix accessing self variable inside nested scope bug
2020-12-11 17:33:32 -04:00
Howard Wu
32dad40521
Merge pull request #492 from AleoHQ/fix/array-spread-type
Fix array spread type bug
2020-12-11 17:32:44 -04:00
collin
ca36d06022 undeprecate parse_program_from_string and add test 2020-12-11 13:31:13 -05:00
collin
8ace306e2c fix cargo lock 2020-12-11 12:22:07 -05:00
collin
161fe2608c fix accessing self variable inside nested scope bug 2020-12-10 18:02:25 -05:00
collin
08e90f5c59 fix array spread type bug 2020-12-10 17:54:19 -05:00
collin
e2406bec86 fix lower array slice bug 2020-12-09 17:42:15 -05:00
collin
40c816f921 update swap test 2020-12-09 17:08:22 -05:00
collin
6e67ea485a Merge branch 'master' of github.com:AleoHQ/leo into fix/nested-mut-assignee 2020-12-09 17:06:49 -05:00
collin
8a44eff4a5 fix nested mutable assignee bug, add swap test 2020-12-08 16:00:12 -05:00
Collin Chin
8541eb3fb8
Update mod.rs 2020-12-08 12:21:18 -05:00
Collin Chin
ac68e8e6a4
Merge branch 'master' into fix/prefer-include-str 2020-12-08 11:37:30 -05:00
collin
b7e5cd13df fix failing test 2020-12-08 10:47:07 -05:00
collin
c351c300a2 merge master 2020-12-07 20:05:15 -05:00
collin
e93100eb6a merge master 2020-12-07 19:55:03 -05:00
Howard Wu
f841f2e348
Merge pull request #466 from AleoHQ/fix/nested-mut-value
Fixes assignment of mutable variable to mutable variable
2020-12-07 20:41:58 -04:00
collin
0f91630a9f merge function input self changes 2020-12-04 16:52:19 -05:00
collin
0698f5df59 Merge branch 'master' of github.com:AleoHQ/leo into feature/circuit-self-input 2020-12-04 16:41:31 -05:00
collin
2352ebaf2c rename all bytes variables to string 2020-12-04 15:48:43 -05:00
collin
674caf5902 use include_str in all program tests 2020-12-04 15:34:51 -05:00
collin
7976c739e9 use include_str in program input + state tests 2020-12-04 15:20:59 -05:00
collin
675937ba13 use include_str in program input tests 2020-12-04 12:57:08 -05:00
collin
b2246f1151 use include_str in program state tests 2020-12-04 12:51:39 -05:00
collin
87c0dd738a add test for bug #427 incomplete conditional 2020-12-03 13:44:47 -05:00
collin
dfcc77a860 add test for bug #430 early returns 2020-12-03 13:38:05 -05:00
collin
4cb07d5cd3 add test for nested mutable value 2020-12-02 12:31:51 -05:00
collin
d8c08fedd7 fix tests 2020-12-01 15:37:44 -05:00
collin
8457b05354 remove mut circuit variable definition 2020-12-01 11:54:51 -05:00
collin
1213209b78 cargo fmt check 2020-11-23 17:01:01 -05:00
Collin Chin
26151f33ec
Merge branch 'master' into fix/tuple-cond-select 2020-11-23 16:57:22 -05:00
Howard Wu
1d1e86c8de
Merge pull request #447 from AleoHQ/fix/not-expression
fix error using not operator on mutable boolean
2020-11-23 13:49:35 -08:00
collin
093bab6b02 add test for returning a tuple in a conditional statement 2020-11-18 18:28:41 -08:00
collin
5db2b07cb2 add test for using not operator on mutable variable 2020-11-18 18:23:11 -08:00
collin
789a744deb add test for returning tuples from function 2020-11-18 18:13:49 -08:00
collin
69a8b61efe add type-inference module 2020-11-12 10:28:24 -08:00
collin
667392237f add symbol-table module 2020-11-11 14:57:39 -08:00
collin
d4b6a6d1f8 separate symbol-table module 2020-11-11 14:42:57 -08:00
collin
eb301d310b separate type-inference module 2020-11-11 14:32:46 -08:00
collin
04f4e685ed array type refactor finished. all tests pass 2020-11-10 13:22:18 -08:00
collin
d6686005a3 fix refactored array initializer tests wip 3 2020-11-09 19:26:34 -08:00
collin
34b425ffe5 fix refactored array initializer tests wip 2 2020-11-09 15:03:12 -08:00
collin
aa17355a72 fix refactored array initializer tests wip 1 2020-11-09 14:27:59 -08:00
collin
a8c5885836 rename core-ast -> ast 2020-10-30 17:31:09 -07:00
collin
ffcd93f781 rename ast -> grammar 1 2020-10-30 17:17:17 -07:00
collin
7589fa65c5 rename dynamic-check -> type-inference 2 2020-10-30 12:49:01 -07:00
collin
f1e393a9ab rename dynamic-check -> type-inference 1 2020-10-30 12:39:02 -07:00
collin
7e7d1e58a0 rename typed -> core-ast 2 2020-10-30 11:48:40 -07:00
collin
b5a05be09d rename static-check -> symbol-table 2 2020-10-30 10:44:44 -07:00
Collin Chin
1a39ae93ca
Use matches macro 2020-10-27 10:06:50 -07:00
collin
46f585e2ff refactor compiler methods 2020-10-27 00:31:36 -07:00
collin
fe79cfcf71 merge master 2020-10-26 22:05:03 -07:00
collin
d3125a0f9f add new dynamic check errors and tests for variables 2020-10-26 18:41:51 -07:00
collin
b3c140d5bb fix array function input bug 2020-10-26 13:14:36 -07:00
collin
9bae1037f7 fix core package tests 2020-10-26 12:55:00 -07:00
collin
17a65fe54a add dynamic check errors for circuits 3 2020-10-24 19:27:30 -07:00
collin
6e124e52ff add dynamic check errors for statements 2020-10-24 17:01:40 -07:00
collin
22d6c98c77 add dynamic check errors for functions 2020-10-24 16:50:07 -07:00
collin
e19616b4e5 add dynamic check errors for circuits 2 2020-10-24 13:07:27 -07:00
collin
973e2a6afc add dynamic check errors for circuits 1 2020-10-24 02:53:09 -07:00
collin
8e75e36532 manually impl PartialEq for array types 2020-10-23 21:54:19 -07:00
collin
f2a808cbe7 impl membership type assertion error handling 2020-10-23 17:31:41 -07:00
collin
dbade1f4fe fix mismatched types test 2020-10-23 17:00:11 -07:00
ljedrz
4591a0eb04 refactor: use &Path instead of (&)PathBuf in tests 2020-10-16 17:23:22 +02:00
ljedrz
69d35063f2 perf: use .to_string() instead of single-param format!
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-16 15:52:45 +02:00
ljedrz
98baae93c1 clippy: assorted fixes to tests and benches
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-06 15:09:03 +02:00
collin
9ee5b58cff Merge branch 'fix/blake2s-test-output-formatting' of github.com:AleoHQ/leo into feature/import-parser 2020-09-18 13:04:10 -07:00
collin
a76f4f6767 fix test 2020-09-18 12:57:44 -07:00
Collin Chin
13dc121091
Merge pull request #368 from AleoHQ/fix/array-return-type
Fix/array return type
2020-09-18 12:47:04 -07:00
Collin Chin
249242266c
Merge pull request #365 from AleoHQ/feature/blake2s
Implement core module with native blake2s circuit
2020-09-18 12:46:31 -07:00
collin
3164f6ce33 fix import tests 2020-09-18 12:41:38 -07:00
Collin Chin
7dfbff7795
Merge pull request #351 from AleoHQ/feature/log-numbers
remove types from console.log and formatted strings
2020-09-18 11:30:12 -07:00
collin
6250e95277 impl compare nested array types method for function return type 2020-09-17 12:46:55 -07:00
collin
733561cc93 remove unused test dependencies 2020-09-16 13:45:53 -07:00
collin
38d7397c2c add unit and integration tests for core unstable blake2s circuit 2020-09-16 13:41:50 -07:00
collin
9ed64a6627 fix conflicts 2020-09-10 16:44:25 -07:00
collin
d2810f2789 fix tests 2020-09-10 11:18:49 -07:00
collin
5db13fa904 test Self keyword fails in main function 2020-09-07 22:07:26 -07:00
collin
5e4877e778 fix static call nested and test 2020-09-07 21:56:39 -07:00
collin
a83795eda3 fix define circuit inside circuit function bug 2020-09-07 21:15:30 -07:00
collin
09e209f5eb fix storing self circuit variables inside circuit function bug 2020-09-07 15:06:52 -07:00
collin
17784ffb23 add tests for mutable circuit variables using self keyword 2020-09-07 13:47:50 -07:00
collin
2d7886f951 add test comments 2020-09-03 13:58:04 -07:00
collin
3ef023b87a impl tests for nested and tuple array combinations in Leo programs 2020-09-03 13:56:45 -07:00
collin
4932eb688e support all combinations of nested and tuple array syntax. Test small and large arrays 2020-09-03 13:22:05 -07:00
collin
b6dc77e112 support nested array type in leo inputs 2020-09-03 11:24:23 -07:00
collin
de3564b98d support nested array type in leo programs 2020-09-03 10:02:59 -07:00
Howard Wu
788300ef93
Merge pull request #343 from AleoHQ/fix/input-error-messages
Add file path to all error messages
2020-09-03 02:50:13 -07:00
howardwu
981d272fa6 Fixes array indices for both nested and tuple cases 2020-09-03 02:40:50 -07:00
howardwu
40ac13e317 Fix critical array indexing bug 2020-09-03 00:30:57 -07:00
collin
60db15596d fix parser syntax errors. fix tests 2020-09-02 23:23:50 -07:00
Howard Wu
ad53cdc9ba
Merge pull request #341 from AleoHQ/refactor/keywords
Refactor/keywords
2020-09-02 21:54:59 -07:00
Howard Wu
179fba27fc
Merge pull request #337 from AleoHQ/fix/missing-license
add missing license headers
2020-09-02 21:53:14 -07:00
collin
603438b216 impl self keyword protected name and add tests 2020-09-02 20:59:05 -07:00
collin
42b03a3ccb impl input keyword protected name 2020-09-02 20:24:21 -07:00
collin
94f6c00f30 add data types to protected names. add identifier tests 2020-09-02 19:23:16 -07:00
collin
ddb40a3b15 add missing license headers 2020-09-02 18:45:48 -07:00