Commit Graph

2010 Commits

Author SHA1 Message Date
collin
3d9c8dd0e4 add more examples, fix circuits as input 2022-07-12 21:43:19 -07:00
collin
c0e968206b fix examples 2022-07-12 18:30:55 -07:00
collin
266fdd7a5e fix readmes and licenses 2022-07-12 16:46:42 -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
ca0c34ea42 remove unused wasm package 2022-07-12 16:31:19 -07:00
collin
a9992bc6d4 remove unused code 2022-07-12 16:19:58 -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
1ce796a586 Regenerate test expectations 2022-07-11 22:45:59 -07:00
Pranav Gaddamadugu
5f8a1df05f Add output/benching for loop unrolling 2022-07-11 22:13:13 -07:00
Pranav Gaddamadugu
9a3fa41f9e Add loop unrolling pass to compiler 2022-07-11 21:57:48 -07:00
Pranav Gaddamadugu
639a719e4d WIP loop unrolling 2022-07-11 21:46:34 -07:00
Pranav Gaddamadugu
1a9941022c Rename type_checker to type_checking 2022-07-11 21:46:15 -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
collin
c5849f26af Merge branch 'testnet3' of https://github.com/AleoHQ/leo into code-gen 2022-07-11 15:19:14 -07:00
Collin Chin
bbdf04e999
Merge pull request #1929 from AleoHQ/dependabot/cargo/testnet3/serde_yaml-0.8.25
Bump serde_yaml from 0.8.24 to 0.8.25
2022-07-11 15:17:12 -07:00
Collin Chin
a9fd9a0c2d
Merge pull request #1928 from AleoHQ/dependabot/cargo/testnet3/serde-1.0.139
Bump serde from 1.0.138 to 1.0.139
2022-07-11 15:16:59 -07:00
Pranav Gaddamadugu
7537fb1af2 Pull passes/src/flattening from improved-flattening 2022-07-11 14:53:41 -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
collin
608d29a81c clippy 2022-07-11 11:58:31 -07:00
collin
426941ac8c fix associated function calls 2022-07-11 11:56:38 -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
collin
1d0dd0781d impl codegen for return tuples 2022-07-11 11:08:01 -07:00
Pranav Gaddamadugu
dbfd9a7451 Better error for address comparison; regen test expectations 2022-07-11 07:49:52 -07:00
Pranav Gaddamadugu
641c98b69e Use refactored types in parsing and tyc 2022-07-11 07:19:00 -07:00
Pranav Gaddamadugu
8bdf199ab1 Remove IntegerTypes and declare them explicitly in Type 2022-07-11 07:17:57 -07:00
dependabot[bot]
8abc3685be
Bump serde_yaml from 0.8.24 to 0.8.25
Bumps [serde_yaml](https://github.com/dtolnay/serde-yaml) from 0.8.24 to 0.8.25.
- [Release notes](https://github.com/dtolnay/serde-yaml/releases)
- [Commits](https://github.com/dtolnay/serde-yaml/compare/0.8.24...0.8.25)

---
updated-dependencies:
- dependency-name: serde_yaml
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-11 10:23:35 +00:00
dependabot[bot]
1d2d345573
Bump serde from 1.0.138 to 1.0.139
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.138 to 1.0.139.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.138...v1.0.139)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-11 10:23:20 +00: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
ed79f5c957 merge return-tuple branch 2022-07-09 20:55:30 -07:00
collin
d59cff0844 cargo fmt 2022-07-09 16:58:36 -07:00
collin
a15fce710c merge testnet3 2022-07-09 16:51:20 -07:00
collin
270dffb140 regen tests 2022-07-09 16:23:54 -07:00
collin
1bcb9accec clippy 2022-07-09 15:38:11 -07:00
collin
aff2db67da check that returned tuple types are valid 2022-07-09 15:13:42 -07:00
collin
2a61f26ccc impl tuple tests 2022-07-09 15:02:45 -07:00
collin
642ad32e99 parse tuple access 2022-07-09 14:11:18 -07:00
collin
a7fc19a69f impl tuple ast access 2022-07-09 13:22:10 -07:00
collin
9e422599a0 impl tuple parsing 2022-07-09 12:39:50 -07:00
collin
296c62a280 impl tuple type expression 2022-07-09 10:15:08 -07:00
Pranav Gaddamadugu
8ab98c9434 Refactor emitter to reduce the number of into invocations; more cleanup 2022-07-08 14:10:54 -07:00
Pranav Gaddamadugu
e7f4a41410 Better error for missing member on circuit init 2022-07-08 13:45:00 -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
Pranav Gaddamadugu
0358a5f4da Fmt 2022-07-08 13:43:28 -07:00
collin
a1c42a8d3f impl tuple type 2022-07-08 13:07:20 -07:00
Pranav Gaddamadugu
f31accb04e Cleanup; type checking for Circuit Member Access 2022-07-08 12:56:58 -07:00
collin
43db782ce2 remove Copy trait from Type enum 2022-07-08 12:22:25 -07:00
Pranav Gaddamadugu
00b90c4a33 Merge branch 'testnet3' into feat/redesign-symbol-table 2022-07-08 11:57:40 -07:00
collin
b5a2790375 rename balance -> gates 2022-07-07 16:15:11 -07:00
collin
4d809e82a6 cargo fmt 2022-07-07 15:18:13 -07:00
collin
b461539ae3 use refactored methods in type checking, regen tests 2022-07-07 13:22:59 -07:00
collin
f892fe1a57 refactor type checker for removal of Copy trait 2022-07-07 12:20:34 -07:00
collin
95c2f66c5a clippy 2022-07-06 20:49:05 -07:00
Pranav Gaddamadugu
3136a6ccca Remove TODO 2022-07-06 17:29:57 -07:00
Pranav Gaddamadugu
52671c9328 Documentation for SymbolTable pass 2022-07-06 17:10:18 -07:00
Pranav Gaddamadugu
9b7d9a96b7 Fmt, clippy 2022-07-06 16:16:19 -07:00
Pranav Gaddamadugu
12eafa4174 Regenerate test expectations without symbol_table 2022-07-06 16:10:59 -07:00
Pranav Gaddamadugu
80ff280df7 Remove symbol table from OutputItem; clippy 2022-07-06 16:08:29 -07:00
Pranav Gaddamadugu
027bd24cd5 Integrate passes into compiler 2022-07-06 16:08:29 -07:00
Pranav Gaddamadugu
2a2a65b416 Make type checking pass compatible with current implementation of SymbolTable 2022-07-06 16:08:29 -07:00
Pranav Gaddamadugu
bd1b8251c2 Remove SymbolTable functionality associated with flattening 2022-07-06 16:08:03 -07:00
Pranav Gaddamadugu
24f38721d6 Pull changes to compiler/passes/symbol_table from improved-flattening; remove unused files 2022-07-06 16:08:03 -07:00
collin
dc9063de5a update snarkvm rev 2022-07-06 14:47:52 -07:00
collin
f3b87b5ccb cargo fmt 2022-07-06 14:36:23 -07:00
collin
ade332442a impl codegen for testnet3 2022-07-06 00:48:54 -07:00
Collin Chin
6b5f9a3926
Merge pull request #1913 from AleoHQ/no-cmp-address
Removes <, <=, >, >= for address type
2022-07-05 21:46:31 -07:00
collin
de178522d8 impl Display for BinaryOperation, improve error message 2022-07-05 16:42:36 -07:00
dependabot[bot]
ea7e0248c5
Bump serde from 1.0.137 to 1.0.138
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.137 to 1.0.138.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.137...v1.0.138)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-04 10:21:10 +00:00
collin
dd75133e22 clippy 2022-07-02 18:49:13 -07:00
collin
c16a93ab44 removes <, <=, >, >= for address type 2022-07-02 18:15:18 -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
ecc1fff7fd cargo fmt 2022-07-02 14:08:17 -07:00
collin
0a4069fe39 merge testnet3 2022-07-02 14:08:02 -07:00
collin
07288e4662 update licenses 2022-07-02 13:47:53 -07:00
Pranav Gaddamadugu
b08706a2ff Minor documentation 2022-07-01 13:22:01 -07:00
Pranav Gaddamadugu
62d2de8c95 Refactor type checking pass to be compatible with new Visitor pattern 2022-07-01 12:45:40 -07:00
Pranav Gaddamadugu
7b5632be90 Refactor SymbolTable creation pass to be compatible with new Visitor pattern 2022-07-01 12:02:38 -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
91fd8ff1b2
fix typo 2022-07-01 00:03:26 +02:00
Mazdak Farrokhzad
952d7f4e36 records: base them atop circuits instead 2022-06-30 15:37:18 +02:00
collin
a58edee122 cargo clippy 2022-06-27 12:50:23 -10: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
5ee2858b0a add tests and remove dead code 2022-06-22 22:38:33 -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
4400545543 add all core circuit tests 2022-06-22 21:19:26 -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
b4e8a773df simplify bidi override logic 2022-06-21 17:12:36 +02:00
Mazdak Farrokhzad
1d92e07fdf simplify tokenize_iter 2022-06-21 17:12:36 +02:00
Mazdak Farrokhzad
2c194b8e57 reduce work for string literals bidi check 2022-06-21 17:12:36 +02:00
Mazdak Farrokhzad
8b3e87889f cargo clippy 2022-06-21 17:12:36 +02: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
6366f44762 AVM evaluate wip 2022-06-20 16:41:21 -07:00
collin
88aa7c478e enable codegen 2022-06-20 14:31:00 -07:00
collin
bb7c41ffad merge prototype/code-gen 2022-06-20 14:21:28 -07:00
collin
f7a55de9a6 lt, gt, lte, gte for address 2022-06-20 13:25:40 -07:00
collin
99605f46a5 le, ge -> lte, gte 2022-06-20 13:24:20 -07:00
collin
23ba8bc40c check field type for square_root 2022-06-20 13:18:11 -07:00
collin
d4171de577 check signed ints for abs and abs.w 2022-06-20 13:15:13 -07:00
collin
811eaadc98 remove poseidon prfs 2022-06-20 13:06:47 -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
5a0186b93d cargo fmt 2022-06-17 15:42:09 -07:00
collin
26810a15ae impl bhp, pedersen, poseidon instructions 2022-06-17 15:37:48 -07:00
collin
d527a88a3a impl core circuit instructions 2022-06-17 11:17:46 -07:00
gluax
c9ab4bd3d7 add bitwise op parsing, fix tests 2022-06-16 15:40:48 -07:00
gluax
b656fd5347 fix type checking on certain bitwise operations 2022-06-16 12:49:41 -07:00
gluax
2181672b60 had to fix function calls after previous changes 2022-06-16 12:03:24 -07:00
gluax
a40d025d18 clean up of parsing method call fixs 2022-06-16 11:36:50 -07:00
gluax
33fe8ebbc2 fixes bug #1877 to make debugging easier, fixes parsing of method calls 2022-06-16 11:33:16 -07:00
collin
b9f8bafc91 pull latest testnet3 2022-06-15 16:52:49 -07:00
collin
26f04e2eaf core circuit wip 2022-06-15 16:50:21 -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
0e59e9bcf9 fix cmp type checking 2022-06-14 10:55:59 -07:00
collin
6c759b7174 impl unary 2022-06-13 18:35:18 -07:00
collin
831e011f42 use more clear type checking methods 2022-06-13 14:53:01 -07:00
gluax
2c9a91552c Merge branch 'testnet3' of github.com:AleoHQ/leo into feature/compiler-benchmarking 2022-06-12 09:26:30 -07:00
gluax
3a056220ff doing some recommended changes 2022-06-12 09:26:14 -07:00
collin
02e3313d59 add docs for type checking and fix bugs 2022-06-10 17:21:33 -07:00
collin
32f0c96b6f impl shl shr tokens and type checking 2022-06-10 16:33: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
0e0ec362f1 cargo fmt 2022-06-09 13:24:01 -07:00
collin
1b4e37e66e fix symbol index bug 2022-06-09 13:16:54 -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
gluax
36440719fb resolve merge conflicts 2022-06-09 12:46:59 -07:00
gluax
540fdccffe Update abnf, and give docs over parser keywords 2022-06-09 12:45:52 -07:00
gluax
ba7aef7f1e merge conflicts fix 2022-06-09 12:35:26 -07:00
gluax
4607f2955a add some more checks and namespaces for benchmarks, docs 2022-06-09 12:23:57 -07:00
collin
df08cd1e26 order dependencies 2022-06-08 14:47:34 -07:00
collin
5dba9cf07f impl method call type checking 2022-06-08 14:44:08 -07:00
gluax
5ce5102a37 the rest of the test-framework rework and clean up start 2022-06-08 14:06:25 -07:00
gluax
3c7de6e389 some compiler lib cleanup 2022-06-08 10:53:41 -07:00
gluax
f6990e75fc fixed some bugs 2022-06-08 06:46:54 -07:00
0rphon
d43fd813f7 fixed compiler benchmarks 2022-06-08 00:20:09 -07:00
d0cd
86d7cb99dd Prettier bytecode printing 2022-06-07 11:13:11 -07:00
d0cd
472ff794a6 Integrate prototype into compiler passes 2022-06-07 10:01:13 -07:00
gluax
9aae2faff6 remove input file 2022-06-07 09:22:16 -07:00
d0cd
f2e0ba7dcd Initial prototype for code gen 2022-06-07 09:13:57 -07:00
gluax
384a7b24b8 add back compiler options for asts, set up compiler benchmarking 2022-06-06 11:45:33 -07:00
0rphon
0af9622cd9 replaced structopt with clap 2022-06-06 11:00:08 -07:00
collin
f0a1573058 impl method call expression parsing 2022-06-03 13:27:23 -04:00
Collin Chin
18b71d225b
Merge pull request #1857 from AleoHQ/more-tyc-bug-fixes
[Fix] Type Checking Bugs
2022-06-03 12:09:12 -04:00
gluax
8ad69944c0 bug fixes 2022-06-02 09:39:49 -07:00
collin
d419e3b7d8 merge testnet3 2022-06-02 11:51:46 -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 Chin
59ffe66363
Merge branch 'testnet3' into issue-1841 2022-06-01 22:51:44 -04:00
gluax
9638a695aa fix more bugs, add type checking 2022-06-01 11:16:00 -07:00
collin
3b62e3cc97 fix bugs 2022-06-01 13:49:55 -04:00
gluax
ace7005ea7 fmt 2022-06-01 09:26:18 -07:00
gluax
220cb3e730 rename stdlib -> corelib 2022-06-01 09:09:38 -07:00
Alessandro Coglio
ad43c50902 Remove remnant mentions on tendril.
Rename a function.

Rename two variables.

Update some comments.

Remove a README entry that is no longer there.
2022-05-31 22:24:17 -07:00
gluax
0ce4639a1b merge upstream, test builtin ident types 2022-05-31 10:34:57 -07:00
Mazdak Farrokhzad
6399f873f5 improve error for '&' not followed by '&' 2022-05-31 16:28:01 +02:00
Mazdak Farrokhzad
c623165742 simplify Token::eat 2022-05-31 16:16:15 +02:00
gluax
1da03e728b add checks for ident types being allowed built in types 2022-05-30 11:29:00 -07: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
collin
84c0a82008 add string type to tokenizer + lexer 2022-05-26 15:55:37 -04:00
gluax
94d96f156f fix span for group scalar errors, use suggested doc comment 2022-05-26 10:09:34 -07:00
gluax
97ef64aa66 trying to modify visitor pattern to better fit type checking 2022-05-26 10:05:04 -07:00
gluax
bc174419f7 start adding the new core types 2022-05-25 16:19:56 -07:00
gluax
4f30e6e896 add ident type back in 2022-05-25 15:56:44 -07:00
gluax
2117ee3ae8 resolve readme conflict 2022-05-25 11:55:23 -07:00
collin
e34c35f1b0 merge testnet3 2022-05-25 14:28:03 -04:00
collin
65408acbb5 fix lexer test 2022-05-25 14:10:15 -04:00
collin
8d79193474 merge testnet3 2022-05-25 14:02:10 -04:00
gluax
936360793c slight clean up & handle grammar readme 2022-05-25 10:45:25 -07:00
gluax
8cb4b19e66 merge upstream changes 2022-05-25 09:21:47 -07: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
c62f876765 type checker clean up and add docs 2022-05-24 12:11:55 -04:00
Collin Chin
944c5dcdd8
Update value.rs 2022-05-24 11:27:28 -04:00
Mazdak Farrokhzad
620b3525d4 misc parser tweaks 2022-05-24 16:48:58 +02:00
gluax
ca3fb11bc3 fmt fix 2022-05-23 19:01:07 -07:00
gluax
1cd7aad6ad fix #1819 2022-05-23 18:55:42 -07:00
gluax
65d237e25f fix last error double printing for error collection 2022-05-23 18:14:36 -07:00
gluax
ba4f1666d1 fix #1821 2022-05-23 18:00:33 -07:00
gluax
eee58883a6 clean up and fix type set checking 2022-05-23 11:07:43 -07:00
collin
d0273719ab push broken type checker 2022-05-23 11:40:14 -04:00
collin
b8780e888d merge testnet3 2022-05-20 10:39:21 -04:00
collin
119c191836 merge testnet3 2022-05-18 14:29:54 -04:00
Collin Chin
4ce11080b5
Merge pull request #1825 from AleoHQ/fix-loop-end-inclusive
[parser] Fix to disallow inclusive loop ending bound.
2022-05-18 14:17:32 -04:00
Mazdak Farrokhzad
4237a52696 simplify eat_identifier 2022-05-18 14:46:45 +02: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
Alessandro Coglio
b1baf90719 [parser] Adhere to style. 2022-05-16 21:27:29 -07:00
Alessandro Coglio
1761b80578 [parser] Fix to disallow including loop ending bound.
This is not part of the current version of Leo (cf. ABNF grammar and Leo
Reference).

Adapt tests.
2022-05-16 21:24:42 -07:00
Alessandro Coglio
4989c50409 [parser] Attempt to fix style check. 2022-05-14 00:03:55 -07:00
Alessandro Coglio
21616fe167 [parser] Remove the input keyword.
This is also not in the current grammar, and it does not look like it is going
to be re-added.
2022-05-13 23:50:33 -07:00
Alessandro Coglio
2fbaf759db [parser] Remove mut and type keywords.
As discussed, these are no longer in the grammar. If and when we need them, we
will re-add them.

This also removes some extra code that gives a specific error when mut is
used. However, that is in fact another bug, because `mut` is a valid identifier
in the current grammar, and thus this extra code unjustly rejects code that uses
`mut` as an identifier.

Adjust some tests and expectations.
2022-05-13 23:36:08 -07:00
collin
f6aa7a578a merge testnet3 2022-05-13 12:33:35 -07:00
collin
bacc0d7510 merge testnet3 2022-05-12 13:18:43 -07:00
collin
c8de6826c2 preserve char scalar nonscalar 2022-05-12 13:16:25 -07:00
Mazdak Farrokhzad
8d915339a0 span refactor: fix build + simplify &span 2022-05-12 16:24:17 +02:00
Mazdak Farrokhzad
0e5402773a span refactor: fix rebase fallout 2022-05-12 16:17:53 +02:00
Mazdak Farrokhzad
508a95b2ba span refactor: improve comment 2022-05-12 16:12:32 +02:00
Mazdak Farrokhzad
8bf06ed872 add remark re. parser benchmarks 2022-05-12 16:12:32 +02:00
Mazdak Farrokhzad
2d6e737f7e span refactor: fix bench 2022-05-12 16:12:32 +02:00
Mazdak Farrokhzad
01a23f6e6e cargo clippy + similar 2022-05-12 16:12:31 +02:00
Mazdak Farrokhzad
a5ad874ffb spans: use source map backing 2022-05-12 16:09:18 +02:00
collin
8f17d6294a rename scalar -> primitive 2022-05-11 14:09:12 -07:00
Alessandro Coglio
62f2267c2b [parser] Fix parsing of ordering expressions.
Follow the grammar rule. The ordering operators are not associative.

Split previous tests into succeeding and failing ones.

Refresh expectations of old test files.

Add expectations of new test files.
2022-05-10 23:32:46 -07:00
collin
455603f0a4 cargo fmt 2022-05-10 16:35:53 -07:00
collin
60f6b77629 add scalar operation type checking 2022-05-10 16:26:35 -07:00
collin
55260ae5ad add scalar type to ast 2022-05-10 15:34:42 -07:00
collin
9fe4a7281b add scalar type to parser 2022-05-10 15:20:04 -07:00
collin
c1d36ee62e remove const function code 2022-05-10 11:57:23 -07:00
collin
cca3c84ef4 remove unused imports code and tests 2022-05-10 11:22:30 -07:00
Collin Chin
80ca99a2f1
Merge pull request #1785 from AleoHQ/dependabot/cargo/testnet3/serde_yaml-0.8.24
Bump serde_yaml from 0.8.23 to 0.8.24
2022-05-10 11:17:55 -07:00
Collin Chin
be9fa96d9e
Merge pull request #1786 from AleoHQ/feature/type-checking
[Impl] type-checking
2022-05-10 11:17:44 -07:00
collin
45056ec27b spelling 2022-05-10 11:06:59 -07:00
gluax
ab57ea1d34 fmt compiler test 2022-05-05 15:49:08 -07:00
gluax
d33e69bac8 re-introduce some disabled tests, fix some 2022-05-05 15:38:55 -07:00
collin
214f6bf5d7 make comments consistent 2022-05-04 15:44:41 -07:00
gluax
e03af95ff6 change output format, st doesn't change bc of input file 2022-05-04 15:43:07 -07:00
gluax
b97bf4c9bc started going through deprecated tests, noticed parts of testframework were broken 2022-05-04 15:37:59 -07:00
gluax
67fd130c0c had to handle negation of signed integers 2022-05-04 14:50:33 -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
dependabot[bot]
4ad5c9892c
Bump serde_yaml from 0.8.23 to 0.8.24
Bumps [serde_yaml](https://github.com/dtolnay/serde-yaml) from 0.8.23 to 0.8.24.
- [Release notes](https://github.com/dtolnay/serde-yaml/releases)
- [Commits](https://github.com/dtolnay/serde-yaml/compare/0.8.23...0.8.24)

---
updated-dependencies:
- dependency-name: serde_yaml
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-04 10:28:55 +00:00
gluax
5cb4a5d8c0 run tests so far, fix statements so far 2022-05-03 19:32:59 -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
039a71359c merge upstream testnet3, update grammar readme 2022-05-03 15:20:45 -07:00
gluax
4612602807 type checking errors so far 2022-05-03 14:00:40 -07:00
Collin Chin
a1335f56e8
Merge pull request #1780 from AleoHQ/dependabot/cargo/testnet3/serde-1.0.137
Bump serde from 1.0.136 to 1.0.137
2022-05-03 13:28:24 -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
dependabot[bot]
de791e0742
Bump serde from 1.0.136 to 1.0.137
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.136 to 1.0.137.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.136...v1.0.137)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-02 16:24:16 +00: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
7524a325bf fix grabbing last error 2022-04-27 12:31:24 -07:00
gluax
8c7fe53ff6 fix leo input parser bug 2022-04-27 11:52:06 -07:00
gluax
8c86407b91 cleaning up tests, fixed compiler bug, found input parse bug 2022-04-27 11:44:05 -07:00
gluax
8275b63e57 display for symbol table 2022-04-27 09:14:59 -07:00
gluax
0fc6d17289 some clean up to compiler to be able to better test 2022-04-27 09:14:59 -07:00
gluax
bd356e1f31 need to handle input differently than we used to 2022-04-27 09:14:59 -07:00
gluax
ae5fbef58a start setting up compiler tests again 2022-04-27 09:14:59 -07:00
gluax
00282da748 merge upstream origin testnet3 2022-04-27 09:14:59 -07:00
gluax
e0c94b8f15 add clear method 2022-04-27 09:14:59 -07:00
gluax
c36023a3d6 exit if any errors were emitted 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
Collin Chin
23fca6af47
Merge pull request #1751 from AleoHQ/abnf-bidi-overrides
[ABNF] disallow bidi override codepoints
2022-04-20 09:34:00 -07:00
collin
15660a3ed7 cargo fmt 2022-04-19 14:01:01 -07:00
Eric McCarthy
4fa12a0b33 [lexer] return error if bidi override code point seen in comment, character, or string 2022-04-19 13:00:10 -07:00
gluax
98c7ced6fe merge upstream testnet3 2022-04-19 12:58:28 -07:00
Collin Chin
645b5a2be7
Merge pull request #1750 from AleoHQ/address-check
Address check
2022-04-19 12:56:27 -07:00
Collin Chin
f002637d73
Merge pull request #1748 from AleoHQ/parser-refactor
Parser: store current + previous tokens
2022-04-19 12:55:46 -07:00
gluax
7b849b620c Merge branch 'parser-refactor' of github.com:AleoHQ/leo into feature/warnings 2022-04-19 12:47:06 -07:00
Mazdak Farrokhzad
267fda05e7 simplify parse_assign_statement 2022-04-19 14:11:09 +02:00
gluax
54c936cc61 leo warnings, disable unused errors for now 2022-04-18 14:06:28 -07:00
gluax
c8b44141eb fix some span and input parsing issues 2022-04-18 11:33:43 -07:00
Collin Chin
cd8ac3b8d2
remove unused code and dependencies (#1749) 2022-04-13 17:08:45 -07:00
collin
065f16a93b cargo fmt 2022-04-13 15:25:35 -07:00
collin
f53817c5f5 implement real address literal check 2022-04-13 15:21:08 -07:00
collin
b6fb3d0a36 remove unused code and dependencies 2022-04-13 14:28:01 -07:00
Mazdak Farrokhzad
b955b77ac2 parser: minor cleanup + span fix 2022-04-13 22:52:53 +02:00
Mazdak Farrokhzad
66efa91b08 simplify parse_function_parameter_mode 2022-04-13 22:27:56 +02:00
Mazdak Farrokhzad
31fcc2f216 parser: store (prev_)token 2022-04-13 22:20:48 +02:00
Mazdak Farrokhzad
4ac64710b5 lazify lexer 2022-04-13 21:05:17 +02:00
gluax
ba993b3a83 match pattern cleanup 2022-04-12 13:13:02 -07:00
gluax
198ceee536 fix token and constant pairing 2022-04-12 12:22:52 -07:00
gluax
168080942b better match pattern for catching more error situations 2022-04-12 11:52:12 -07:00
gluax
9f79ca7169 allow const but throw a recoverable error 2022-04-12 11:46:35 -07: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
3936e6c202 doc new fn, test updates 2022-04-06 10:23:20 -07:00
gluax
cc5552c7ef make suggested changes 2022-04-06 10:20:43 -07:00
gluax
3a85223e22 adjust tests 2022-04-05 11:38:21 -07:00
gluax
4c7903f5c3 remove tendril dep and cmpd assignments 2022-04-05 11:24:34 -07:00
gluax
a675b81c0a change tests 2022-04-05 09:36:22 -07:00
gluax
16914e3ce8 remove private keyword 2022-04-05 09:27:39 -07:00
gluax
6aa6b0fa07 add parsing input to compiler 2022-04-04 15:52:05 -07:00
gluax
80d97416cb fixes and correct tests 2022-04-04 15:31:08 -07:00
gluax
f6aa32da35 parse input changes for private public const 2022-04-04 14:51:46 -07:00
gluax
ffa2705a4e remove empty inputs files 2022-04-04 14:18:34 -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
7ad500b344 remove uneeded circuit syms 2022-03-28 06:53:22 -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
4e7d02dbe1 make suggested changes, also forgot to accept dead code removal from upstream 2022-03-17 12:36:49 -07:00
gluax
34e1b39805 some cleanup 2022-03-16 15:04:49 -07:00
gluax
790c282e8b merge upstream testnet3 2022-03-16 13:56:55 -07:00
0rphon
9ef1b8f73a forgot to remove some comments 2022-03-16 13:07:52 -07:00
gluax
0e7d36a61c current tests pass 2022-03-16 13:02:56 -07:00
gluax
9391a31569 realized raw strings don't play nicely for testing strings 2022-03-16 12:27:11 -07:00
0rphon
82ce58544b fixed ci 2022-03-15 17:15:08 -07:00
gluax
5034294d09 tokenizing almost working 2022-03-15 17:13:02 -07:00
gluax
3d1cc9a735 most things moved to a char parser 2022-03-15 14:53:42 -07:00
0rphon
7c049177cb Merge branch 'testnet3' into improve-parser-tests 2022-03-14 16:36:16 -07:00
0rphon
1604f10115 re-enabled tests, removed fuzzing hooks 2022-03-14 16:29:34 -07:00
gluax
e484d5124f comment fixes 2022-03-14 08:16:58 -07:00
gluax
8e0a59dc5d fmt 2022-03-14 08:12:29 -07:00
gluax
ef8d0415e7 change parens around variable into recoverable error 2022-03-14 08:12:03 -07:00
gluax
9a45c2ae99 fix array around 1 element array dim size 2022-03-14 08:07:01 -07:00
gluax
2c30cba70f remove parened field 2022-03-14 07:58:51 -07:00
0rphon
3c258bf3a4 code cleanup, added tests, marked dangerous code for review 2022-03-09 15:16:52 -08:00
gluax
377c65be21 fix issues from fixing a panic 2022-03-09 12:08:15 -08:00
gluax
a227e7c113 add tests, fix namespaces on older tests, fix another bug 2022-03-09 11:11:30 -08:00
gluax
91c0f5ae9d resolve some error messages panicing 2022-03-09 09:46:07 -08: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
0rphon
39ea7a3ceb Merge branch 'testnet3' into improve-parser-tests 2022-03-08 00:57:32 -08:00
Collin Chin
5e2ba78750
Merge pull request #1656 from AleoHQ/remove/unsized-array
Remove/unsized array
2022-03-07 17:14:03 -08:00
gluax
a778faf8ff remove implicits, this makes arrays not work with implicit 2022-03-07 12:20:15 -08:00
Collin Chin
11b4a2702a
Merge pull request #1655 from AleoHQ/bug/misc-parser-discrep-bugs
[Fix] Mix Parser bugs & discreps
2022-03-07 12:19:09 -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
gluax
060c13dd8d clippy fix 2022-03-04 11:21:42 -08:00
gluax
789862103e another char bug fix 2022-03-04 11:18:28 -08:00
gluax
308512fab9 add tests 2022-03-04 10:26:34 -08:00
gluax
85764aa394 fix self discrep 2022-03-04 10:03:42 -08:00
gluax
bd1d602f6d fix annotation error msg 2022-03-04 09:28:29 -08:00
0rphon
7d2cbb2ec2 done with coverage
finished coverage tests. adding case by case tests from the parser fuzzer next
2022-03-02 14:13:37 -08:00
collin
54beb505c3 fix spelling typo 2022-03-02 12:19:22 -08:00
0rphon
9d1714d779 Merge remote-tracking branch 'origin/testnet3' into improve-parser-tests 2022-03-01 12:00:10 -08:00
gluax
736c6af72d a bunch of parser bug fixes so far 2022-02-28 14:45:32 -08:00
collin
9ff0d3fed3 move tools/test-framework -> tests/test-framework 2022-02-28 10:29:05 -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
damirka
239f06b3af removes leo_input mentions, cleanup dep 2022-02-22 03:10:50 +03:00
damirka
aa61840eb6 Merge branch 'testnet3' into leo-parser-inputs 2022-02-22 02:59:54 +03:00
gluax
305ef16883 clippy fix 2022-02-16 10:17:10 -08:00
gluax
1377d60f07 test canonicalization 2022-02-16 10:10:26 -08:00
gluax
2ea3709441 fix compiler panicing 2022-02-16 10:00:41 -08:00
damirka
0878e4f85f single parser, multi purpose 2022-02-15 20:54:00 +03:00
collin
b31071777b stabilize leo-package 2022-02-07 11:37:57 -05:00
collin
316c2d2592 compiler module builds 2022-02-03 11:59:42 -08:00
collin
fa2becfb1d update snarkvm rev + cargo update 2022-02-02 14:58:01 -08:00
collin
eca7a4ea53 reorder dependencies 2022-01-27 12:57:52 -08:00
collin
31f90a9032 deprecate blake2s 2022-01-25 13:31:02 -08:00
gluax
ea419a7891 migrate spans crate, which involves rust 2021 ed, and dep updates 2022-01-21 12:04:37 -08:00
collin
34a0b4e9b0 clippy 2022-01-17 16:30:08 -08:00
collin
6ccb8ef6b2 update snarkvm rev 2022-01-17 16:07:31 -08:00
collin
0425a92c2b feature: update to latest snarkvm rev 2022-01-11 16:22:34 -08:00
0rphon
849fa85a28 updated all dependencies to latest snarkvm version 2021-10-25 13:48:53 -07:00
damirka
e56a1aedaa fixes PartialEq use in circuit member assign 2021-10-19 10:43:19 +02:00
Eric McCarthy
e2ba64b79d
Merge pull request #1362 from AleoHQ/feature/remove-span-snapshot
Feature/remove span snapshot
2021-09-30 15:33:18 -07:00
Pranav Gaddamadugu
ffae3b39ff Fixed JSON order bug in AST on removal of values 2021-09-29 07:56:28 -07:00
damirka
a1aa5326ad fixes eq for arrays with unspecified size 2021-09-28 11:09:56 +03:00
Pranav Gaddamadugu
242e34279d Add default for build options 2021-09-24 18:03:23 -07:00
Pranav Gaddamadugu
a128d367ff Resolving conflicts with master 2021-09-24 17:40:07 -07:00
Pranav Gaddamadugu
f754f89c6e Updated test-framework/.../tgc.rs to remove spans from AST; changed compiler test options to disable spans 2021-09-23 09:11:09 -07:00
Mazdak Farrokhzad
3ad7d2fdb2 cleanup courtesy of clippy 2021-09-23 17:06:48 +02:00
Pranav Gaddamadugu
2edb794c8b Passing no-span serialization tests in parser 2021-09-22 11:54:58 -07:00
Pranav Gaddamadugu
1521a4a84d Refactored code so all filtering logic is in AST 2021-09-22 10:58:21 -07:00
Pranav Gaddamadugu
a9746cb756 Refactor to previous function name: 2021-09-21 09:32:31 -07:00
Pranav Gaddamadugu
798c3f0eb6 Refactored code to pull out JSON value serialization; preferring this option since it preserves test expectations 2021-09-20 20:48:16 -07:00
Pranav Gaddamadugu
074587f4d2 Added original code to verify that test expectations do not change 2021-09-20 20:28:52 -07:00
Pranav Gaddamadugu
3cc9367d09 Fixed unhandled case in 2021-09-20 20:00:07 -07:00
Pranav Gaddamadugu
5f22a21f47 Implemented option to remove from serialized AST 2021-09-20 19:21:52 -07:00