Commit Graph

323 Commits

Author SHA1 Message Date
Collin Chin
e06e9b9ce6
Merge branch 'master' into alloc_hunting 2020-10-21 00:51:22 -07:00
Collin Chin
c871de27c0
Merge pull request #393 from ljedrz/ast_perf
Change the AST benchmark to a more stable one, remove an unnecessary clone
2020-10-21 00:39:31 -07:00
Collin Chin
93f0f8a17b
Merge branch 'master' into pest_test 2020-10-20 23:40:45 -07:00
collin
f30f615655 impl dynamic checker definition statements 2020-10-20 13:14:16 -07:00
ljedrz
a65ff7d820 perf: reduce boxing when parsing the AST
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-19 12:26:45 +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
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
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
845671547f perf: don't clone the whole iterator while parsing expressions
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-14 14:26:11 +02:00
ljedrz
07743b2d75 bench: change the AST bench to a much more complex one
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-14 13:44:59 +02:00
ljedrz
88bd491684 test: add extra AST pest tests
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-14 12:35:04 +02:00
ljedrz
d1ee66a747 feat(ast): handle the empty tuple type
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-14 12:22:31 +02:00
ljedrz
e2f0848773 fix(ast): disallow single-member tuples
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-14 11:01:51 +02:00
ljedrz
88cdbd4fe6 refactor(ast): remove the expression_tuple indirection from access_call
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-14 10:50:26 +02:00
ljedrz
0ccaea86f7 test: introduce AST pest tests
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-14 10:37:39 +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
ljedrz
919c1dcada clippy: fix single_match
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-06 12:50:43 +02:00
ljedrz
b8e22e0c96 clippy: fix write_with_newline
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-05 17:18:29 +02:00
ljedrz
4f46dd2982 clippy: allow module_inception
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-05 17:18:25 +02:00
collin
3708c54362 make assignee rule more strict during pest parsing 2020-09-16 14:27:44 -07:00
collin
9ed64a6627 fix conflicts 2020-09-10 16:44:25 -07:00
collin
5e4877e778 fix static call nested and test 2020-09-07 21:56:39 -07:00
collin
59570002f2 mutable self wip 2020-09-05 22:03:02 -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
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
9a6cfbdd7a impl Self keyword protected name 2020-09-02 20:48:20 -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 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
b1a886640e impl parenthesis syntax for array initializer 2020-09-02 15:01:37 -07:00
collin
16f3cbd3dd rename circuit_field -> circuit_variable in ast 2020-09-02 14:07:19 -07:00
Howard Wu
feaac9a3b9
Merge pull request #327 from AleoHQ/refactor/conditional-statement
Simplify pest grammar rule for conditional statements
2020-09-02 13:41:30 -07:00
Howard Wu
cb3fcf1d1e
Merge pull request #326 from AleoHQ/refactor/array-initializer
Restrict pest grammar rule for array initializers
2020-09-02 13:40:55 -07:00
collin
52f20a0d03 simplify grammar rule for conditional statements 2020-09-02 12:28:54 -07:00
collin
0edad533fb restrict grammar rule for array initializers 2020-09-02 12:19:43 -07:00
collin
7a0dc342fb impl array-type in ast 2020-09-02 09:03:22 -07:00
howardwu
bf82bf4d1b chore(leo): bump version for new release 2020-08-28 23:26:19 -07:00
howardwu
194f1daf42 Update Cargo.toml 2020-08-28 22:08:37 -07:00
howardwu
12971b9cbb Update Cargo.toml 2020-08-27 01:33:00 -07:00
collin
098ca28231 use tracing in ast 2020-08-21 16:40:34 -07:00
howardwu
94411aaabf add bench path 2020-08-21 02:56:38 -07:00
howardwu
4da4fc4344 Update cargo.toml 2020-08-21 02:54:04 -07:00
howardwu
0405ff4f89 Bump version and repair Leo update description 2020-08-19 03:00:30 -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
b34b5f4a03 add group number syntax to pest ast 2020-08-18 12:46:29 -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
ddfe8fa08a merge master 2020-08-17 01:12:16 -07:00
collin
47523f7f5d start porting tests over 2020-08-16 17:20:47 -07:00
collin
f3ee68be2b impl console functions in typed 2020-08-16 14:28:19 -07:00
collin
34d09df92e impl console functions in pest ast 2020-08-16 13:22:18 -07:00
collin
5efa131c65 impl test context with test inputs 2020-08-15 22:09:22 -07:00
collin
384e9e6cfd impl annotations pest ast 2020-08-15 18:36:39 -07:00
collin
172431c222 impl new group notation for inputs ast + typed 2020-08-15 16:45:43 -07:00
collin
0226c09e4d impl new group notation pest 2020-08-15 14:35:45 -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
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
be84004d66 fix group tuple conflict 2020-08-10 19:52:52 -07:00
collin
79846ab565 support nested tuple types 2020-08-10 19:45:03 -07:00
collin
a84875ea68 add tuple to typed 2020-08-10 16:36:16 -07:00
collin
0671b36550 add tuple access to pest 2020-08-10 16:03:14 -07:00
collin
0e00cbc422 clean up comments 2020-08-10 15:51:39 -07:00
collin
474c81a3ab remove multi_assignment rule and add lists to pest 2020-08-10 15:45:19 -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
f6d3267b37 fix address rule and remove println 2020-08-07 16:02:49 -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
599c886d23 add formatting for unary expression 2020-08-07 15:05:00 -07:00
collin
cbf4e1b806 add compound atomic rules to access rules in pest 2020-08-06 12:36:50 -07:00
collin
6627837042 remove unnecessary value in expression term 2020-08-06 12:17:10 -07:00
collin
3d1edefedb add definition parsing to typed. add tests 2020-08-05 22:45:52 -07:00
collin
4550573213 add definition rule to pest 2020-08-05 20:56:49 -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
1c1822b4ff refactor ast values 2020-08-05 14:02:39 -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
Howard Wu
5635736130
Merge pull request #154 from AleoHQ/feature/array-size
Adds positive number rule to array size
2020-08-04 19:11:33 -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
3b9fb73191 Merge branch 'master' of github.com:AleoHQ/leo into fix/pest-statement 2020-08-03 23:22:54 -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
collin
ddcf2c0b09 fix leo test to run tests in isolation 2020-08-03 19:51:41 -07:00
collin
febdf51ca5 use positive_integer rule for array type and array initializer size 2020-08-03 14:50:18 -07:00
collin
f49d04c126 require addresses to contain at least one character in pest 2020-08-03 11:55:49 -07:00
collin
9eca8f83b4 fix pest statement rule 2020-08-03 11:30:47 -07:00
howardwu
b81129db67 Adds benchmarks for serialization 2020-08-02 20:33:05 -07:00
howardwu
3ccfd2c764 Adds ci_skip 2020-08-02 19:57:28 -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
00c10870e2 Implements working typed ast serialization 2020-08-01 21:50:47 -07:00
collin
fb45ac7498 rename inputs -> input 2020-07-31 19:39:30 -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
a858b37fe0 merge master fix conflicts 2020-07-30 18:30:56 -07:00
howardwu
5bd6ab78b9 Refactor compiler to have a separate typed ast infrastucture 2020-07-29 01:12:17 -07:00
howardwu
6a199d1256 Add test for span 2020-07-28 22:54:32 -07:00
howardwu
d440c2b57e Update documentation 2020-07-28 22:36:10 -07:00
howardwu
d3894ff546 Adds AST JSON generator 2020-07-28 22:26:28 -07:00
howardwu
47bfd2e096 Adds serialization of Leo AST for unit testing and rformal verification 2020-07-28 21:18:43 -07:00
collin
9fc9e16367 parse main, record, registers, state, state_leaf types to compiler input 2020-07-28 16:57:03 -07:00
collin
929ea95fe2 Merge branch 'master' of github.com:AleoHQ/leo into feature/signed-integer-syntax 2020-07-16 20:37:41 -07:00
collin
6f2e468771 update protected names 2020-07-16 01:06:29 -07:00
collin
2f39ecdbc3 impl infra for i type tests 2020-07-15 21:31:23 -07:00
collin
d30d72d76e impl i8 i16 i32 i64 i128 for leo-inputs 2020-07-15 20:28:22 -07:00
collin
5ccda0750a add i8 i16 i32 i64 i128 types 2020-07-15 19:32:55 -07:00
collin
d4d8550a15 update protected names in pest 2020-07-14 16:50:14 -07:00
collin
3a53b91632 fix operator precedence 2020-07-14 13:43:39 -07:00
collin
cd38e3a476 println -> print. update readme 2020-07-09 18:55:53 -07:00
howardwu
86d53cb1c1 Merge branch 'master' of https://github.com/AleoHQ/leo into feature/macros 2020-07-09 15:29:58 -07:00
collin
364e7684ac add println, debug, error to leo-types 2020-07-09 01:39:13 -07:00
collin
82a98e1867 add println, debug, error macros to pest 2020-07-09 00:03:45 -07:00
collin
0d55483321 allow newlines in function def 2020-07-08 22:08:20 -07:00
collin
502b78a52a macro wip 2020-07-08 20:40:48 -07:00
collin
aa708b8084 fix value.field bug 2020-07-08 03:30:15 -07:00
collin
965bdc4d6a fix import module 2020-07-07 21:05:03 -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
87db0508f4 impl return tuples and update tests 2020-07-07 10:11:23 -07:00
collin
ce90dd8660 fix iteration pest bug 2020-07-06 05:05:48 -07:00
collin
d3c0dbb80c impl tests for address type 2020-07-06 04:59:06 -07:00
collin
f1030117ee add address type to leo-ast and leo-types 2020-07-06 01:47:07 -07:00
collin
d905ffd569 impl importing from package lib, file, directory, and star 2020-06-29 17:47:59 -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
457a1b26bc add comma to circuit member field def 2020-06-29 13:05:41 -07:00
collin
b8292e3fd9 require spacing after keywords 2020-06-29 12:08:18 -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
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
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
howardwu
c9d3f8615e Change circuit_definition to circuit in leo.pest 2020-06-20 00:58:04 -07:00
collin
a5a8ba74de fix imports 2020-06-17 19:25:13 -07:00
collin
7248814ac7 impl let/const for circuits and value wrappers 2020-06-16 09:49:45 -07:00
collin
b423e532cb let and const wip 2020-06-15 18:25:33 -07:00
collin
c77e6a51b3 remove visibility syntax and functionality 2020-06-15 13:38:07 -07:00
howardwu
837d107a54 cargo fmt 2020-06-07 23:30:39 -07:00
howardwu
1fa0bc8ffa Restricts ast.rs visibility 2020-06-07 22:24:09 -07:00
howardwu
85ccf1b423 Introduces LeoParser, removes pest for leo-compiler 2020-06-07 22:21:31 -07:00
howardwu
b9baafd57f Migrates integer, identifier, and input_value 2020-06-07 18:22:59 -07:00
howardwu
54b531c27f Rename function components 2020-06-07 17:28:10 -07:00
howardwu
a380d83c75 Migrate functions 2020-06-07 17:22:22 -07:00
howardwu
e08ec6f9e9 Migrate assignee 2020-06-07 17:12:16 -07:00
howardwu
eb5c3864a7 Migrate assignee 2020-06-07 17:05:21 -07:00
howardwu
6d9d92dcaf Migrate spread and range 2020-06-07 17:00:00 -07:00
howardwu
720dfeefca Migrate access 2020-06-07 02:43:56 -07:00
howardwu
507a084d7f Migrates variable 2020-06-07 02:28:18 -07:00
howardwu
d13326af98 Migrate circuits 2020-06-07 02:23:24 -07:00
howardwu
34a64412b5 Migrate expressions 2020-06-07 02:03:16 -07:00
howardwu
ed010a3209 Minor fix 2020-06-07 01:28:10 -07:00
howardwu
6d03a6a48f Migrates statements 2020-06-07 01:26:35 -07:00
howardwu
aecd771d53 Migrates imports 2020-06-07 01:04:35 -07:00
howardwu
85f38d3ed0 Migrates group value 2020-06-07 00:54:48 -07:00
howardwu
ad0a9c5381 Adds statements directory, moves for statement 2020-06-07 00:49:29 -07:00
howardwu
47bcb069ba Migrates boolean value 2020-06-07 00:47:09 -07:00
howardwu
103a12f7ab Split ast into operations, types, and values 2020-06-07 00:41:13 -07:00
howardwu
7f566782e3 Refactors SyntaxError to leo-ast 2020-06-06 23:23:26 -07:00
howardwu
a72a333877 Migrates ast to leo-ast module 2020-06-06 23:17:40 -07:00