Commit Graph

3788 Commits

Author SHA1 Message Date
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
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
Rémi Lesenechal
dfe6f144bb Merge branch 'feature/unsupported-deep-map-ops' into 'dev'
fix unsupported deep_map assignements and remove. add tests

See merge request ligolang/ligo!125
2019-10-09 19:57:17 +00:00
Christian Rinderknecht
cbaac2d124 Merge branch 'rinderknecht-dev' into 'dev'
Printing of tokens from the AST is now done in a Buffer.t

See merge request ligolang/ligo!128
2019-10-09 16:18:04 +00:00
Christian Rinderknecht
bcf73d01bf Printing of tokens from the AST is now done in a Buffer.t 2019-10-09 16:07:13 +02:00
Lesenechal Remi
8c29dc6df3 cleaning (using name return by simpl_path which is equivalent) 2019-10-09 11:54:48 +02:00
Lesenechal Remi
54662db2f6 use simpl_projection to build accessor 2019-10-09 11:54:48 +02:00
Lesenechal Remi
d59cd771c9 fix unsupported deep_map assignements and remove. add tests 2019-10-09 11:54:48 +02:00
Sander
8dfb2a967f Merge branch 'feature/pascaligo-remove-simplify' into 'dev'
Add test for PascaLIGO remove syntax which appears to work

See merge request ligolang/ligo!126
2019-10-08 19:35:09 +00:00
John David Pressman
88de350264 Add test for PascaLIGO remove syntax which appears to work 2019-10-08 11:54:49 -07:00
Christian Rinderknecht
a4ad62ad16 Merge branch 'rinderknecht-dev' into 'dev'
Made  big_map a keyword, like map.

See merge request ligolang/ligo!124
2019-10-08 11:37:31 +00:00
Christian Rinderknecht
aa3b035c9f Merge branch 'feature/pascaligo-remove-simplify' into 'dev'
[LIGO-121] Add simplified AST representation of PascaLIGO's set remove syntax

See merge request ligolang/ligo!122
2019-10-08 10:32:03 +00:00
Christian Rinderknecht
1362fbae9e Made big_map a keyword, like map. 2019-10-08 12:24:56 +02:00
John David Pressman
7cf75c54c8 Untested rough draft of pascaligo set removal 2019-10-07 21:41:36 -07:00
Tom Jack
be88b546a4 Merge branch 'docker-rm' into 'dev'
Adding `--rm` to ligo.sh

See merge request ligolang/ligo!123
2019-10-07 23:44:02 +00:00
Rodrigo Quelhas
0c756a4a46 Adding --rm to ligo.sh 2019-10-07 18:02:00 -05:00
Tom Jack
fdf0640e28 Merge branch 'fix-dev' into 'dev'
Resolve mli merge conflict

See merge request ligolang/ligo!121
2019-10-07 19:37:38 +00:00
Tom Jack
4a5e41faa4 Resolve mli merge conflict 2019-10-07 13:56:48 -05:00
Christian Rinderknecht
6f414a8ad2 Merge branch 'feature/unsupported_ass_None' into 'dev'
Feature/unsupported_ass_none

See merge request ligolang/ligo!118
2019-10-07 16:31:19 +00:00
Christian Rinderknecht
9c1be8f3a3 Merge branch 'feature/unsupported-string-catenation' into 'dev'
feature/unsupported_string_catenation

See merge request ligolang/ligo!120
2019-10-07 16:30:39 +00:00
Christian Rinderknecht
76b4fa3f47 Merge branch 'rinderknecht-dev' into 'dev'
Gardening for Ligodity and update of the documentation of PascaLIGO.

See merge request ligolang/ligo!119
2019-10-07 15:44:36 +00:00
Lesenechal Remi
44767c4b8e Simplifier now emit CONCAT constant 2019-10-07 17:16:03 +02:00
Tom Jack
36ec771adf Remove singleton inductive type 2019-10-07 16:54:28 +02:00
Tom Jack
e2c831a231 Simplify more 2019-10-07 16:54:28 +02:00
Tom Jack
1c2c6cbc43 Delete unused NoneExpr 2019-10-07 16:54:28 +02:00
Tom Jack
3a14ef26ef Simplify? 2019-10-07 16:54:28 +02:00
Lesenechal Remi
3a3cfa341a cleaning 2019-10-07 16:54:28 +02:00
Lesenechal Remi
08a3e08f57 add a new T_constant in ast_simplified and ast_typed 2019-10-07 16:54:28 +02:00
Lesenechal Remi
1401d03d62 Parser patch from Christian 2019-10-07 16:54:28 +02:00
Christian Rinderknecht
ff9584c7b7 Gardening. 2019-10-07 16:37:33 +02:00
Christian Rinderknecht
bb86ba6ad0 Merge branch 'pew-interface' into 'dev'
Interface for Ocaml code

See merge request ligolang/ligo!63
2019-10-07 14:18:33 +00:00
Pierre-Emmanuel Wulfman
59cb210b83 Interface for Ocaml code 2019-10-07 14:18:32 +00:00
Rémi Lesenechal
0c7bfbdecd Merge branch 'feature/LIGO-GITLAB-ISSUE-23-HIGHER-ORDER' into 'dev'
Issue 23 : Higher-order functions with more than one argument give weird errors

See merge request ligolang/ligo!103
2019-10-03 17:16:21 +00:00
Lesenechal Remi
c1845c2bfe Only look at arg.type_value instead of arg.content 2019-10-03 18:35:11 +02:00
Lesenechal Remi
4e333836cb ignore closure error in subexpression of argument 2019-10-03 15:36:06 +02:00
Lesenechal Remi
962a98da75 emmit a t_function when no variables are captured 2019-10-03 10:21:09 +02:00
Lesenechal Remi
6fbe43d28a Check for closure when applying a function and update tests 2019-10-02 18:31:15 +02:00
Lesenechal Remi
a7565145d5 add map_expression function in self_mini_c pass helpers 2019-10-02 18:31:15 +02:00
Lesenechal Remi
ae882c39ef Variable name gardening 2019-10-02 18:31:15 +02:00
Lesenechal Remi
2840eb7414 Treat env element expression as deep_closure only if they are lambda 2019-10-02 18:31:15 +02:00
Sander
6d767e686d Merge branch 'website-links' into 'dev'
Website links

See merge request ligolang/ligo!116
2019-10-01 10:15:51 +00:00
Sander
0a7fdc0486 Website links 2019-10-01 10:15:51 +00:00
Sander
4dd8b03e75 Merge branch 'fix-cameligo-ne' into 'dev'
Fix lexer

See merge request ligolang/ligo!115
2019-10-01 06:30:20 +00:00
Sander Spies
ccfe58efb8 Fix lexer 2019-10-01 07:51:10 +02:00
Sander
757c5433fd Merge branch 'hp-improvements-4' into 'dev'
Changes for tutorials.

See merge request ligolang/ligo!113
2019-09-30 18:22:43 +00:00
Sander Spies
d7858b44db More fixes 2019-09-30 19:43:18 +02:00
Sander
ee9dde90f2 Merge branch 'discord-icon' into 'dev'
blacken discord icon

See merge request ligolang/ligo!112
2019-09-30 17:34:08 +00:00