Commit Graph

297 Commits

Author SHA1 Message Date
d0cd
5e331bbf36 Cleanup 2023-02-05 12:46:20 -08:00
ljedrz
b20308f049
chore: update the license headers (#2252)
Signed-off-by: ljedrz <ljedrz@gmail.com>
2023-02-02 14:27:06 -08:00
collin
d7b1b9ca56 chore(leo): bump version for new release 2022-12-12 19:31:56 -05:00
collin
1e01a3a686 chore(leo): bump version for new release 2022-11-30 13:40:52 -08:00
Collin Chin
3f2df5389c
use cargo workspace for dependencies (#2195) 2022-11-30 13:31:33 -08:00
d0cd
8986be33e8
Create common module; move pass data structures (#2173)
Co-authored-by: collin <16715212+collinc97@users.noreply.github.com>
2022-11-23 15:05:05 -05:00
collin
44bca58821 chore(leo): bump version for new release 2022-11-14 18:56:09 -08:00
d0cd
6621ba1bec Update install docs to include troubleshooting guide 2022-11-02 21:44:32 -07:00
d0cd
df01360010 Clippy 2022-10-24 22:41:10 -07:00
dependabot[bot]
c5dfd9278a
Bump abnf from 0.12.0 to 0.13.0
Bumps [abnf](https://github.com/duesee/abnf) from 0.12.0 to 0.13.0.
- [Release notes](https://github.com/duesee/abnf/releases)
- [Changelog](https://github.com/duesee/abnf/blob/main/CHANGELOG.md)
- [Commits](https://github.com/duesee/abnf/commits/v0.13.0)

---
updated-dependencies:
- dependency-name: abnf
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-24 10:18:05 +00:00
Alessandro Coglio
42b4268152 [ABNF] Remove initial blank line (!). 2022-09-28 10:27:46 -07:00
Alessandro Coglio
8e9a16a183 [ABNF] Mark the grammar as moved to the new repo. 2022-09-28 10:24:01 -07:00
Alessandro Coglio
ef83c6fde7 [ABNF] Add async keyword.
Matches https://github.com/AleoHQ/leo/pull/2088.
2022-09-22 23:56:48 -07:00
Alessandro Coglio
f6b3870769 [ABNF] Improve a rule name.
Rename `end-of-line-comment` to the shorter `line-comment`, which is also
consistent with the ABNF gramar of Aleo instructions.
2022-09-17 21:26:09 -07:00
collin
4e05840bf5 bump ci rust version to 1.63 2022-09-16 18:19:20 +02:00
collin
834ea300aa bump ci rust version to 1.65 2022-09-16 18:17:10 +02:00
collin
6c18565700 too new of rust version for actions 2022-09-16 17:51:15 +02:00
collin
2e24f82f21 Update rust versions 2022-09-16 17:32:20 +02:00
Alessandro Coglio
ea3b919b9d Merge with testnet3. 2022-09-15 17:21:02 +08:00
Alessandro Coglio
d0ba8defbd [ABNF] Add name to finalizer. 2022-09-15 17:20:21 +08:00
Alessandro Coglio
02ad2a390d [ABNF] Fix typo in rule that excludes bidi chars.
The 2070 should have been 206A all along.
2022-08-29 12:44:34 -07:00
Alessandro Coglio
460a46f115 [ABNF] Add mappings.
As discussed on Notion and Slack.
2022-08-27 16:58:19 -07:00
d0cd
297128af6d
Merge pull request #2024 from AleoHQ/abnf-console
[ABNF] Revise console statements.
2022-08-18 16:28:29 -07:00
Pranav Gaddamadugu
eb4ee1428c Cleanup out dated docs 2022-08-18 15:45:30 -07:00
Alessandro Coglio
eab2e4466d [ABNF] Revise console statements.
Add `console.assert_eq` and `console.assert_neq`.

Remove `console.log` and `console.error`.

Remove the format string grammar, since it was only used for console print
calls, which have been removed.

This matches #2023.
2022-08-17 21:45:40 -07:00
Alessandro Coglio
ce2d8f8a51 [ABNF] Add annotations.
This is to match the recent introduction of the `@program` annotation for
external functions (i.e. functions that may be called externally, passing to
them inputs through the input files).

This PR adds not just that annotation, but a more general notion of annotation
as a new kind of token of the form `@<identifier>`, and with the ability to
precede each function declaration with zero or more such annotations.

The fact that it has been added as a token to the lexical grammar, means that
there cannot be any whitespace or comments between the `@` and the identifier.
If that is undesired, we can add it to the syntactic grammar instead, defining
an annotation as consisting of the (new) symbol token `@` followed by an
identifier token.

We can of course extend annotations with arguments at some point, if needed.
2022-08-09 20:45:54 -07:00
collin
5f0a6573a5 Merge branch 'testnet3' of github.com:AleoHQ/leo into remove-unsafe 2022-08-05 11:52:09 -07:00
Alessandro Coglio
79bef6627a [ABNF] Add compound assignments. 2022-08-04 21:01:05 -07:00
Mazdak Farrokhzad
a77d3b4092 forbid unsafe_code in all crates 2022-08-05 00:36:41 +02:00
d0cd
140c2b31ad
Create operators.md 2022-08-03 12:04:39 -07:00
Alessandro Coglio
f5b62e913b [ABNF] Add the remainder operator. 2022-07-28 14:25:01 -07:00
d0cd
9bd4db47fb
Merge pull request #1962 from AleoHQ/grammar-add-record-name-and-inner-rule
[grammar] add missing record name identifier; factor circuit-componen…
2022-07-24 21:53:24 -07:00
Eric McCarthy
9756714fd2 [grammar] add missing record name identifier; factor circuit-component-declarations into separate grammar rule 2022-07-23 23:32:17 -07:00
Alessandro Coglio
949aac14db [ABNF] Generalize input type. 2022-07-23 21:05:19 -07:00
d0cd
2a9cc42493
Merge pull request #1950 from AleoHQ/remove-unused-errors
Remove unused errors
2022-07-23 10:28:04 -07:00
Alessandro Coglio
ba6c239964 [ABNF] Add inclusive loop bound.
This is now part of the Leo compiler, so we need to update the grammar
accordingly.
2022-07-21 13:35:39 -07:00
Alessandro Coglio
f93ed1b15f [ABNF] Fix rule for circuit declarations.
The identifier had been neglected.
2022-07-20 18:36:23 -07:00
Mazdak Farrokhzad
db42194d49 remove unused errors 2022-07-20 20:19:00 +02:00
collin
1e5142a8a2 prepare for testnet3 as repo branch 2022-07-18 18:28:23 -07:00
Alessandro Coglio
97d26a879a [ABNF] Actually exclude 1-tuples.
Thanks to @bendyarm for noticing and reporting this.
2022-07-11 21:38:05 +02:00
Alessandro Coglio
9c3d2e0941 [ABNF] Add tuples.
This adds tuple types, tuple expressions (which build tuples from components),
and tuple component expressions (which access tuple components).

Based on previous discussions on this topic, 1-tuples are excluded. This
exclusion is done at the grammar level, since it is the kind of requirement that
is easily captured in a context-free grammar.
2022-07-10 18:28:31 +02:00
Alessandro Coglio
6bfe530922 [ABNF] Improve some rule names.
Based on a recent discussion on Slack, and on some related slight terminological
changes in the documentation of the Aleo instructions, this commit similarly
improves the Leo nomenclature for expressions involving the logical operators.

The attribute 'bitwise' for `&` and `|` and `^` has been dropped, since the
operations also operate on booleans besides integers.

Given that the operation and method names `or` and `xor` for inclusive and
exclusive disjunctions (as opposed to `ior` and `xor`), the unqualified
'disjunction' now refers to the inclusive one.

The non-strict `&&` and `||` are now called 'conditional' (as done in other
languages), and thus the ternary one has been expanded to 'conditional ternary'.

This does not change the Leo language; it just improves the nomenclature derived
from the grammar.
2022-07-04 15:45:11 -07:00
Alessandro Coglio
884d46abe4 [ABNF] Revert previous accidentally pushed commit. 2022-07-04 15:36:43 -07:00
Alessandro Coglio
c35b977207 [ABNF] Improve some rule names.
Based on a recent discussion on Slack, and on some related slight terminological
changes in the documentation of the Aleo instructions, this commit similarly
improves the Leo nomenclature for expressions involving the logical operators.

The attribute 'bitwise' for `&` and `|` and `^` has been dropped, since the
operations also operate on booleans besides integers.

Given that the operation and method names `or` and `xor` for inclusive and
exclusive disjunctions (as opposed to `ior` and `xor`), the unqualified
'disjunction' now refers to the inclusive one.

The non-strict `&&` and `||` are now called 'conditional' (as done in other
languages), and thus the ternary one has been expanded to 'conditional ternary'.

This does not change the Leo language; it just improves the nomenclature derived
from the grammar.
2022-07-04 15:26:10 -07:00
Eric McCarthy
71bd874b69 [abnf grammar] fix a few typos 2022-07-02 22:34:50 -07:00
collin
0a4069fe39 merge testnet3 2022-07-02 14:08:02 -07:00
Collin Chin
9e2641b321
Merge pull request #1885 from AleoHQ/core-circuits
Core circuits
2022-06-27 09:08:26 -10:00
Alessandro Coglio
557cdf15c3 [ABNF] Add syntax for record types. 2022-06-27 11:26:34 -07:00
Alessandro Coglio
f8f944da39 [ABNF] Add forgotten symbols.
These are for the recently added shift and bitwise logical operators. They
should have been also included in the rule `symbol` for symbol tokens. This
commit remedies that.
2022-06-25 15:24:53 -07:00
Alessandro Coglio
93e9686972 [ABNF] Prohibit empty circuits.
These would flatten to nothing, component-wise.

This requirement actually slighly simplifies the grammar, avoiding the `[ ... ]`
around the circuit component declarations (in a circuit declaration) or the
circuit component initializers (in a circuit expression).
2022-06-23 21:13:24 -07:00