Commit Graph

140 Commits

Author SHA1 Message Date
Tom Jack
dae4f58297 Combine adjacent DROP 2019-10-24 23:58:21 -05:00
Tom Jack
9ae39bab97 Fix (latent?) Babylon bug in self_michelson pass 2019-10-24 23:58:15 -05:00
Christian Rinderknecht
c0f4aaf0c7 Fixed the regression on case clauses (blocks were removed). 2019-10-24 10:33:22 +02:00
Christian Rinderknecht
4a9150f560 WIP: Fixing a regression (blocks in case clauses as intructions). 2019-10-24 10:33:22 +02:00
Christian Rinderknecht
4730df6ea1 Merge branch 'rinderknecht-dev' into 'dev'
Forbidding empty patches (records, maps, sets)

See merge request ligolang/ligo!148
2019-10-23 10:06:26 +00:00
John David Pressman
1f50cc8f57 Remove PascaLIGO set_size 2019-10-22 20:24:05 -07:00
John David Pressman
c4cc4fcba9 Add set size op for CameLIGO and PascaLIGO 2019-10-22 19:28:13 -07:00
Christian Rinderknecht
eae3348d51 I forbade empty patches (parser). Fixed AST pretty-printer (PascaLIGO).
Changed accordingly the simplifier: the dead code for the error about
empty record patches is no long.
2019-10-23 00:35:29 +02:00
Christian Rinderknecht
9ad0859a4c Merge branch 'feature/pascaligo-remove-case-as-expression' into 'dev'
Feature/pascaligo add conditional as an expression

See merge request ligolang/ligo!144
2019-10-22 08:42:59 +00:00
Christian Rinderknecht
fa30b7d87d Merge remote-tracking branch 'origin/dev' into rinderknecht-dev 2019-10-22 10:38:32 +02:00
John David Pressman
8f799321d6 Add string concatenation support to CameLIGO 2019-10-21 15:46:26 -07:00
Christian Rinderknecht
312dc65950 Merge remote-tracking branch 'origin/dev' into rinderknecht-dev 2019-10-21 21:42:52 +02:00
John David Pressman
97f2a44a24 Merge branch 'feature/pascaligo-expr-fun' into 'dev'
[LIGO-150] Add blockless functions to PascaLIGO

See merge request ligolang/ligo!143
2019-10-20 08:46:15 +00:00
John David Pressman
09230df60a Remove kwd_expr 2019-10-19 10:55:39 -07:00
John David Pressman
daad15c57d Write blockless function test and make it pass 2019-10-19 10:46:24 -07:00
John David Pressman
ec67d37f20 Gabriel wants to see the code 2019-10-19 09:11:18 -07:00
John David Pressman
6e0173a9a7 Fix type error when where blockfun types eat regions 2019-10-18 17:46:20 -07:00
Lesenechal Remi
6b55bf3630 cleaning 2019-10-18 17:44:10 +02:00
Lesenechal Remi
080b25a3bd WIP: add test. still have two ECond implementation, none of them pass the test 2019-10-18 17:44:10 +02:00
Christian Rinderknecht
d95f345dbf First attempt at adding conditionals as expressions.
Warning: The simplifier is not done yet.
2019-10-18 17:44:10 +02:00
Lesenechal Remi
bec3419936 cleaning 2019-10-18 14:47:04 +02:00
Lesenechal Remi
b721a19b00 WIP: add test. still have two ECond implementation, none of them pass the test 2019-10-18 14:32:58 +02:00
Christian Rinderknecht
704c744ace First attempt at adding conditionals as expressions.
Warning: The simplifier is not done yet.
2019-10-18 13:52:26 +02:00
Gabriel Alfour
62e6b1d469 Merge branch 'feature/babylon' into 'dev'
upgrade to babylon

See merge request ligolang/ligo!141
2019-10-18 07:56:36 +00:00
John David Pressman
2bffba379d Remove anonymous records 2019-10-17 22:34:38 -07:00
John David Pressman
35a59a0867 Add parser tokens, guru meditation on why the AST types don't work 2019-10-17 21:33:45 -07:00
John David Pressman
8997155a57 Rough draft of single-expr function syntax 2019-10-17 20:50:41 -07:00
Christian Rinderknecht
e53d4035d0 Removed corner case that could not be triggered in PascaLIGO simplifier. 2019-10-17 18:46:40 +02:00
Christian Rinderknecht
36d9858e97 Removed sub-blocks from PascaLIGO. 2019-10-17 18:33:58 +02:00
Lesenechal Remi
9f0b61659e we don't need to check for closures in function arguments 2019-10-17 17:18:10 +02:00
galfour
27be6cfcba use apply for closures 2019-10-17 16:34:02 +02:00
galfour
8a4b9695e7 use dig/dug for get/set 2019-10-17 15:48:24 +02:00
galfour
56269231b3 upgrade to babylon 2019-10-17 11:45:27 +02:00
Christian Rinderknecht
00016d09bb I removed the definition of procedures.
Note: This immediately removes some unsupported cases of the
simplifier, pertaining to the definition of procedures.
2019-10-16 15:39:08 +02:00
Christian Rinderknecht
1299ecac6b Merge remote-tracking branch 'origin/dev' into rinderknecht-dev 2019-10-16 12:00:40 +02:00
Christian Rinderknecht
157e24ff08 Fixed documentation.
There was an error in the syntax of tuple projection (no parentheses
are needed, in fact).

Another issue was a wrong Markdown layout for lists (my fault).
2019-10-16 11:50:31 +02:00
Christian Rinderknecht
15937a2459 Bug fixing in the AST pretty-printer and new syntax for iterators.
I added a type annotation for the variable iterating a
collection, which is also now marked as "map", "set" or "list".

I fixed and refactored the pretty-printer for the AST.
2019-10-16 01:11:54 +02:00
Christian Rinderknecht
27564426da Bug fixes and finished AST pretty-printer.
ParserLog: Finished the AST pretty-printer.
ParserMain: The CLI "ast" is now "ast-tokens" and the new "ast"
calls the AST pretty-printer.
Bug: Added nat literals as patterns.
AST: Removed unary constructor TupleInj.
Parser and simplifier:
  - The rule "cartesian" is now properly stratified.
  - Parenthesised expressions now correctly create EPar nodes.
2019-10-15 21:03:46 +02:00
John David Pressman
b80f16eb34 Merge branch 'feature/pascaligo-set-deep-rm' into 'dev'
[LIGO-139] Add deep set removal to PascaLIGO

See merge request ligolang/ligo!136
2019-10-15 14:47:17 +00:00
John David Pressman
6f5e88c93c Make failing deep set removal test pass 2019-10-14 18:59:16 -05:00
John David Pressman
8a9a72b673 Merge branch 'dev' of gitlab.com:ligolang/ligo into gardening/code-comments 2019-10-14 16:31:57 -07:00
Tom Jack
ed69c858a8 Use right folds 2019-10-14 14:05:35 -05:00
John David Pressman
c4babe60d8 Merge branch 'dev' of gitlab.com:ligolang/ligo into feature/pascaligo-map-patch 2019-10-14 11:34:26 -07:00
Christian Rinderknecht
89971f31d0 Forgot to commit the change in the simplifier. 2019-10-13 20:15:50 +02:00
Christian Rinderknecht
f634d36b76 Refactorings for PascaLIGO.
- I aligned the names of the tokens in common with Ligodity.
  - I removed the "down" and "step" clauses in loops.
  - Note: the stratification of the rule "pattern" in the
    previous commit has the pleasant effect to remove a call
    to "corner_case" in function "simpl_case" of the
    file "2-simplify/pascaligo.ml".
  - Added more cases to the pretty-printer of the AST.
2019-10-13 19:51:01 +02:00
Christian Rinderknecht
f795f1216a Bug fixing in the lexers and the parser. Started AST pretty-printer.
LexToken, AST: Tiny refactoring.

Bug: Added the making of the AST node PBytes.

Parser: The rule "pattern" was not properly stratified (the
constructor "PCons" was always produced, even when no consing was
done (now a fall-through to "core_pattern").

Bug: When sharing the lexers between Ligodity and Pascaligo, a
regression was introduced with the lexing of symbols. Indeed,
symbols specific to Ligodity (like "<>") and
Pascaligo (like "=/=") were scanned, but the
function "LexToken.mk_sym" for each only accepted their own,
yielding to an assertion to be invalidated. Fix: I created an
error "sym_err" now to gracefully handle that situation and
provide a hint to the programmer (to wit, to check the LIGO
syntax in use).

WIP: Started to write pretty-printing functions for the nodes of
the AST.

CLI: The option "--verbose=ast" now calls that function instead
of printing the tokens from the AST. When the pretty-printer is
finished, the option for printing the tokens will likely
be "--verbose=ast-tokens".
2019-10-12 23:42:26 +02:00
Christian Rinderknecht
d7baebdb2f Merge branch 'feature/pascaligo-set-patch' into 'dev'
[LIGO-127] Add set patch functionality to PascaLIGO

See merge request ligolang/ligo!127
2019-10-12 20:35:14 +00:00
John David Pressman
b304772928 Change set patch to use left fold 2019-10-12 12:38:05 -07:00
John David Pressman
5070ded5b9 Add complex path traversal to map patch 2019-10-11 17:26:28 -07:00
John David Pressman
3d053cd073 Refactor map patch so that it uses fewer assignments 2019-10-11 15:44:16 -07:00