Commit Graph

217 Commits

Author SHA1 Message Date
Alessandro Coglio
f26114afa5 [ABNF] Make ** right-associative.
As agreed on Slack.
2021-04-09 13:01:59 -07:00
damirka
45986d598c adds %s to abnf converter and md 2021-04-08 10:45:04 +03:00
Collin Chin
68419f4e10
Merge pull request #835 from AleoHQ/feature/abnf-doc-improvements
[ABNF] Improve the documentation of the grammar and fix a rule
2021-04-07 14:26:52 -07:00
Alessandro Coglio
d7d15b1bc4 [ABNF] Regenerate markdown file. 2021-04-06 16:41:12 -07:00
Alessandro Coglio
f19af30f0e [ABNF] Fix rule for affine group literals.
This was

affine-group-literal = "(" group-coordinate "," group-coordinate ")" %s"group"

instead of

affine-group-literal = "(" group-coordinate "," group-coordinate %s")group"

(note the different ending).

This change should have been part of the PR for whitespace in group literals,
but apparently I failed to do that, along with the other changes.

This commit rectifies that omission.
2021-04-06 16:39:07 -07:00
Alessandro Coglio
7da8a3c033 [ABNF] Improve consistency of documentation. 2021-04-06 16:37:18 -07:00
Alessandro Coglio
5f85308444 [ABNF] Improve the syntactic grammar section documentation.
Update some comments that were now out of date.

Clarify some text.

Fix some typos.
2021-04-06 16:35:47 -07:00
Alessandro Coglio
f0bac48093 [ABNF] Improve lexical grammar documentation.
Fix some typos, clarify some text, remove/update some obsolete references.
2021-04-06 16:03:28 -07:00
Alessandro Coglio
e035743f96 [ABNF] Improve naming convention section of documentation.
Some tweaks and some clarifications.
2021-04-06 15:19:41 -07:00
Collin Chin
e31bace4cb
Merge pull request #830 from AleoHQ/dependabot/cargo/abnf-0.10.2
Bump abnf from 0.10.1 to 0.10.2
2021-04-06 15:15:53 -07:00
Alessandro Coglio
fdaab572f9 [ABNF] Improve operator precedence section of documentation.
Fix a typo. Tweak some text layout.
2021-04-06 15:14:08 -07:00
Alessandro Coglio
11c0d60021 [ABNF] Improve structure section of documentation.
Make this more concise and clear by just presenting the lexical and syntactic
grammar as the way we define the Leo syntax, as opposed to discussing
alternatives like PEGs.
2021-04-06 14:59:52 -07:00
Alessandro Coglio
c7fb2905c0 [ABNF] Improve background section of documentation.
Explicate references to RFCs a bit.

Use the term 'sequence of terminals' instead of 'string' to avoid any confusion.

(Still use 'string' to refer to the actual strings in double quotes that are
part of the ABNF notation itself.)
2021-04-06 14:45:23 -07:00
Alessandro Coglio
742e3b33ea [ABNF] Improve introduction section of documentation.
Update to say that grammar is no longer just a draft.

Put primary motivation and purpose of grammar first.

Mention use in formalization second, and slightly simplify that part, given that
the formalization is not public yet.
2021-04-06 14:43:55 -07:00
Alessandro Coglio
48635e5dbe [ABNF] Fix typos in documentation. 2021-04-06 14:22:15 -07:00
dependabot-preview[bot]
751b42ab5b
Bump abnf from 0.10.1 to 0.10.2
Bumps [abnf](https://github.com/duesee/abnf) from 0.10.1 to 0.10.2.
- [Release notes](https://github.com/duesee/abnf/releases)
- [Commits](https://github.com/duesee/abnf/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-04-06 10:36:36 +00:00
Alessandro Coglio
880f2cd200 [ABNF] Remove explicit author info, as discussed. 2021-04-05 21:55:19 -07:00
Alessandro Coglio
797e8ceffd [ABNF] Tweak some layout.
Just for consistency with the rest of the file.
2021-04-05 21:54:18 -07:00
Alessandro Coglio
c0ea8798a2 [ABNF] Remove leftover reference.
This was uncovered by running the grammar through the ACL2 build: among other
things, the build checks that every nonterminal referenced in the right side of
each rule has a definition in the grammar.
2021-04-05 21:47:28 -07:00
Alessandro Coglio
5f875a4e93 [ABNF] Allow const self.
This still needed to be updated. The rules only supported self and mut self.
2021-04-05 21:27:37 -07:00
Collin Chin
9b9fe0b8c7
Merge pull request #822 from AleoHQ/dependabot/cargo/abnf-0.10.1
Bump abnf from 0.10.0 to 0.10.1
2021-04-05 21:13:23 -07:00
Alessandro Coglio
b535a5fde3 [ABNF] Allow spaces in affine group literals. 2021-04-05 13:55:05 -07:00
dependabot-preview[bot]
b51471a6a8
Bump abnf from 0.10.0 to 0.10.1
Bumps [abnf](https://github.com/duesee/abnf) from 0.10.0 to 0.10.1.
- [Release notes](https://github.com/duesee/abnf/releases)
- [Commits](https://github.com/duesee/abnf/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-04-05 10:40:52 +00:00
gluax
7b4542ae54 pull latest abnf grammar 2021-03-31 13:41:12 -04:00
gluax
bcb0838e0d last bit of clippy, push grammar md it should now be in the repo 2021-03-31 13:22:25 -04:00
collin
ba53d143ee cargo clippy 2021-03-31 09:57:02 -07:00
gluax
34f0f1519a merge latest abnf branch 2021-03-30 19:38:37 -04:00
gluax
67f9748866 depend on grammar branch, update parser to reflect 2021-03-29 15:03:04 -04:00
damirka
60f5a91bd9 changes grammar to leo-abnf, adds keywords and version 2021-03-26 18:50:11 +03:00
damirka
673997d975 adds grammar binary package for markdown conversion 2021-03-26 18:41:24 +03:00
gluax
f9d8f48577 clean up last bit of leftover access 2021-03-25 16:24:01 -04:00
gluax
001056f8bd rename-access expression rule and parse function to postfix 2021-03-25 14:34:16 -04:00
gluax
3571fa2080 I think this is the best way to handle access_expressions in ABNF to reflect the parser 2021-03-24 15:25:56 -04:00
gluax
5ed7582b22 tentative parse expression grammar rule 2021-03-24 13:54:53 -04:00
gluax
5ae7771050 cast-expression in abnf 2021-03-24 13:38:45 -04:00
gluax
f71d77762c comment out bitwise, mod, &&= and ||= for now 2021-03-24 13:28:01 -04:00
gluax
e0200ff789 tentative cast-expression abnf rule, refactor fuzzy rule to conditional expression 2021-03-24 12:33:52 -04:00
gluax
600cf120f9 idents in annotation name and for arguements, no white space between @ and annotation-name 2021-03-24 12:08:07 -04:00
gluax
fd52192d58 _ token in parser and symbol in abnf 2021-03-24 11:40:26 -04:00
gluax
0663227741 order tokens to try and match ABNF 2021-03-23 13:45:57 -04:00
gluax
1adc8cee14 consistent keyword order and names 2021-03-23 12:11:42 -04:00
gluax
bac54b21de make sure we keep crlf for abnf grammar file 2021-03-22 15:12:33 -04:00
gluax
dde8ab59fa initial commit, so I can open retroactive pr 2021-03-22 14:38:38 -04:00
Protryon
d400764e00 parser rewrite 2021-03-03 09:59:24 -08:00
howardwu
77a0af18fe chore(leo): bump version for new release 2021-02-26 19:42:35 -08:00
gluax
f952da330c re-add syntax in, then add deprecation warning for it 2021-02-16 15:33:31 -05:00
gluax
d549fda7b5 rebase and replace const keyword in tests 2021-02-16 14:19:20 -05:00
gluax
42bea9e93a Merge branch 'master' of github.com:AleoHQ/leo into feature/515-eliminate-const-vars 2021-02-16 14:02:49 -05:00
Collin Chin
20a046bbbb
Merge pull request #643 from AleoHQ/feat/readme_license
Adds READMEs and LICENSEs to each Leo workspace member
2021-02-11 00:58:22 -08:00
bors[bot]
b72b5ac125
Merge #620
620: Feature/254 strengthen import rules r=collinc97 a=gluax

Grammar changes are a bit different than what was suggested in the original feature request #254. However, it should be logically equivalent and I think makes more sense on the rust side.

Closes #254 

Co-authored-by: gluaxspeed <jonathan.t.pavlik@gmail.com>
2021-02-11 07:31:56 +00:00
bors[bot]
a97d60eb28
Merge #598
598: [Feature] 374 circuit self access r=collinc97 a=gluax

Feature resolves #374. At the grammar level the following syntax is no longer allowed on self:
```
self[0];
self();
```

Syntax that is allowed at the grammar level is:
```
console.log("b: {}", self::b);
console.log("hmm: {}",self::hmm());
self.hello();
console.log("access: {}", self.a);
```

Note that these changes are only at the grammar level only.

Co-authored-by: gluaxspeed <jonathan.t.pavlik@gmail.com>
Co-authored-by: Howard Wu <9260812+howardwu@users.noreply.github.com>
2021-02-11 07:09:43 +00:00
howardwu
777a67fb40 Adds README.md 2021-02-10 22:27:37 -08:00
howardwu
55db999a9e Adds LICENSE.md 2021-02-10 22:23:45 -08:00
gluaxspeed
f02845aa6c forgot to refactor grammar tests 2021-02-09 11:11:45 -05:00
gluaxspeed
d211d729d1 refactor pacakge_type -> package_or_packages 2021-02-09 10:57:37 -05:00
gluaxspeed
f1bf6c90eb remove const keyword 2021-02-08 10:34:33 -05:00
howardwu
1898cc6840 chore(leo): bump version for new release 2021-02-07 08:14:56 -08:00
gluaxspeed
26f9973e14 resolve merge conflict, asg + grammar tests 2021-02-05 14:20:48 -05:00
gluaxspeed
5fe61daa88 merge lastest master 2021-02-05 13:11:36 -05:00
gluaxspeed
6aea561a52 forgot to push fix for Multiple enum resolve 2021-02-05 11:40:56 -05:00
Collin Chin
770f660f3a
Merge pull request #617 from AleoHQ/const-args
[Feature] Const Function Arguments
2021-02-04 23:05:51 -08:00
Collin Chin
a239e17bb6
Merge pull request #622 from AleoHQ/refactor/compiler
Adds ASG struct, updates ASG to support debug
2021-02-04 22:52:40 -08:00
howardwu
85a893097b Update grammar convention 2021-02-04 17:26:01 -08:00
Howard Wu
fd5ce2f393
Merge pull request #585 from AleoHQ/feature/228-implied-circuit-name
[Feature] 228 implied circuit name
2021-02-04 14:28:14 -08:00
gluaxspeed
6ba556ceda fixed imports, but with different syntax that should be logical equivalent 2021-02-04 14:52:57 -05:00
howardwu
55002db847 Fix the grammar benchmark 2021-02-04 09:30:38 -08:00
Protryon
9c6eb23a1e const func arguments 2021-02-04 07:35:12 -08:00
gluaxspeed
ba417a9a73 merge lastest master 2021-02-04 09:39:02 -05:00
howardwu
90fc6a9c12 chore(leo): bump version for new release 2021-02-03 13:34:03 -08:00
howardwu
0d907bbb26 chore(leo): bump version for new release 2021-02-03 12:36:17 -08:00
gluaxspeed
cd5811dfd6 merge asg/master, clean up ast implied circuit var 2021-02-03 10:26:08 -05:00
gluaxspeed
047b06d975 license fix 2021-02-02 13:44:20 -05:00
gluaxspeed
3106647f24 fix tests, some changes to do so 2021-02-02 13:38:15 -05:00
howardwu
c935d6a486 Update license to 2021 2021-02-01 20:26:56 -08:00
gluaxspeed
1cbbee4517 allow static, and calls 2021-02-01 15:20:24 -05:00
collin
f259828097 disable nightly clippy checks 2021-02-01 10:45:55 -08:00
gluaxspeed
7affb3e099 restrict self keyword to member access only 2021-02-01 13:04:20 -05:00
collin
4f4d0d051d ignore clippy::upper_case_acroynms in pest grammar crate 2021-02-01 09:36:53 -08:00
gluaxspeed
3200a9cea1 pull latest master 2021-01-28 12:01:47 -05:00
gluaxspeed
6082fc9bf3 circuit grammar tests 2021-01-28 12:00:44 -05:00
gluaxspeed
c59ff6d107 implied circuit name works 2021-01-27 17:14:51 -05:00
gluaxspeed
2bda443d9c added more tests 2021-01-27 12:10:34 -05:00
gluaxspeed
fbe466661a re add io error to parsererror 2021-01-26 14:55:17 -05:00
collin
8c60774b29 remove unused ParserError code 2021-01-26 14:55:17 -05:00
collin
873fcc9637 cargo +nightly clippy 2021-01-26 14:55:15 -05:00
gluaxspeed
c03451fcd8 deprecate @context annotation, temp fix for main.rs in ast, how should we handle this? 2021-01-26 11:21:05 -05:00
gluaxspeed
91f5c18da8 comment saying where deprecated is defined in pest file 2021-01-25 15:21:25 -05:00
gluaxspeed
29ff3c90b6 error and error message for deprecated test syntax, fmt, clean up 2021-01-25 15:12:10 -05:00
collin
f9be039a7b remove unused grammar paths 2021-01-21 17:02:27 -05:00
collin
cd66497226 deprecate context annotation 2021-01-21 16:55:15 -05:00
gluaxspeed
d08eb0a45c remove emacs temp file 2021-01-21 15:31:07 -05:00
gluaxspeed
d6e0c0fdf8 grammar annotated_tests tests 2021-01-21 15:30:26 -05:00
gluaxspeed
c619d9e2bb @test no context, deprecate test keyword, cargofmt 2021-01-21 12:28:52 -05:00
gluaxspeed
1d4b30422a @test(...) style works for test + cargo fmt pass 2021-01-21 09:25:36 -05:00
collin
7767bb049c cargo +nightly clippy 2021-01-19 12:43:09 -05:00
howardwu
1a36a262b8 chore(leo): bump version for new release 2021-01-12 17:03:16 -04:00
collin
257b187afe fix failing serialization test in grammar module 2021-01-08 20:25:57 -05:00
Damir Shamanaev
753aa8f4a2 adds multi lines to Leo
- hacked WHITESPACE tag in Pest to treat NEWLINE as a WHITESPACE
- all the NEWLINES removed (!!!)
- console.log and member access tbd
2021-01-07 01:35:40 +03:00
Protryon
d1276bd95d statement breakout 2020-12-16 15:00:45 -08:00
howardwu
9038c5a17a chore(leo): bump version for new release 2020-12-14 13:57:01 -04:00
collin
8ace306e2c fix cargo lock 2020-12-11 12:22:07 -05:00
collin
e2406bec86 fix lower array slice bug 2020-12-09 17:42:15 -05:00
collin
79b42c168c update package name pest 2020-12-09 17:00:06 -05:00
collin
4cac0aeb41 merge master, update serialization test 2020-12-07 16:40:34 -05:00
Protryon
b9fb1123de block ast node 2020-12-07 13:28:03 -08:00
collin
0698f5df59 Merge branch 'master' of github.com:AleoHQ/leo into feature/circuit-self-input 2020-12-04 16:41:31 -05:00
howardwu
dbae691e49 chore(leo): bump version for new release 2020-12-03 16:16:42 -04:00
howardwu
74f7f24b19 chore(leo): bump version for new release 2020-12-01 22:57:11 -04:00
collin
8457b05354 remove mut circuit variable definition 2020-12-01 11:54:51 -05:00
collin
7977b20ad2 remove mut variable keyword 2020-12-01 10:19:02 -05:00
collin
2c72156370 add input keyword objects to ast module 2020-11-23 12:10:58 -05:00
collin
f8668303e3 add self and mut self to grammar module 2020-11-19 15:22:49 -08:00
collin
8c2823410a rename leo ast -> ast 2020-11-12 12:00:27 -08:00
collin
05a83950e5 bump versions fix conflicts 2020-11-11 12:04:48 -08:00
collin
2fdcb043fc Improve doc comments for compiler phases 2020-11-02 09:19:11 -08:00
collin
a8c5885836 rename core-ast -> ast 2020-10-30 17:31:09 -07:00
collin
ffcd93f781 rename ast -> grammar 1 2020-10-30 17:17:17 -07:00