Commit Graph

332 Commits

Author SHA1 Message Date
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
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
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
collin
84c0a82008 add string type to tokenizer + lexer 2022-05-26 15:55:37 -04:00
gluax
4f30e6e896 add ident type back in 2022-05-25 15:56:44 -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
Mazdak Farrokhzad
620b3525d4 misc parser tweaks 2022-05-24 16:48:58 +02: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
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
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 Chin
be9fa96d9e
Merge pull request #1786 from AleoHQ/feature/type-checking
[Impl] type-checking
2022-05-10 11:17:44 -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
4fb95d1195 initial commit for tc, adds get_type to Node 2022-05-03 11:26:56 -07:00
gluax
a7c3696e90 merge testnet3 into required types, also remove identifier type 2022-05-02 19:43:46 -07:00
collin
3da1ac802e reorder dependencies 2022-04-29 13:09:27 -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
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
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
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
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
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