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