Commit Graph

332 Commits

Author SHA1 Message Date
Pranav Gaddamadugu
4e9b382c55 Typecheck helper functions; add codegen support 2022-08-04 19:34:46 -07:00
Pranav Gaddamadugu
112cc64290 Refactor FunctionInput; removes unecessary code 2022-08-04 17:55:26 -07:00
Pranav Gaddamadugu
ac4cd71800 Reorganize ast/functions folder 2022-08-04 17:55:26 -07:00
Pranav Gaddamadugu
2b3bda7da7 Add Annotation to AST; enable parser support 2022-08-04 17:55:26 -07:00
Mazdak Farrokhzad
a77d3b4092 forbid unsafe_code in all crates 2022-08-05 00:36:41 +02:00
Mazdak Farrokhzad
6cc70015d8 remove all uses of unsafe 2022-08-05 00:21:11 +02:00
collin
13350da303 merge testnet3 2022-08-03 17:20:40 -07:00
collin
8fb2e60cb4 cargo fmt + clippy 2022-08-03 14:52:05 -07:00
collin
e5da76abaf impl nonce 2022-08-03 13:35:58 -07:00
Pranav Gaddamadugu
b20aed7d34 Add Rem, RemWrapped, and Mod to AST 2022-08-03 12:54:39 -07:00
collin
2cb40cebf0 patch group coordinate codegen 2022-08-01 14:30:05 -07:00
collin
dd8e1c1a4e impl and, or, bitand, bitor, bitxor, shl, shr assign parsing 2022-07-29 12:47:23 -07:00
collin
66c5deb7e3 merge testnet3 do not regen tests 2022-07-28 14:23:47 -07:00
Collin Chin
77b5a55788
Update compiler/ast/src/statements/conditional.rs 2022-07-28 14:01:54 -07:00
Pranav Gaddamadugu
3dc234325c Address feedback 2022-07-28 11:51:16 -07:00
Pranav Gaddamadugu
d11ed35c77 Addressing feedback 2022-07-28 09:24:33 -07:00
collin
184af219ee build and check aleo files during cargo test 2022-07-27 15:49:49 -07:00
Pranav Gaddamadugu
12e356c030 Integrate SSA pass with compiler 2022-07-23 10:29:13 -07:00
Pranav Gaddamadugu
a6feb314a7 Produce a valid record as input 2022-07-20 15:02:33 -07:00
collin
66b0fcc885 merge testnet3 regen tests 2022-07-18 15:33:40 -07:00
collin
4dc0df0084 merge testnet3 2022-07-18 14:13:31 -07:00
Pranav Gaddamadugu
63c910e892 Fix incomplete Display impl for Literal 2022-07-18 12:38:15 -07:00
Pranav Gaddamadugu
1b872576b2 Merge branch 'testnet3' into feat/loop-unrolling 2022-07-18 07:54:48 -07:00
collin
07028a31c8 clippy 2022-07-16 17:39:51 -07:00
collin
6aec344ed3 impl leo run foo to target program names 2022-07-16 17:38:07 -07:00
collin
7f14e02055 import codegen working 2022-07-15 23:36:36 -07:00
collin
0368b8bd51 clippy 2022-07-15 21:00:16 -07:00
collin
914a9c385e code gen for imports 2022-07-15 20:59:47 -07:00
Pranav Gaddamadugu
604b8cf992 Suppress dead_code warnings; these functions are used in constant folding 2022-07-15 08:55:58 -07:00
Pranav Gaddamadugu
bb0e8b0cf6 Removed unused code 2022-07-15 08:39:16 -07:00
Pranav Gaddamadugu
110c3eb35c Address more feedback 2022-07-15 01:50:14 -07:00
Pranav Gaddamadugu
86b5c9faa1 Fix errors from merge 2022-07-14 17:52:36 -07:00
Pranav Gaddamadugu
b6224d6d89 Merge branch 'testnet3' into feat/loop-unrolling 2022-07-14 17:51:34 -07:00
Pranav Gaddamadugu
923d5924fe Feedback from code review 2022-07-14 14:26:13 -07:00
Mazdak Farrokhzad
ce7ac0b443 run cargo clippy 2022-07-14 06:07:07 +02:00
Mazdak Farrokhzad
dab6629ac0 1. move tuple logic to typeck, 2. disallow multi vars in var decls 2022-07-14 06:07:05 +02:00
collin
7d604748bd add token transfer example, fix record cast codegen 2022-07-13 21:02:33 -07:00
collin
3d9c8dd0e4 add more examples, fix circuits as input 2022-07-12 21:43:19 -07:00
collin
0b81f03f3a move /leo/errors -> /errors 2022-07-12 16:41:42 -07:00
collin
6d731891d0 move /leo/span -> /compiler/span 2022-07-12 16:37:10 -07:00
collin
fa28678a26 impl leo run 2022-07-12 14:44:20 -07:00
Pranav Gaddamadugu
f5eea6b307 Regen expectations; cleanup 2022-07-11 23:07:11 -07:00
Pranav Gaddamadugu
bceccea80b Merge branch 'testnet3' into feat/loop-unrolling 2022-07-11 22:55:42 -07:00
Pranav Gaddamadugu
9a3fa41f9e Add loop unrolling pass to compiler 2022-07-11 21:57:48 -07:00
Pranav Gaddamadugu
6a032e7499 WIP value 2022-07-11 21:45:05 -07:00
collin
e013b88811 stabilize leo build 2022-07-11 21:09:27 -07:00
Pranav Gaddamadugu
ae13db1d4c Type checking fills in start/stop values for IterationStatement 2022-07-11 14:48:53 -07:00
collin
c719843223 impl program json, aleo build and run working 2022-07-11 14:10:22 -07:00
Pranav Gaddamadugu
3b76574a78 Add start, stop values for IterationStatement 2022-07-11 11:20:54 -07:00
Pranav Gaddamadugu
3d13e8b400 WIP value 2022-07-11 11:18:25 -07:00
Pranav Gaddamadugu
8bdf199ab1 Remove IntegerTypes and declare them explicitly in Type 2022-07-11 07:17:57 -07:00
Pranav Gaddamadugu
15959614d0 Refactor value into its own module 2022-07-10 17:54:12 -07:00
Pranav Gaddamadugu
6fbf96e12d Pull symbol_table/value.rs from improved-flattening 2022-07-10 09:45:53 -07:00
collin
a15fce710c merge testnet3 2022-07-09 16:51:20 -07:00
collin
1bcb9accec clippy 2022-07-09 15:38:11 -07:00
collin
2a61f26ccc impl tuple tests 2022-07-09 15:02:45 -07:00
collin
a7fc19a69f impl tuple ast access 2022-07-09 13:22:10 -07:00
collin
296c62a280 impl tuple type expression 2022-07-09 10:15:08 -07:00
Pranav Gaddamadugu
990b5a75da Rename LiteralExpression to Literal; more cleanup 2022-07-08 13:44:21 -07:00
Pranav Gaddamadugu
cf7bde5fab Clean up error 2022-07-08 13:43:28 -07:00
collin
a1c42a8d3f impl tuple type 2022-07-08 13:07:20 -07:00
collin
43db782ce2 remove Copy trait from Type enum 2022-07-08 12:22:25 -07:00
collin
de178522d8 impl Display for BinaryOperation, improve error message 2022-07-05 16:42:36 -07:00
Collin Chin
bf8ca5abc4
Merge pull request #1910 from AleoHQ/fix-doc
[ast] Fix two doc comments.
2022-07-02 17:16:37 -07:00
Alessandro Coglio
7549640764 [ast] Fix two doc comments. 2022-07-02 14:50:19 -07:00
collin
0a4069fe39 merge testnet3 2022-07-02 14:08:02 -07:00
Pranav Gaddamadugu
b08706a2ff Minor documentation 2022-07-01 13:22:01 -07:00
Pranav Gaddamadugu
a60439eb8a Removed old Visitor and Reducer files 2022-07-01 11:54:44 -07:00
Pranav Gaddamadugu
e6794a0dec Pull changes to compiler/ast/src/passes/reconstructor.rs from improved-flattening 2022-07-01 11:51:33 -07:00
Pranav Gaddamadugu
f1cd080d91 Pull changes to compiler/ast/src/passes/visitor.rs from improved-flattening 2022-07-01 11:50:59 -07:00
Mazdak Farrokhzad
952d7f4e36 records: base them atop circuits instead 2022-06-30 15:37:18 +02:00
collin
6933d5d9da cargo clippy 2022-06-27 09:44:49 -10:00
collin
df8ee1a1f9 fix type checking bugs 2022-06-26 15:13:58 -10:00
collin
21c6a2167a type check record init expressions 2022-06-26 10:46:32 -10:00
collin
18a74cfb85 type check record type declaration 2022-06-24 11:47:01 -10:00
collin
d45ab61e40 parse record type declaration 2022-06-23 22:34:18 -10:00
collin
9d0fd00072 add record type 2022-06-23 21:44:06 -10:00
collin
7417496eee merge testnet3 2022-06-22 21:42:00 -10:00
collin
4a80445bd8 test hashing u128 with ped64 fails 2022-06-22 21:29:04 -10:00
collin
0c89c1b5fb add circuit variable access and type check 2022-06-22 15:14:00 -10:00
collin
a79196c945 fix circuit type checking, addresses review comments 2/2 2022-06-21 19:37:23 -07:00
collin
d6e32788b4 rename static -> associated, addresses review comments 1/2 2022-06-21 18:30:10 -07:00
Mazdak Farrokhzad
7226659bf6 Value -> Literal 2022-06-21 17:12:34 +02:00
Mazdak Farrokhzad
ddbf2ae849 1. Speed up string literal lexing.
2. Move address check to parser.
3. Move assignment place WF check to type checker.
2022-06-21 17:07:44 +02:00
collin
99605f46a5 le, ge -> lte, gte 2022-06-20 13:24:20 -07:00
collin
bfd3a37a42 merge testnet3 2022-06-20 12:34:33 -07:00
collin
52395bba45 fix circuit type checking 2022-06-17 18:32:49 -07:00
collin
d527a88a3a impl core circuit instructions 2022-06-17 11:17:46 -07:00
gluax
b656fd5347 fix type checking on certain bitwise operations 2022-06-16 12:49:41 -07:00
collin
993b86e8c7 add circuit type parsing up to type checking 2022-06-15 16:08:05 -07:00
collin
3882ec2425 add circuit type to ast 2022-06-15 11:32:19 -07:00
collin
b2890f393a merge testnet3 2022-06-15 10:23:01 -07:00
Mazdak Farrokhzad
eee838abba fixes in special methods parsing 2022-06-15 14:51:44 +02:00
collin
6c759b7174 impl unary 2022-06-13 18:35:18 -07:00
gluax
2c9a91552c Merge branch 'testnet3' of github.com:AleoHQ/leo into feature/compiler-benchmarking 2022-06-12 09:26:30 -07:00
collin
4e3ed8d4dc regen tests 2022-06-10 13:02:16 -07:00
collin
f248827b37 impl binary operators WIP no tests 2022-06-09 16:47:31 -07:00
collin
9797175f16 remove method call expr and type checking 2022-06-09 13:07:30 -07:00
collin
a32418133c parse method calls directly 2022-06-09 13:01:59 -07:00
collin
5dba9cf07f impl method call type checking 2022-06-08 14:44:08 -07:00
gluax
f6990e75fc fixed some bugs 2022-06-08 06:46:54 -07:00
gluax
384a7b24b8 add back compiler options for asts, set up compiler benchmarking 2022-06-06 11:45:33 -07:00
collin
f0a1573058 impl method call expression parsing 2022-06-03 13:27:23 -04:00
collin
27c858a0fc merge testnet3 2022-06-02 11:33:11 -04:00
collin
85eb1adcce rename corelib -> core, update readme 2022-06-02 11:22:08 -04:00
collin
3b62e3cc97 fix bugs 2022-06-01 13:49:55 -04:00
gluax
2db204b81e further changes to the visitor pattern to clean up code 2022-05-30 10:53:06 -07:00
collin
a230bd1477 remove char 2022-05-26 16:53:57 -04:00
collin
3de06095ed cargo fmt 2022-05-26 16:48:34 -04:00
collin
2327bca617 implement static string type 2022-05-26 16:43:18 -04:00
gluax
044b2a10a4 refa:ctored visitor pattern to better on an the AST 2022-05-26 13:29:51 -07:00
collin
4d7540501f add string type to tokenizer + lexer 2022-05-26 16:13:03 -04:00
gluax
97ef64aa66 trying to modify visitor pattern to better fit type checking 2022-05-26 10:05:04 -07:00
gluax
4f30e6e896 add ident type back in 2022-05-25 15:56:44 -07:00
collin
8d79193474 merge testnet3 2022-05-25 14:02:10 -04:00
collin
4bc2fb10f4 cargo fmt 2022-05-24 13:39:08 -04:00
Collin Chin
c10e305366
Update type_.rs 2022-05-24 13:24:36 -04:00
collin
38d701851d clean up match 2022-05-24 12:49:38 -04:00
Collin Chin
944c5dcdd8
Update value.rs 2022-05-24 11:27:28 -04:00
gluax
eee58883a6 clean up and fix type set checking 2022-05-23 11:07:43 -07:00
collin
b8780e888d merge testnet3 2022-05-20 10:39:21 -04:00
Mazdak Farrokhzad
882f2e5454 remove char type + literals 2022-05-18 14:33:04 +02:00
Mazdak Farrokhzad
7f435eba48 remove expression statements 2022-05-17 14:41:30 +02:00
collin
f6aa7a578a merge testnet3 2022-05-13 12:33:35 -07:00
Mazdak Farrokhzad
8d915339a0 span refactor: fix build + simplify &span 2022-05-12 16:24:17 +02:00
Mazdak Farrokhzad
01a23f6e6e cargo clippy + similar 2022-05-12 16:12:31 +02:00
collin
455603f0a4 cargo fmt 2022-05-10 16:35:53 -07:00
collin
55260ae5ad add scalar type to ast 2022-05-10 15:34:42 -07:00
collin
c1d36ee62e remove const function code 2022-05-10 11:57:23 -07:00
gluax
2c252f7878 all current compiler tests pass, need to add more 2022-05-04 13:37:53 -07:00
gluax
9c8ac64871 expressions so far, and clean up, need to appropiately handle binary exprs 2022-05-04 09:27:00 -07:00
gluax
db6292609d refactor symbol variable to variable scope, create new symbol variable 2022-05-03 18:39:28 -07:00
gluax
d39ee31933 statements almost done, iteration statements causing issues 2022-05-03 17:33:46 -07:00
gluax
4612602807 type checking errors so far 2022-05-03 14:00:40 -07:00
gluax
1a25db8e23 start on type checking statements 2022-05-03 13:16:13 -07:00
gluax
4fb95d1195 initial commit for tc, adds get_type to Node 2022-05-03 11:26:56 -07:00
gluax
46bd62870d remove missed access file 2022-05-03 09:53:46 -07:00
gluax
a7c3696e90 merge testnet3 into required types, also remove identifier type 2022-05-02 19:43:46 -07:00
Collin Chin
4617c3ba35
Merge pull request #1777 from AleoHQ/fix-spelling
Fix typos uncovered by spell checker in VS Code.
2022-05-02 09:29:59 -07:00
Alessandro Coglio
653cc4a2a4 Fix typos uncovered by spell checker in VS Code. 2022-04-30 23:39:38 -07:00
collin
3da1ac802e reorder dependencies 2022-04-29 13:09:27 -07:00
gluax
f57396cf5f resolve pr comments 2022-04-29 10:50:33 -07:00
gluax
7e6cc65d54 change back to parse_input to reflect what we do for parse_program 2022-04-28 12:44:54 -07:00
gluax
8cb8c153fc call appropiate input parse function, make suggested changes 2022-04-28 12:26:05 -07:00
gluax
8c7fe53ff6 fix leo input parser bug 2022-04-27 11:52:06 -07:00
gluax
bd356e1f31 need to handle input differently than we used to 2022-04-27 09:14:59 -07:00
gluax
00282da748 merge upstream origin testnet3 2022-04-27 09:14:59 -07:00
gluax
22b20bdd6c handler shows all errors then causes an exit at the end 2022-04-27 09:14:59 -07:00
gluax
5ec3a24cf8 initial commit 2022-04-27 09:14:59 -07:00
gluax
124e6b2e9b
[Impl] Ast Visitor (#1769)
* visitor pattern

* merge upstream, regen grammar readme

* rename reducer to passes

* update comments to properly reflect visitor

* fmt and clippy fixes

* fix comments

Co-authored-by: collin <16715212+collinc97@users.noreply.github.com>
2022-04-22 16:05:50 -07:00
collin
f89966fe32 merge testnet3 2022-04-21 14:37:33 -07:00
Alessandro Coglio
d2cca18f07 [AST] Update doc comment to not mention Pest grammar. 2022-04-20 22:07:33 -07:00
gluax
c8b44141eb fix some span and input parsing issues 2022-04-18 11:33:43 -07:00
Mazdak Farrokhzad
31fcc2f216 parser: store (prev_)token 2022-04-13 22:20:48 +02:00
gluax
cfc5b00bad add constant keyword, only used for params 2022-04-10 23:10:55 -07:00
gluax
016b669a8d make fields not public 2022-04-07 11:18:58 -07:00
gluax
a5b692a765 merge upstream testnet3 2022-04-06 10:25:26 -07:00
gluax
cc5552c7ef make suggested changes 2022-04-06 10:20:43 -07:00
gluax
4c7903f5c3 remove tendril dep and cmpd assignments 2022-04-05 11:24:34 -07:00
gluax
16914e3ce8 remove private keyword 2022-04-05 09:27:39 -07:00
gluax
f6aa32da35 parse input changes for private public const 2022-04-04 14:51:46 -07:00
gluax
76070a8795 intial adding of public and private params 2022-04-04 14:14:17 -07:00
gluax
27921a61e6 tuples removed 2022-03-28 10:35:36 -07:00
gluax
95d508566f remove circuit access 2022-03-28 07:54:29 -07:00
gluax
877674230a remove aliases and gcs 2022-03-28 07:47:05 -07:00
gluax
78b04ff000 remove as and imports 2022-03-28 07:42:23 -07:00
gluax
ef4b3787a9 remove arrays 2022-03-28 07:31:53 -07:00
gluax
401c6a6d4d remove annotation and static access 2022-03-28 07:04:29 -07:00
gluax
414e288735 remove self and Self 2022-03-28 06:47:19 -07:00
gluax
d37f9f29c2 remove circuits 2022-03-28 06:32:55 -07:00
gluax
398e6f5469 merge upstream testnet3 2022-03-28 06:21:17 -07:00
gluax
9391a31569 realized raw strings don't play nicely for testing strings 2022-03-16 12:27:11 -07:00
gluax
3d1cc9a735 most things moved to a char parser 2022-03-15 14:53:42 -07:00
gluax
2c30cba70f remove parened field 2022-03-14 07:58:51 -07:00
gluax
86000325bf remove option types in rest of places, clean up canonicalization 2022-03-08 12:58:32 -08:00
gluax
eaf0a82154 merge testnet3 2022-03-08 10:24:36 -08:00
gluax
19c27518cc require loop type 2022-03-07 08:18:16 -08:00
gluax
85efd764a6 require types on definition statements 2022-03-07 08:05:42 -08:00
collin
1a45295372 remove redundant array dimension struct 2022-03-04 13:06:22 -08:00
collin
10bea676a8 remove unsized arrays 2022-03-04 12:23:46 -08:00
collin
22f605349c merge testnet3 2022-02-28 09:42:37 -08:00
collin
e263e64279 restructure compiler and delete unused code 2022-02-22 15:12:52 -08:00