Commit Graph

309 Commits

Author SHA1 Message Date
collin
82e13edbbe pass mutable reference to circuit variable when 'mut self' keyword is present 2020-12-01 10:12:50 -05:00
collin
74f7749462 pass circuit members into function by value when self keyword is present 2020-11-30 17:54:41 -05:00
collin
efe734afaf add input, self, mut self keyword functionality to ast module 2020-11-23 14:49:20 -05:00
collin
2c72156370 add input keyword objects to ast module 2020-11-23 12:10:58 -05:00
collin
db056b9383 Merge branch 'master' of github.com:AleoHQ/leo into feature/type-inference 2020-11-16 18:08:14 -08:00
collin
848adfa6dd clippy use .any 2020-11-12 16:34:49 -08:00
collin
8c2823410a rename leo ast -> ast 2020-11-12 12:00:27 -08:00
collin
74b346f3e6 remove deprecated names from comments and variables 2020-11-11 12:47:54 -08:00
collin
05a83950e5 bump versions fix conflicts 2020-11-11 12:04:48 -08:00
collin
a29bdbdef2 add check for empty arrays in array initializers 2020-11-10 17:04:55 -08:00
collin
33fae17b35 clippy lints 1 2020-11-10 16:23:55 -08:00
collin
2bb17b496b rename struct alias Ast -> Grammar in ast module 3 2020-11-10 13:34:55 -08:00
collin
cc8337853c rename struct alias Ast -> Grammar in ast module 2 2020-11-10 13:32:25 -08:00
collin
9c9f29c496 rename struct alias Ast -> Grammar in ast module 1 2020-11-10 13:27:43 -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
aa17355a72 fix refactored array initializer tests wip 1 2020-11-09 14:27:59 -08:00
howardwu
0d966d1d5c chore(leo): bump version for new release 2020-11-06 19:56:12 -08:00
collin
1ae66d9908 add support for refactored array initializer in compiler 2020-11-06 19:42:07 -08:00
collin
d7ff808660 add support for refactored array type in compiler 2020-11-06 16:24:38 -08:00
collin
6f3a235c76 Refactor symbol table array type comparison 2020-11-02 13:28:56 -08:00
collin
cfb3cb7344 Refactor array type parsing 2020-11-02 12:11:53 -08:00
collin
2fdcb043fc Improve doc comments for compiler phases 2020-11-02 09:19:11 -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
61f4189483 Add documentation for renamed modules 2020-10-30 16:23:18 -07:00
Howard Wu
63335c00e6
Merge pull request #404 from AleoHQ/fix/examples
Fix/examples
2020-10-28 18:04:47 -07:00
Howard Wu
2d931d3e3a
Merge pull request #373 from AleoHQ/feature/license-header
add license header check and missing licenses
2020-10-28 16:52:27 -07:00
collin
fe79cfcf71 merge master 2020-10-26 22:05:03 -07:00
collin
4a746e4a81 cargo fmt license headers 2020-10-21 12:21:40 -07:00
collin
82c3d66847 remove required space after subtraction operator 2020-10-21 11:44:57 -07:00
ljedrz
115b7f2266 test: fix a few CI warnings
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-21 17:26:51 +02:00
ljedrz
5fbbf5e978 perf: don't clone the pest iterator when parsing
Signed-off-by: ljedrz <ljedrz@gmail.com>
2020-10-21 11:12:25 +02:00
Collin Chin
61556cca29
Merge pull request #399 from ljedrz/boxing_improvements
Boxing improvements
2020-10-21 02:10:18 -07:00
collin
3870cf785d fix box accesses 2020-10-21 01:32:09 -07:00
Collin Chin
3c0409da16
Merge branch 'master' into boxing_improvements 2020-10-21 00:51:49 -07:00
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