Commit Graph

942 Commits

Author SHA1 Message Date
ljedrz
4591a0eb04 refactor: use &Path instead of (&)PathBuf in tests 2020-10-16 17:23:22 +02:00
ljedrz
64774cdab6 refactor: accept &Path instead of PathBuf where sufficient
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-16 17:09:44 +02:00
ljedrz
d662b9a236 perf: use Cow to avoid some PathBuf allocations
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-16 16:51:58 +02:00
ljedrz
f59416be1b refactor: pass &Path instead of &PathBuf as arguments
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-16 16:18:46 +02:00
ljedrz
790f1c472a perf: don't allocate PathBufs for the purposes of PathBuf::push
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-16 15:52:45 +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
529d87bc88 perf: remove some generic unnecessary allocations
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-16 15:52:45 +02:00
collin
323992696c use typed assignee access 2020-10-15 18:11:39 -07:00
ljedrz
970f808290 perf: refactor a lot of the compiler so that Spans and Strings are rarely cloned
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-15 18:19:34 +02:00
ljedrz
e1e22a2310 perf: vector pre-allocation and associated tweaks
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-08 11:47:03 +02:00
collin
effdfc7628 add leo dynamic check module 2020-10-06 17:20:51 -07: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
ljedrz
300666827e fmt: run cargo +nightly fmt on the changes
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-06 13:07:30 +02:00
ljedrz
c09b7eb3b1 clippy: fix if_same_then_else
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-06 12:50:43 +02:00
ljedrz
fe016dc168 clippy: fix needless_range_loop
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-06 12:50:43 +02:00
ljedrz
08afb0e604 clippy: fix redundant_pattern_matching
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-06 12:50:43 +02:00
ljedrz
4d8a91418f clippy: fix unnecessary_unwrap
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-06 12:50:43 +02:00
ljedrz
fc4e2ee4ab clippy: fix type_complexity
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-06 12:50:43 +02:00
ljedrz
8c099ab8c8 clippy: fix into_iter_on_ref
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-06 12:50:43 +02:00
ljedrz
1a3d1fb2b8 clippy: fix collapsible_if
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-06 12:50:43 +02:00
ljedrz
b4bb39872b clippy: fix unused_unit
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-06 12:50:43 +02:00
ljedrz
bdfb6f5fb5 clippy: fix redundant_closure
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-06 12:50:43 +02:00
ljedrz
e9b9c1f72f fix: allow a piece of own deprecated code
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-06 12:50:43 +02:00
ljedrz
f016b972fb clippy: fix vec_box
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-06 12:50:43 +02:00
ljedrz
ba9fc92229 clippy: fix large_enum_variant
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-06 12:50:43 +02:00
ljedrz
c4cdaed923 clippy: allow too_many_arguments
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-06 12:50:43 +02:00
ljedrz
1fc9b902dd clippy: fix redundant_clone & clone_on_copy
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-06 12:50:43 +02:00
ljedrz
93369aed33 clippy: fix ptr_arg
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-06 12:50:43 +02:00
ljedrz
98990721cf clippy: fix redundant_static_lifetimes
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-06 12:50:43 +02:00
ljedrz
a872db5ca6 clippy: fix useless_conversion
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-06 12:50:43 +02:00
ljedrz
a4891c6f00 clippy: fix len_zero
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-06 12:50:43 +02:00
ljedrz
7c15eabd5e clippy: fix or_fun_call
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-06 12:50:43 +02:00
ljedrz
ffef5089f7 clippy: fix new_without_default
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-06 12:50:43 +02:00
ljedrz
80bb3033fd clippy: fix single_char_pattern
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-06 12:50:43 +02:00
ljedrz
c21b5ad2f3 clippy: fix useless_format
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-06 12:12:35 +02:00
ljedrz
4f46dd2982 clippy: allow module_inception
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-05 17:18:25 +02:00
ljedrz
0cf7a247cc clippy: fix needless_return
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-05 17:16:44 +02:00
collin
d5a9cefe7c impl symbol table for pass 1 + pass 2 type resolution 2020-10-01 20:17:47 -07: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
557fccd9da remove old import parser code from compiler 2020-09-18 12:35:27 -07:00
collin
d54749145b use import parser errors in compiler 2020-09-18 12:26:51 -07:00
collin
22422c1b55 create separate module for imports 2020-09-18 12:04:10 -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
facafe6041 add core package parsing errors 2020-09-16 00:05:58 -07:00
collin
2a9d69f07f add core circuit errors 2020-09-15 23:35:30 -07:00
collin
32c85720be make core function arguments and returns generic 2020-09-15 21:18:48 -07:00
collin
3d3a093f2a Merge branch 'master' of github.com:AleoHQ/leo into feature/blake2s 2020-09-15 17:27:55 -07:00
collin
b071b85b8c remove print statements 2020-09-15 14:19:15 -07:00
collin
23bdecf6c4 fix nested return type mismatch error 2020-09-15 13:01:10 -07:00
collin
5341c28805 naive call to blake2s function working 2020-09-15 12:33:28 -07:00
collin
32cf945c61 core package imports wip 2020-09-12 23:10:01 -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
8a3f59e9c0 remove types from console.log and formatted strings 2020-09-07 23:40:15 -07:00
collin
5db13fa904 test Self keyword fails in main function 2020-09-07 22:07:26 -07:00
collin
e916a53ed9 add error and clean up 2020-09-07 22:04:23 -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
a04160a09e impl mutating a circuit using the self keyword inside a circuit function 2020-09-07 13:27:49 -07:00
collin
59570002f2 mutable self wip 2020-09-05 22:03:02 -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
howardwu
2620ae7bc2 chore(leo): bump version for new release 2020-09-03 03:08:33 -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
collin
340e633470 fix state file errors 2020-09-02 23:05:03 -07:00
collin
0bb8c42731 fix input file errors 2020-09-02 22:59:54 -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
collin
c84227f69a Merge branch 'master' of github.com:AleoHQ/leo into feature/mutable-circuit-variables 2020-09-02 18:04:00 -07:00
collin
d35188abcb test mutable circuit variables 2020-09-02 18:01:47 -07:00
collin
87781fed03 throw an error when assigning to an immutable circuit variable 2020-09-02 17:52:17 -07:00
Collin Chin
6fc3393f5c
Merge pull request #334 from AleoHQ/feature/array-init-parenthesis
Feature/array init parenthesis
2020-09-02 20:36:13 -04:00
Collin Chin
7bc803bd32
Merge pull request #333 from AleoHQ/feature/rename-circuit-field
Feature/rename circuit field
2020-09-02 20:36:01 -04:00
collin
df9fb58677 impl mutable circuit variables 2020-09-02 17:31:31 -07:00
collin
51b80d1742 Merge branch 'feature/rename-circuit-field' into feature/mutable-circuit-variables 2020-09-02 16:59:30 -07:00
collin
84a874b0ce add tests for large array initializer 2020-09-02 16:49:06 -07:00
collin
bd3b465a4f add tests for input array initializer 2020-09-02 16:04:41 -07:00
collin
28fca854d2 rename circuit_field -> circuit_variable in compiler tests 2020-09-02 14:15:30 -07:00
collin
2d52dd2444 rename circuit_field -> circuit_variable in compiler 2020-09-02 14:13:27 -07:00
collin
d33ca81869 rename circuit_field -> circuit_variable in typed 2020-09-02 14:10:40 -07:00
Howard Wu
37f9b64343
Merge pull request #331 from AleoHQ/feature/newline-after-test
Add newline after each successful test run
2020-09-02 13:44:41 -07:00
Howard Wu
afc8c6b931
Merge pull request #330 from AleoHQ/feature/unsigned-array-access-only
Add compiler check for signed integer array access
2020-09-02 13:44:11 -07:00
Howard Wu
000293aab7
Merge pull request #325 from AleoHQ/refactor/array-type
Refactor/array type
2020-09-02 13:39:11 -07:00
collin
70ebdb3172 add newline after each successful test run 2020-09-02 13:23:29 -07:00
collin
5210b1ec77 Add compiler check for signed integer array access 2020-09-02 13:11:42 -07:00
collin
f286ba241d add type fail tests 2020-09-02 11:40:58 -07:00
collin
8cf5eb8790 all tests pass 2020-09-02 11:25:49 -07:00
collin
e7091b18ed fix tests 2020-09-02 11:12:12 -07:00
collin
a4b0fb1a49 impl array-type for inputs in typed 2020-09-02 10:24:53 -07:00
collin
2662fd4a94 impl array-type in compiler 2020-09-02 09:40:09 -07:00
collin
f823d463f2 merge master 2020-08-31 13:31:23 -04:00
collin
4355e1cd5a support n-group notation 2020-08-31 13:27:44 -04:00
howardwu
bf82bf4d1b chore(leo): bump version for new release 2020-08-28 23:26:19 -07:00
howardwu
12971b9cbb Update Cargo.toml 2020-08-27 01:33:00 -07:00
howardwu
cc183475ee Update logging with custom formatter 2020-08-27 00:55:29 -07:00
collin
55fdb24bfb add tracing spans to commands. fix clean command 2020-08-21 19:22:01 -07:00
collin
bcab2df709 fix proving output 2020-08-21 18:44:19 -07:00
collin
551595026b fix test output formatting 2020-08-21 18:08:14 -07:00
collin
2e3333cd25 fix test, login, build console output 2020-08-21 17:39:48 -07:00
collin
912a192b5c use tracing in compiler 2020-08-21 16:36:50 -07:00
collin
3f1b1e857c use tracing in package and leo cli 2020-08-21 16:06:48 -07:00
collin
da843e452e use tracing for build command 2020-08-21 15:49:51 -07:00
howardwu
c07958e292 Clean up Cargo.toml 2020-08-21 05:09:48 -07:00
howardwu
b6238470cc Update Cargo.toml 2020-08-21 03:07:15 -07:00
howardwu
4da4fc4344 Update cargo.toml 2020-08-21 02:54:04 -07:00
Howard Wu
16f0e0b5f6
Merge pull request #262 from AleoHQ/feature/allocated-address
Feature/allocated address
2020-08-20 22:37:30 -07:00
collin
147a87ec24 fix imported static access bug 2020-08-20 21:12:51 -07:00
collin
a86018c0ea impl tests for allocated addresses 2020-08-19 03:11:30 -07:00
howardwu
0405ff4f89 Bump version and repair Leo update description 2020-08-19 03:00:30 -07:00
collin
5aad40a678 impl cond select gadget for address 2020-08-19 02:58:51 -07:00
collin
0ac23ffb97 impl alloc, enforce eq, eval eq gadgets for address 2020-08-19 02:19:02 -07:00
collin
8f2f39be86 impl address gadget 2020-08-19 01:49:58 -07:00
collin
20ae244f67 expect compiler error for integer test 2020-08-19 00:44:01 -07:00
collin
c686115305 Merge branch 'master' of github.com:AleoHQ/leo into fix/synthesis-error-stack-overflow 2020-08-19 00:12:54 -07:00
Howard Wu
f57a0cc497
Merge pull request #249 from AleoHQ/feature/console
Implement console functions
2020-08-19 00:10:44 -07:00
collin
c3a89764bf fix example naming and manifest files 2020-08-18 22:58:14 -07:00
collin
4cf1a55ce9 add value from implicit group type 2020-08-18 22:38:20 -07:00
collin
c7c2d14597 impl group number syntax in compiler and test zero and one 2020-08-18 13:28:08 -07:00
collin
f675e895f5 merge master 2020-08-18 11:22:56 -07:00
raychu86
ae10a78eb5 Add license header 2020-08-18 03:50:26 -07:00
collin
a8530c9012 comment out field gadget eq 2020-08-17 23:13:54 -07:00
collin
5bd2575fd5 add test to check for stack overflow 2020-08-17 01:30:13 -07:00
collin
6631da0c7e Merge branch 'master' of github.com:AleoHQ/leo into fix/synthesis-error-stack-overflow 2020-08-17 01:21:24 -07:00
collin
ddfe8fa08a merge master 2020-08-17 01:12:16 -07:00
howardwu
73f134130e Fix Cargo.lock 2020-08-17 01:00:26 -07:00
collin
55d6dc5cc6 fix stack overflow error caused by SynthesisError 2020-08-16 23:13:10 -07:00
collin
3f49eb0e3f comment out group and field tests 2020-08-16 19:52:33 -07:00
collin
e58a5f4e0e clean up 2020-08-16 19:45:35 -07:00
collin
e6e02a0e50 refactor all tests 2020-08-16 19:14:26 -07:00
collin
47523f7f5d start porting tests over 2020-08-16 17:20:47 -07:00
collin
4533915438 support conditional console functions 2020-08-16 16:10:07 -07:00
collin
b2866951f6 impl console functions in compiler 2020-08-16 15:18:30 -07:00
collin
f3ee68be2b impl console functions in typed 2020-08-16 14:28:19 -07:00
collin
f9c68910b2 Merge branch 'master' of github.com:AleoHQ/leo into feature/local-data-commitment 2020-08-16 00:30:48 -07:00
collin
25468c4ed8 add verify local data commitment method to compiler 2020-08-16 00:28:39 -07:00
collin
9a2fe61c6f write test output to filename specified by context 2020-08-15 23:25:34 -07:00
collin
ced738f852 use from y coordinate from snarkos 2020-08-15 22:59:26 -07:00
collin
ba6cc019b6 Merge branch 'master' of github.com:AleoHQ/leo into feature/group-notation 2020-08-15 22:16:58 -07:00
collin
5efa131c65 impl test context with test inputs 2020-08-15 22:09:22 -07:00
collin
e27b4e1560 fix error message 2020-08-15 17:37:46 -07:00
collin
a4b29d2651 impl new group notation for inputs compiler 2020-08-15 17:21:18 -07:00
collin
37bedc8662 impl tests for group notation 2020-08-15 16:31:07 -07:00
collin
3fe25da23f impl new group notation compiler 2020-08-15 16:20:43 -07:00
collin
70de48d928 remove printlns 2020-08-15 13:57:03 -07:00
collin
2d6da3cd3c parse all import definitions 2020-08-15 13:17:43 -07:00
collin
79b13138ff add restriction 2020-08-15 01:58:33 -07:00
collin
3d794c6a20 allow newlines and trailing commas in function declarations 2020-08-15 00:25:11 -07:00
Howard Wu
7ba71bbfc1
Merge pull request #229 from AleoHQ/fix/not-equals-stack-overflow
fixes stack overflow error
2020-08-14 21:02:11 -07:00
Howard Wu
febc050a94
Merge pull request #198 from AleoHQ/feature/tuple
Implement tuple values and types
2020-08-14 21:00:37 -07:00
collin
d4ab9d915c add not equals tests to integers 2020-08-14 00:25:39 -07:00
collin
24df4ae57a allow integers. do not allow field or group equality or comparison 2020-08-13 12:11:56 -07:00
collin
bea47246a6 Merge branch 'fix/group-type' of github.com:AleoHQ/leo into feature/tuple 2020-08-13 11:46:19 -07:00
collin
d1eddcf4db fix input group value and add test 2020-08-13 11:37:48 -07:00
collin
76009cb843 impl circuit synthesizer and serialized circuit 2020-08-13 01:21:39 -07:00
collin
6016f47d66 remove unused circuit bytes 2020-08-12 20:02:39 -07:00
collin
0b9bc8001d fix tuple edge cases 2020-08-11 11:17:39 -07:00
collin
08978cc9e7 refactor return values to tuple types 2020-08-11 01:08:02 -07:00
collin
74248f936b impl tuples for inputs 2020-08-10 22:02:03 -07:00
collin
79846ab565 support nested tuple types 2020-08-10 19:45:03 -07:00
collin
a0195c3180 add tuple tests 2020-08-10 19:40:49 -07:00
collin
0e8473658e support tuple access and comparison 2020-08-10 19:12:38 -07:00
collin
e85d6499d0 support tuple parsing and assignment 2020-08-10 18:21:23 -07:00
collin
9c7e14cf4d comment out integer tests 2020-08-10 14:46:36 -07:00
collin
e7851d98d0 add serialize and deserialize circuit methods 2020-08-08 19:55:17 -07:00
collin
168561f340 comment out integers 2020-08-08 02:17:20 -07:00
collin
62c5d8251b add specific test for import definition 2020-08-07 16:59:32 -07:00
collin
13ca17634d allow import definition at any point in a leo file 2020-08-07 16:35:55 -07:00
collin
424287eb7b Merge branch 'master' of github.com:AleoHQ/leo into feature/unordered-definitions 2020-08-07 16:18:50 -07:00
collin
52addca70e Merge branch 'feature/unary-minus' of github.com:AleoHQ/leo into refactor/value-number 2020-08-07 15:17:06 -07:00
collin
f32ea5b744 rename minus -> negate 2020-08-07 15:14:02 -07:00
collin
3d1edefedb add definition parsing to typed. add tests 2020-08-05 22:45:52 -07:00
collin
8ad4724b01 merge unary pr 2020-08-05 20:06:33 -07:00
collin
1fd3e946f8 use compound atomic rules in pest, update tests 2020-08-05 18:13:50 -07:00
collin
c66efc03f0 impl negation tests for all types 2020-08-04 21:37:09 -07:00
collin
269e24595f impl compiler support for integer, group, field negation 2020-08-04 21:04:45 -07:00
collin
6cff63d752 add unary expression, unary operator, minus, and not to pest and types 2020-08-04 20:09:48 -07:00
Collin Chin
ba23ea3832
Merge pull request #152 from AleoHQ/fix/pest-address
Fix/pest address
2020-08-04 19:11:41 -07:00
collin
8b674388ad Merge branch 'master' of github.com:AleoHQ/leo into feature/array-size 2020-08-03 23:23:55 -07:00
collin
a0d294591e enforce aleo prefix and character length 2020-08-03 23:22:11 -07:00
collin
2c3c852ff4 Merge branch 'master' of github.com:AleoHQ/leo into fix/pest-address 2020-08-03 23:12:03 -07:00
Howard Wu
1e7a6bf4ca
Merge pull request #157 from AleoHQ/fix/leo-test
fix leo test to run tests in isolation
2020-08-03 21:58:17 -07:00
Howard Wu
f2f28a37c4
Update compiler.rs 2020-08-03 20:45:29 -07:00
collin
ddcf2c0b09 fix leo test to run tests in isolation 2020-08-03 19:51:41 -07:00
collin
279c322f2d fix division max value bug 2020-08-03 18:54:27 -07:00
collin
d08364b71b check for negation overflow in division test 2020-08-03 15:38:47 -07:00
collin
95984c98c9 fix division by zero error detect 2020-08-03 15:22:29 -07:00
collin
01b2e0e760 Merge branch 'master' of github.com:AleoHQ/leo into fix/pest-address 2020-08-03 14:59:19 -07:00
collin
1f1a49a5d3 add tests for invalid integers in array size 2020-08-03 14:56:45 -07:00
collin
1e56b3a5f6 fix all examples. change outputs -> output 2020-08-03 12:46:47 -07:00
collin
e7ad1595a7 add empty address test 2020-08-03 12:01:09 -07:00
howardwu
f4f9b30dd2 Rename directory types -> typed 2020-08-02 21:02:25 -07:00
howardwu
c8b82f12a8 Rename directory leo-input -> input 2020-08-02 21:00:23 -07:00
howardwu
f40ba91784 Rename types -> typed 2020-08-02 20:56:22 -07:00
howardwu
3ccfd2c764 Adds ci_skip 2020-08-02 19:57:28 -07:00
howardwu
8410e68fb6 Resolve merge of tests 2020-08-02 19:01:15 -07:00
howardwu
5375d97b40 Resolve merge conflict 2020-08-02 18:51:44 -07:00
howardwu
2d1b93e5f8 Merge with master 2020-08-02 17:24:31 -07:00
howardwu
2caa34be67 Revert to leo-types 2020-08-02 16:59:56 -07:00
howardwu
f6dcd7f9c2 Complete migration to leo_typed 2020-08-01 16:03:56 -07:00
collin
eb9bcdbeb8 expect signed integer division overflow error 2020-07-31 21:52:52 -07:00
collin
3d35fb026b outputs -> output 2020-07-31 21:15:33 -07:00
collin
070fa0edea fix all tests 2020-07-31 20:59:50 -07:00
collin
fb45ac7498 rename inputs -> input 2020-07-31 19:39:30 -07:00
collin
e22e962588 rename leo-inputs -> leo-input 2020-07-31 18:49:01 -07:00
collin
ce2a92b9bf add function input keyword. support access to registers, record, state, state_leaf 2020-07-31 18:30:08 -07:00
collin
7137c98745 adds check for integer parsing error vs integer computation error in tests 2020-07-31 14:06:01 -07:00
howardwu
1ea5f7de4a Add leo_typed_ast program, has one serialization error 2020-07-31 00:24:21 -07:00
howardwu
0d5a15cd41 Merge branch 'master' of https://github.com/AleoHQ/leo into feature/typed_ast 2020-07-30 23:51:40 -07:00
howardwu
af37c3bc9e Rename leo-types to leo-typed 2020-07-30 23:33:16 -07:00
collin
ae8fb1f714 merge master fix conflicts 2020-07-30 22:41:07 -07:00
howardwu
61d92ecc91 Remove revision peg for snarkOS dependency, change Leo to groth16, update to proper calling convention for snarks 2020-07-30 19:09:27 -07:00
collin
a858b37fe0 merge master fix conflicts 2020-07-30 18:30:56 -07:00
collin
02833b80e0 add .in and .state tests 2020-07-30 18:17:55 -07:00
collin
e62a2a066a fix syntax tests 2020-07-30 17:19:10 -07:00
collin
6eb9ef41c3 fix statement tests 2020-07-30 17:11:58 -07:00
collin
f334ba646d fix mutability tests 2020-07-30 16:37:01 -07:00
collin
d4eae685a3 fix macros tests 2020-07-30 16:27:31 -07:00
collin
63342e7b10 fix int tests 2020-07-30 16:20:31 -07:00
collin
2f983180b7 fix uint tests 2020-07-30 15:41:03 -07:00
collin
1b6a2b55d4 fix inputs tests 2020-07-30 14:38:31 -07:00
collin
4566ac8e03 fix import tests 2020-07-30 13:01:04 -07:00
collin
f03d0be080 fix group tests 2020-07-30 12:54:34 -07:00
collin
6dfc17ea46 fix function tests 2020-07-30 12:10:33 -07:00
collin
41559ba3a0 fix circuit tests 2020-07-30 11:11:54 -07:00
collin
df9b94ef73 fix array tests 2020-07-30 00:56:17 -07:00
collin
14498c4836 fix address tests 2020-07-30 00:15:14 -07:00
collin
a4448cdd12 add manual main input method for testing. fix field tests 2020-07-29 23:32:21 -07:00
collin
61f7c54858 refactor testing compiler to handle .in .out .state files. fix boolean tests 2020-07-29 20:52:37 -07:00
collin
1b99d62de8 adds compiler output file and output bytes data structures 2020-07-29 18:32:35 -07:00
collin
ac8c940169 add parsing for .in and .state files and update errors 2020-07-29 13:20:44 -07:00
howardwu
5bd6ab78b9 Refactor compiler to have a separate typed ast infrastucture 2020-07-29 01:12:17 -07:00
collin
3d3e8f5e72 compiler successfully parsing record, registers, state, state_leaf variables with access 2020-07-29 00:18:19 -07:00
howardwu
d3894ff546 Adds AST JSON generator 2020-07-28 22:26:28 -07:00
collin
d5ac5e6709 use input section macro in leo types 2020-07-28 21:22:31 -07:00
collin
82b0b576dd parse input file before program file 2020-07-28 20:46:26 -07:00
collin
9fc9e16367 parse main, record, registers, state, state_leaf types to compiler input 2020-07-28 16:57:03 -07:00
collin
92bfad8cc3 clean up pr. remove field comparison 2020-07-17 16:14:13 -07:00
collin
7405a6284a rename gadgets, remove unused files 2020-07-17 13:56:13 -07:00
collin
1707d43be0 fix indents 2020-07-17 12:59:18 -07:00
collin
cc33c68bea fix field tests, use num_bigint 2020-07-17 12:44:08 -07:00
collin
1ede8db1cd fix traits in compiler 2020-07-16 22:48:56 -07:00
collin
c3e2ba420f rename _test to test_ 2020-07-16 21:27:40 -07:00
collin
dbaa334eb6 add checked neg check in tests 2020-07-16 21:26:39 -07:00
collin
5fb77fd457 fix tests 2020-07-16 20:47:47 -07:00
collin
8f397a3382 fix field comparator 2020-07-16 20:00:28 -07:00
collin
d542a9716b fix uint and int comparators 2020-07-16 17:27:58 -07:00
collin
078c7e8a5a use helpers and rename errors 2020-07-15 22:44:20 -07:00
collin
fe2f29ccad add tests for i types 2020-07-15 21:55:45 -07:00
collin
2f39ecdbc3 impl infra for i type tests 2020-07-15 21:31:23 -07:00
collin
bfda4bb95c fix tests 2020-07-15 20:42:57 -07:00
collin
d30d72d76e impl i8 i16 i32 i64 i128 for leo-inputs 2020-07-15 20:28:22 -07:00
collin
6f36dc6cd6 fix uint tests 2020-07-15 19:55:04 -07:00
collin
5ccda0750a add i8 i16 i32 i64 i128 types 2020-07-15 19:32:55 -07:00
collin
eb5ab1fbe1 move comparator into leo-gadgets. impl cmp for i types 2020-07-14 18:32:54 -07:00
collin
540c0de69f add unknown parameter test 2020-07-09 19:33:10 -07:00
collin
118b50fb58 add macro tests 2020-07-09 19:23:15 -07:00
collin
cd38e3a476 println -> print. update readme 2020-07-09 18:55:53 -07:00
collin
7ae351c0c6 evaluate println, debug, error macros 2020-07-09 05:03:10 -07:00
collin
364e7684ac add println, debug, error to leo-types 2020-07-09 01:39:13 -07:00
collin
aa708b8084 fix value.field bug 2020-07-08 03:30:15 -07:00
collin
7a0827af48 refactor errors module 2020-07-08 03:18:30 -07:00
collin
cce056be5d add function modules 2020-07-08 03:12:35 -07:00
collin
24df97b9a3 add assert statement module 2020-07-08 02:45:19 -07:00
collin
6d52a28161 add conditional statement module 2020-07-08 02:36:12 -07:00
collin
a7888f5b29 add assign statement module 2020-07-08 02:17:51 -07:00
collin
6d4a34d0ec add definition statement module 2020-07-08 01:58:45 -07:00
collin
51ee4894c7 add return statment module 2020-07-08 01:48:59 -07:00
collin
6a442fc421 add implicit module. Edit expression module descriptions 2020-07-08 00:34:09 -07:00
collin
2d9386f685 add binary expression module 2020-07-08 00:13:41 -07:00
collin
c1a560f0ec add identifier expression module 2020-07-08 00:04:05 -07:00
collin
ba239921b9 add function module 2020-07-08 00:00:12 -07:00
collin
c8a93073c1 add circuit expression module 2020-07-07 23:56:31 -07:00
collin
5d1b242eb4 add array expression module 2020-07-07 23:48:39 -07:00
collin
c989061ab1 add ternary expression module 2020-07-07 23:38:01 -07:00
collin
ada42fdcf4 make expression module methods public 2020-07-07 23:32:49 -07:00
collin
6de9e67282 add logical expression module 2020-07-07 23:15:41 -07:00
collin
d5017c7666 add relational expression module 2020-07-07 23:07:35 -07:00
collin
f29fac883f add arithmetic expression module 2020-07-07 22:51:41 -07:00
collin
333f75ae8b add module names 2020-07-07 21:15:23 -07:00
collin
965bdc4d6a fix import module 2020-07-07 21:05:03 -07:00
collin
5557f08435 add program module 2020-07-07 20:13:22 -07:00
collin
edec49e5d0 add function module 2020-07-07 20:06:39 -07:00
collin
7321e90d50 create statement module 2020-07-07 20:03:56 -07:00
collin
5ca2712888 crate expression module 2020-07-07 20:01:25 -07:00
collin
9f4812a178 move address module 2020-07-07 19:58:12 -07:00
collin
b0acd5ea5a update field and group modules 2020-07-07 19:53:37 -07:00
collin
a6092e9a2f add field module 2020-07-07 19:40:01 -07:00
collin
d575a187db move integer module 2020-07-07 19:32:19 -07:00
collin
933775fe95 create boolean module 2020-07-07 19:26:01 -07:00
collin
e98c344f76 move comparator 2020-07-07 19:17:23 -07:00
collin
654c623789 move boolean 2020-07-07 19:14:03 -07:00
collin
2e24197ea2 create value module 2020-07-07 19:11:26 -07:00
collin
604eb09e27 move definitions 2020-07-07 19:06:45 -07:00
collin
87db0508f4 impl return tuples and update tests 2020-07-07 10:11:23 -07:00
collin
a20d4ab22d add one trait to group type trait 2020-07-07 02:10:39 -07:00
collin
efd885c6a7 impl 1group and add test 2020-07-07 02:08:48 -07:00
collin
4529c56fd2 add address ternary and equal functionality and tests 2020-07-06 20:25:14 -07:00
collin
2e1a1c3075 remove invalid test 2020-07-06 06:43:32 -07:00
collin
7a04fd9e0e fix address input bug 2020-07-06 06:40:04 -07:00
collin
423e804a27 impl address inputs 2020-07-06 06:17:08 -07:00
collin
d3c0dbb80c impl tests for address type 2020-07-06 04:59:06 -07:00
collin
96a623315e impl address gadgets 2020-07-06 04:04:06 -07:00
collin
8ca5f5ce66 use account public key in snarkos dpc 2020-07-06 03:18:20 -07:00
collin
d5bdda89e7 add initial address type to constraints 2020-07-06 02:38:50 -07:00
collin
84f634559c fix recursive circuit member function namespace bug 2020-07-03 22:44:09 -07:00
collin
3f10bcfe82 impl circuit member access with self.member 2020-07-03 13:35:46 -07:00
collin
36b2508de3 add circuit self keyword wip 2020-07-02 21:36:22 -07:00
collin
a78d077d40 merge refactor/const 2020-07-02 15:58:00 -07:00
collin
b7cefc5ac0 Merge branch 'feature/comparator' of github.com:AleoHQ/leo into refactor/const 2020-07-02 15:54:29 -07:00
collin
cf4a8772bb merge lib and imports 2020-07-02 15:53:41 -07:00
collin
ee2db05b2e fix imports 2020-07-02 15:47:40 -07:00
collin
a76a51bcd7 fix multiple import bug and update tests 2020-07-02 05:48:43 -07:00
collin
c30a50c5dc retrieve import definitions at program execution 2020-07-02 05:21:06 -07:00
collin
14f5f448be resolve all definitions prior to program execution 2020-07-02 03:56:52 -07:00
collin
a422027e12 fix nested import parsing bug 2020-07-01 21:43:06 -07:00
collin
6a04dd0f58 refactor import file parsing. constraints for imports wip 2020-07-01 21:05:57 -07:00
collin
330bfe46c8 refactor import * for packages and leo files only 2020-06-30 13:31:27 -07:00
collin
e08ad6698c fix group and field allocation 2020-06-29 22:03:19 -07:00
collin
6fbb848015 add const mut check 2020-06-29 20:29:53 -07:00
collin
45a2664fd9 Merge branch 'feature/lib-and-imports' of github.com:AleoHQ/leo into feature/comparator 2020-06-29 19:52:47 -07:00
collin
d905ffd569 impl importing from package lib, file, directory, and star 2020-06-29 17:47:59 -07:00
collin
24cf5a0181 Merge branch 'master' of github.com:AleoHQ/leo into feature/lib-and-imports 2020-06-29 14:25:43 -07:00
collin
9854c8c983 use updated sha2 functions 2020-06-29 14:11:12 -07:00
collin
b8b0da305b merge master 2020-06-29 14:05:12 -07:00
Collin Chin
84002cf3e7
Merge pull request #82 from AleoHQ/dependabot/cargo/sha2-0.9.0
Bump sha2 from 0.8.2 to 0.9.0
2020-06-29 13:56:39 -07:00
Collin Chin
60e592edd7
Merge pull request #84 from AleoHQ/fix/spacing
require spacing after keywords and add optional comma after circuit fields
2020-06-29 13:40:59 -07:00
Collin Chin
d1c5c9e928
Merge pull request #80 from AleoHQ/feature/cli
Add debug flag, improve CLI messages, add num_constraints, add 'leo clean'
2020-06-29 13:23:58 -07:00
collin
457a1b26bc add comma to circuit member field def 2020-06-29 13:05:41 -07:00
collin
4e4e21a53e merge master 2020-06-29 12:46:38 -07:00
dependabot-preview[bot]
f061c8ea82
Bump sha2 from 0.8.2 to 0.9.0
Bumps [sha2](https://github.com/RustCrypto/hashes) from 0.8.2 to 0.9.0.
- [Release notes](https://github.com/RustCrypto/hashes/releases)
- [Commits](https://github.com/RustCrypto/hashes/compare/sha2-v0.8.2...sha2-v0.9.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-29 11:09:36 +00:00
howardwu
c622b157f5 Cleanup 2020-06-28 19:36:45 -07:00
howardwu
c1243a2e74 Adds the command 2020-06-28 18:53:09 -07:00
howardwu
607685122b Update logger, add debug flag, improve CLI messages, add num_constraints 2020-06-28 18:24:36 -07:00
Howard Wu
b4cfa64167
Adds ci.yml (#77)
* Adds ci.yml

* Update ci script

* Update Cargo.toml

* Update to ubuntu-latest

* Update dependencies

* Update git deps with rev

* Update ci script

* Update ci script

* Update ci script

* Update code coverage

* Update code coverage

* Update CI

* Update CI

* Update CI

* Update CI

* Update CI

* Update CI

* Update CI

* Update CI

* Update CI

* Update CI

* Update CI

* Update CI

* Update CI

* Update CI script

* Update CI script
2020-06-27 20:16:38 -07:00
collin
878310f793 add import directory parsing 2020-06-26 23:47:11 -07:00
collin
8825a0741c clean up for pr 2020-06-26 19:06:52 -07:00
collin
f64dfcf410 refactor import constraints into separate files 2020-06-26 18:09:28 -07:00
collin
a4a9ed05ea impl constraints and tests for multiple imports 2020-06-26 17:12:04 -07:00
collin
5900923d9d impl constraints for single imports 2020-06-26 15:42:52 -07:00
collin
b5d90b857b impl import package syntax for ast and types 2020-06-26 14:18:05 -07:00
collin
a8cbbee392 fix integer and field gadgets 2020-06-25 17:19:32 -07:00
collin
7233e55dc1 impl comparator gadgets for fields and integers 2020-06-25 15:58:37 -07:00
collin
cc8a3d9878 move integer enum and errors into compiler 2020-06-25 14:27:19 -07:00
collin
47ef6be719 set inputs size from bytes 2020-06-24 21:40:17 -07:00
collin
504480b3d7 serialize program into bytes file 2020-06-24 21:05:11 -07:00
collin
7bc52ada9e evaluate all indices to expressions 2020-06-24 16:57:15 -07:00
collin
f1e9df7c95 evaluate range bounds to rust usize type 2020-06-24 16:30:49 -07:00
collin
1fafbab5ee parse integer later in program. derive serde for basic program types 2020-06-24 16:02:20 -07:00
collin
5f0b3e2b0c parse boolean later in program 2020-06-24 15:33:05 -07:00
collin
0159b1c0cc remove print 2020-06-24 12:08:10 -07:00
collin
25a66d1f58 impl multiple returns and test 2020-06-23 23:56:51 -07:00
collin
2291cc51fd fix return type namespaces 2020-06-23 17:48:35 -07:00
collin
c2862c7a0c add formatting for cli errors 2020-06-22 23:20:55 -07:00
collin
5bc1bc022d add file path to formatted errors 2020-06-22 22:32:57 -07:00
collin
ea81f9bc98 add square root example 2020-06-22 21:39:24 -07:00
collin
2f3a51860b fix circuit name 2020-06-22 21:02:18 -07:00
collin
0a990bdb4e Merge branch 'master' of https://github.com/AleoHQ/language into fix/namespace 2020-06-22 18:35:10 -07:00
collin
5865149c06 fix index evaluation 2020-06-22 18:28:30 -07:00
collin
eeaf1b4ae8 remove unused compiler errors 2020-06-22 16:39:33 -07:00
collin
c513fd1626 reformat import errors 2020-06-22 16:28:12 -07:00
collin
8d93f3e079 fix conditional namespace conflict 2020-06-22 16:12:25 -07:00
collin
1dc79ef604 add unique namespaces to function calls 2020-06-22 15:42:46 -07:00
collin
cff3be9d01 add unique namespaces to statement gadget calls 2020-06-22 13:11:01 -07:00
collin
9f27d22486 remove non-formatted errors for program value 2020-06-20 20:40:17 -07:00
collin
d506158499 remove non-formatted errors for expressions 2020-06-20 20:17:04 -07:00
collin
632d98b284 remove non-formatted errors for primitive data types 2020-06-20 18:59:52 -07:00
collin
d1dfdcb878 fix boolean namespaces and errors 2020-06-20 18:43:45 -07:00
collin
03c6af2d46 fix group namespaces and errors 2020-06-20 18:14:08 -07:00
collin
172ab78497 fix field namespaces and errors 2020-06-20 17:49:09 -07:00
collin
f915cab9f2 fix conflicts 2020-06-20 16:37:34 -07:00
collin
2e02d0906c fix integer operation namespaces 2020-06-20 16:30:44 -07:00
collin
837a006e51 move error struct to types. fix integer namespaces 2020-06-20 15:24:46 -07:00
howardwu
d80734fbb5 Add a member_field_and_function test 2020-06-20 01:40:56 -07:00
howardwu
3df120f9d0 Rename identifier to circuit_name in Circuit type 2020-06-20 00:45:41 -07:00
collin
ec8a804654 uncomment tests, remove unused method 2020-06-19 23:21:55 -07:00
collin
9e93462f2b merge master 2020-06-19 23:16:12 -07:00
collin
82a0afc17e convert leo-inputs to span with errors. fix tests 2020-06-19 23:02:58 -07:00
howardwu
03b59b573b Update file extensions to new convention 2020-06-19 22:07:02 -07:00
collin
2743b23e1e convert functions to span with error 2020-06-19 21:49:42 -07:00
collin
f3e81184c1 convert expressions to span with error 2020-06-19 21:38:36 -07:00
collin
3d1fe9cc4b convert statements to span with error 2020-06-19 19:04:13 -07:00