Commit Graph

2074 Commits

Author SHA1 Message Date
KtorZ
6d7aec804c Update CHANGELOG.md 2023-07-05 18:58:21 +02:00
KtorZ
2a747305f7 Fixes evaluation of large positive bigint in the UPLC machine
Fixes #511.
2023-07-05 18:52:14 +02:00
Matthias Benkort
ecab155f9e Merge pull request #645 from cfcosta/update-actions-cache
chore: use magic-nix-cache instead of cachix
2023-07-05 18:33:30 +02:00
Matthias Benkort
82dc795ef1 Merge pull request #627 from aiken-lang/rvcas/parser_refactor
Parser Refactor
2023-07-05 18:32:48 +02:00
rvcas
e331b3449b chore: clippy fix 2023-07-05 12:06:03 -04:00
KtorZ
a306d6e9f2 Move chain and chained parsing into their own submodule
Alleviate a bit more the top-level expression parser. Note that we
probably need a bit more disciplined in what we export and at what level
because there doesn't seem to be much logic as for whether a parser is
private, exported to the crate only or to the wide open. I'd be in favor
of exporting everything by default.
2023-07-05 15:18:07 +02:00
KtorZ
4f6defcf3e rename: 'r' → 'expression' & 'seq_r' → 'sequence'
Better readability.
2023-07-05 14:42:14 +02:00
KtorZ
66296df9c3 Move parsing of literals under new 'literal' parser module group
Also moved the logic for 'int' and 'string' there though it is trivial. Yet, for bytearray, it tidies things nicely by removing them from the 'utils' module.
2023-07-05 14:37:29 +02:00
KtorZ
e15cdaf248 Move 'utils::bytearray' to 'expr/bytearray' 2023-07-05 14:10:47 +02:00
KtorZ
44eb501d78 Favor pattern-match over if-else when parsing assignment kinds
Equality on a union-type is potentially dangerous as the compiler won't
complain if we add a new case that we don't cover. Reversing the
assignment by yielding a `Token` for a given `AssignmentKind`. This way
we can use a pattern-match that got us covered for future cases.
2023-07-05 14:01:13 +02:00
KtorZ
93e010b345 Replace 'public' utils with a more generic 'optional_flag'
The 'public' util was arguably not really adding much except a layer of indirection.
  In the end, one useful parsing behavior to abstract is the idea of 'optional flag' that we use for both 'pub' and 'opaque' keywords.
2023-07-05 13:57:34 +02:00
rvcas
5e8edcb340 test(parser): finish moving tests to their correct modules 2023-07-04 17:48:48 -04:00
rvcas
47567c5e6f test(parser): some adjustments after rebase with @ktorz fix 2023-07-04 17:19:30 -04:00
rvcas
b25db429be test(parser): anon binop and ambiguous sequence 2023-07-04 17:19:30 -04:00
rvcas
8a6c81493c test(parser): record create 2023-07-04 17:19:30 -04:00
rvcas
a75bcff5c8 test(parser): type alias, anon fn, record update and more 2023-07-04 17:19:30 -04:00
rvcas
bd8c13c372 test(parser): move over the validator tests and some misc tests to parser 2023-07-04 17:19:29 -04:00
rvcas
6b05d6a91e test(parser): rename definitions to definition and more tests 2023-07-04 17:19:29 -04:00
rvcas
baf807ca2d test(parser): list spread 2023-07-04 17:19:29 -04:00
rvcas
44d0432560 test(parser): int list 2023-07-04 17:19:29 -04:00
rvcas
f9c099a923 test: add indoc to assert_expr macro 2023-07-04 17:19:29 -04:00
rvcas
715752718d test: assert_module 2023-07-04 17:19:29 -04:00
rvcas
da0b969865 test: adjust snapshots 2023-07-04 17:19:29 -04:00
rvcas
8a7df7f66b test: add empty list test 2023-07-04 17:19:29 -04:00
Cainã Costa
291dedf4e8 chore: refactor all parse tests to use assert_parse! 2023-07-04 17:19:28 -04:00
rvcas
f878ef7cef feat: move some token processing to the lexer 2023-07-04 17:19:28 -04:00
rvcas
2226747dc1 feat: finish splitting up parsers 2023-07-04 17:19:28 -04:00
Cainã Costa
63cdb8aa09 chore: add more details on snapshot tests
We added a macro to add more information about the code that is being
tested, so we can add lots and lots of small snapshot tests.
2023-07-04 17:19:28 -04:00
Cainã Costa
eeaa1a05d2 feat: add first code snapshot test with insta 2023-07-04 17:19:28 -04:00
Cainã Costa
58c854fd3f feat: add insta as dependency
We are going to start to add "golden"/snapshot tests, so we are using
[insta](https://insta.rs) to do so.
2023-07-04 17:19:28 -04:00
rvcas
eea94fc9a4 feat: move anon fn, let, and expect 2023-07-04 17:19:28 -04:00
rvcas
9c98fc8026 feat: start splitting apart expr_parser 2023-07-04 17:19:28 -04:00
rvcas
e3ed5d3b00 feat: move expr_parser and remove module.rs to definitions 2023-07-04 17:19:28 -04:00
rvcas
3339d41fdd feat: finish moving definitions and start exprs 2023-07-04 17:19:27 -04:00
rvcas
fc580d4fa0 feat(parser): move definitions to their own modules 2023-07-04 17:19:27 -04:00
rvcas
699467a876 [create-pull-request] automated change 2023-07-04 17:19:06 -04:00
KtorZ
49098d5a45 Bump miette to 5.9.0
No particular reason, but it's good to be up-to-date with our dependencies.
2023-07-04 16:51:59 -04:00
KtorZ
5a6cc855e6 Use byte count for token span in the lexer.
Somehow, miette doesn't play well with spans when using chars indices.
  So we have to count the number of bytes in strings / chars, so that
  spans align accordingly.
2023-07-04 16:51:59 -04:00
microproofs
67c072a1a9 test: add acceptance test 86
fix: prevent mutual recursion for expect type code gen functions
2023-07-04 12:24:25 -04:00
Matthias Benkort
841547dd6c Merge pull request #659 from SundaeSwap-finance/main
Mention nix develop in CONTRIBUTING.md
2023-07-04 15:13:58 +02:00
Pi Lanningham
28209bbe9e Update CONTRIBUTING.md
Co-authored-by: Matthias Benkort <5680256+KtorZ@users.noreply.github.com>
2023-07-04 08:33:15 -04:00
Pi Lanningham
fb021bdfd1 Mention nix develop in CONTRIBUTING.md 2023-07-04 00:41:45 -04:00
Pi Lanningham
12674c8c4c Added description to changelog
Closes #610
2023-07-01 16:17:10 -04:00
Pi Lanningham
c10f0e53df cargo fmt 2023-07-01 16:17:10 -04:00
Pi Lanningham
4a8cb72708 Add a blueprint policy command
Computes the policy ID of a minting policy; added guards for blueprint address to check that it's not a minting policy; Wasn't 100% sure where the errors should live, so I'm happy to move them if there's objections
2023-07-01 16:17:10 -04:00
microproofs
42544af799 fix: safe encode bits to check for 2^num_bits <= byte we are encoding
fix: I thought namedDeBruijn takes advantage of Binder for encoding and decoding.
It does not...
fix: Debruijn was being converted to NamedDeBruijn incorrectly
2023-06-30 23:06:38 -04:00
microproofs
d641f731b7 fix: needed a stricter check for expect_pattern func on discard pattern 2023-06-28 15:54:59 -04:00
Cainã Costa
592ece5e27 chore: use magic-nix-cache instead of cachix
This removes one dependency of the project, by moving the Nix cache
store into Github. There is no expected speed up, except for lower
latency between the actions runner and the cache store.
2023-06-28 11:06:33 -03:00
rvcas
1c7b8e0286 [create-pull-request] automated change 2023-06-23 22:11:18 -04:00
rvcas
90ff211205 chore: Release 2023-06-23 19:41:14 -04:00