Commit Graph

1045 Commits

Author SHA1 Message Date
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
0b8c0dad3f Add failing deep set removal test to contracts 2019-10-14 18:58:42 -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
John David Pressman
93b5a068b5 Add deep map patch test 2019-10-14 10:19:18 -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
Suzanne Dupéron
38f9b0ba0b tests build (but fail when running, as expected) 2019-10-11 17:22:43 -04:00
Suzanne Dupéron
3bbb8bfd8b Fixed merge issues with new merge of dev 2019-10-11 17:01:28 -04:00
Suzanne Dupéron
5a58559edc Merge remote-tracking branch 'origin/dev' into HEAD 2019-10-11 16:59:45 -04:00
Tom Jack
c2a3fd473c Fix test 2019-10-11 15:27:41 -05:00
Tom Jack
b64f82dff7 Add failing test 2019-10-11 15:24:46 -05:00
John David Pressman
62377135c4 Add empty map patch test 2019-10-11 13:23:29 -07:00
Tom Jack
c5361c57d4 Simplify a bit 2019-10-11 15:10:11 -05:00
Tom Jack
e672d10029 Expose tez mod tez, too 2019-10-11 14:54:22 -05:00
John David Pressman
d947f3b462 Change set patch to chain calls and only use one assignment 2019-10-11 12:38:00 -07:00
Tom Jack
d87d0aab73 Expose tez/tez division 2019-10-11 14:35:23 -05:00
Suzanne Dupéron
9e2c057edb dune build passes, but not dune build @ligo-test. Threaded the typechecker's state in a bunch of places where it's likely not needed, because I don't know which parts are entrypoints and which parts are intermediate functions, and the role of the state between program fragments is not yet 100% clear to me. 2019-10-11 15:21:28 -04:00
John David Pressman
58b8e537e4 Merge branch 'dev' of gitlab.com:ligolang/ligo into feature/pascaligo-set-patch 2019-10-11 09:02:45 -07:00
Tom Jack
f06161ea42 Merge branch 'feature/dry-run-sender-source' into 'dev'
Accept fake values for SENDER/SOURCE in dry-run

See merge request ligolang/ligo!130
2019-10-11 15:09:16 +00:00
Suzanne Dupéron
1356159281 WIP on integrating typer with the bin / CLI, fixed last API change 2019-10-11 04:08:12 -04:00
John David Pressman
49ffe00466 Remove unsupported_map_patch error in PascaLIGO simplifier 2019-10-10 18:35:39 -07:00
John David Pressman
c181ec1cac Upload rough draft of map patch functionality with test
Right now I'm concerned that the way this generates the code is inefficient, in particular this line:

`in ok @@ (access_path, key', value', loc)`

Since the comments [on my code for the set patch](https://gitlab.com/ligolang/ligo/merge_requests/127)
warned that repeated generation of the access path is a bad idea(?). In any case this does work, so
it's something I can improve on.
2019-10-10 18:26:28 -07:00
John David Pressman
0de17f4b57 Add empty set patches, add test for empty set patches 2019-10-10 13:35:38 -07:00
Suzanne Dupéron
2a39aa2949 Revert "Builds (commented out a few issues, just to check that there are no compilation errors left)"
This reverts commit 581babb459.
2019-10-10 03:55:15 -04:00
Suzanne Dupéron
581babb459 Builds (commented out a few issues, just to check that there are no compilation errors left) 2019-10-10 03:55:08 -04:00
Suzanne Dupéron
acfbd7eb15 Nearly builds, only one small API change and integration errors left 2019-10-10 03:52:43 -04:00
John David Pressman
c82076281f Add test for set patch functionality
Resolves LIGO-127
2019-10-09 23:13:25 -07:00
Suzanne Dupéron
4fa54dd2c1 More progress on merging new typer and new dev 2019-10-10 01:23:55 -04:00
John David Pressman
2f60c85aa8 Add rough draft of set patch functionality 2019-10-09 17:08:58 -07: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
Tom Jack
e8afba9581 Accept fake values for SENDER/SOURCE in dry-run 2019-10-09 12:08:02 -05: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
Suzanne Dupéron
5de98259dc Trying to merge new typer and new dev 2019-10-09 00:51:29 -04:00
Suzanne Dupéron
a0461d0622 Renamed 2019-10-08 18:46:55 -04:00
John David Pressman
f990dc8a0f Merge branch 'dev' of gitlab.com:ligolang/ligo into gardening/code-comments 2019-10-08 13:46:25 -07: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
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
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
Pierre-Emmanuel Wulfman
59cb210b83 Interface for Ocaml code 2019-10-07 14:18:32 +00:00
John David Pressman
0207d1f88f Add .mli for SAST pretty printer with minimal comments 2019-10-04 15:33:50 -07:00
Georges Dupéron
0e5c9802ec More tests with lambdas 2019-10-04 16:47:01 -04:00
Georges Dupéron
606f7ca907 More tests, integration of some of the operators 2019-10-04 16:47:01 -04:00
Georges Dupéron
8c37fe355d test: contract for mligo version of the example on the website 2019-10-04 16:33:59 -04:00
John David Pressman
fcfbbcb9c1 Delete dead code and add .mli docs to simplify/pascaligo.ml 2019-10-03 15:32:16 -07:00
John David Pressman
c2489fd310 ocamldoc-ify Markup.mli 2019-10-03 14:07:12 -07:00
John David Pressman
30d25ee247 Convert top comment in LexToken.mli to ocamldoc comment 2019-10-03 13:59:53 -07:00
John David Pressman
211d5ea37f Add explanation of AST relationship to Parser.mly to AST.mli 2019-10-03 13:42:33 -07:00
John David Pressman
51e6c441f2 Add documentation for pascaligo parser interface as .mli 2019-10-03 13:32:43 -07:00
John David Pressman
e3c581ff02 Fix typo in transpiler.ml explanation 2019-10-03 11:47:09 -07:00
John David Pressman
b02c241a01 Add short explanation to transpiler.ml 2019-10-03 11:37:07 -07: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 Spies
ccfe58efb8 Fix lexer 2019-10-01 07:51:10 +02:00
Georges Dupéron
c1ca3184af WIP: fixing the build errors 2019-09-29 18:28:19 -04:00
Georges Dupéron
2b5b23f266 WIP: fixing the build errors + missing non-merged code 2019-09-29 18:25:02 -04:00
galfour
81569b9c54 add subst 2019-09-29 18:52:38 +02:00
Georges Dupéron
74a09c5ba6 WIP: cleaning up some TODOs 2019-09-29 00:06:28 +01:00
Georges Dupéron
4dbd2d5873 revert indentation change 2019-09-29 00:05:54 +01:00
Georges Dupéron
fc80c627fd WIP : instantiation of foralls in some cases 2019-09-28 20:26:02 +01:00
Pierre-Emmanuel Wulfman
271a524920 WIP; commenting 2019-09-28 20:10:30 +01:00
Pierre-Emmanuel Wulfman
e4e77da97c add change for typer.ml 2019-09-28 01:56:09 +02:00
Rémi Lesenechal
6850d21650 Feature/ligo 100 map tests 2019-09-27 15:52:40 +00:00
Christian Rinderknecht
889a4d643d Forgot to fully resolved conflict due to removal of keyword fail. 2019-09-27 17:08:07 +02:00
Christian Rinderknecht
8257c5e6fe Merge remote-tracking branch 'origin/dev' into rinderknecht-dev 2019-09-27 17:07:36 +02:00
Sander
5bcf3cae6e Refactor Ligodity parser to use shared parser. 2019-09-27 13:33:25 +00:00
Pierre-Emmanuel Wulfman
f657c71753 Merge done and repo build with no error 2019-09-27 14:55:09 +02:00
Christian Rinderknecht
81868ca3b2 Merge branch 'rinderknecht-dev' of gitlab.com:ligolang/ligo into rinderknecht-dev 2019-09-27 14:36:59 +02:00
Christian Rinderknecht
814a37b477 Merge remote-tracking branch 'origin/dev' into rinderknecht-dev 2019-09-27 14:35:47 +02:00
Christian Rinderknecht
e5e9fb8e2f Merge branch 'dev' into 'rinderknecht-dev'
# Conflicts:
#   src/passes/1-parser/pascaligo/AST.ml
#   src/passes/1-parser/pascaligo/AST.mli
#   src/passes/1-parser/pascaligo/ParToken.mly
2019-09-27 11:47:59 +00:00
Christian Rinderknecht
fa4a7cecdf Removed entrypoint. Added back missing error message (string cat). 2019-09-27 13:44:29 +02:00
Gabriel Alfour
0c6f233507 Merge branch 'feature/auto-field-annotations' into 'dev'
Generate field annotations for sum/record

See merge request ligolang/ligo!78
2019-09-27 07:34:51 +00:00
Gabriel Alfour
ebf699cde7 Merge branch 'feature/failwith-typed' into 'dev'
Feature/failwith typed

See merge request ligolang/ligo!98
2019-09-26 20:25:46 +00:00
Tom Jack
6fc1b6430b Add a little bit of tez tests, fix cameligo lexer bug 2019-09-26 13:31:37 -05:00
galfour
7974469159 remove fail 2019-09-26 19:30:17 +02:00
galfour
ef2f6060d5 deprecate fail 2019-09-26 19:13:25 +02:00
galfour
08809f8a5d type failwith 2019-09-26 19:01:07 +02:00
galfour
e0e5228254 failwith test 2019-09-26 18:47:46 +02:00
galfour
c4a4942b09 minor merge 2019-09-26 11:39:35 -05:00
Tom Jack
09496ce4ca Generate field annotations for sum/record 2019-09-26 11:39:35 -05:00
Tom Jack
be201a5109 Lose another opam battle 2019-09-26 10:59:18 -05:00
Christian Rinderknecht
68ff421b7d Merge remote-tracking branch 'origin/dev' into rinderknecht-dev 2019-09-26 17:11:08 +02:00
Christian Rinderknecht
ca1471612f Merge branch 'pascaligo-tests' into 'dev'
Add Pascaligo tests for not kwd, (commented out) procedure and for loop

See merge request ligolang/ligo!95
2019-09-26 15:09:37 +00:00
Christian Rinderknecht
10469818c1 Removed entrypoint and storage as keywords.
Bug fix: `n-1` was scanned as `n` and `-1`, which was rejected by
a style constraint.

I removed useless style constraints in the lexer.

I removed dead code in `pascaligo.ml`.

I added my first draft for the reference manual of PascaLIGO: DO
NOT EDIT. Edit the website instead.

About the bug fix: This was an awkward attempt at rejecting at
lexing time negative integer literals whose sign is separated
from the digits, like `- 1`. The fix was simple: remove the
`integer` regular expression and use `natural`.
2019-09-26 16:35:16 +02:00
Tom Jack
389cbdbded Hotfix: display errors, fix mystery fail 2019-09-26 06:01:09 -05:00
Tom Jack
8a96e38f04 More failure tests, fix mligo assert 2019-09-25 20:15:21 -05:00
Tom Jack
a521c01115 some michelson optimizations 2019-09-25 20:15:19 -05:00
Tom Jack
a2240e0649 Merge branch 'feature/stderr' into 'dev'
Print errors to stderr, exit 1

See merge request ligolang/ligo!66
2019-09-26 00:56:55 +00:00
Tom Jack
8a04ee8097 Fix bug for compile-parameter and compile-storage 2019-09-25 13:40:32 -05:00
galfour
be75fd4830 fixed minor bug 2019-09-25 17:21:44 +02:00
galfour
87bbdad553 fix stuff 2019-09-25 10:49:14 +02:00
John David Pressman
9bb0d3aa9f Disable tests for procedures and for loops, which are unsupported 2019-09-24 16:20:52 -07:00
John David Pressman
ada8a2b703 Add (commented out) for loop test & working procedure test
Also clean up typo in unsupported for loop error message
2019-09-24 15:47:04 -07:00
John David Pressman
a8def8c269 Add test for boolean not 2019-09-24 12:18:07 -07:00
galfour
e6ac10f0ce switch from tz to mtz 2019-09-24 14:29:18 +02:00
galfour
f72593ae85 add set literals 2019-09-24 14:00:43 +02:00
galfour
b6ee28d704 add map literals in cameligo 2019-09-24 13:54:34 +02:00
galfour
ac449d2cb3 test List.iter and List.map in cameligo 2019-09-24 10:54:14 +02:00
galfour
9c3c40c9ef add set fold 2019-09-24 00:26:39 +02:00
galfour
c4752c5935 add map fold 2019-09-23 23:46:47 +02:00
galfour
b41b676eb8 add list fold 2019-09-23 23:33:25 +02:00
Tom Jack
c07f0633cd Print errors to stderr, exit 1 2019-09-23 09:54:53 -07:00
galfour
fed4891840 Merge branch 'dev' into refactor/everything 2019-09-23 16:40:51 +02:00
galfour
96fd0b4660 yay 2019-09-22 23:39:52 +02:00
galfour
37836f9512 adding option 2019-09-22 22:44:50 +02:00
galfour
720ef99c69 solve conflict 2019-09-22 22:17:28 +02:00
John David Pressman
0cfb40f54d Add purpose comments to some test contracts
Add comments explaining what a contract is/does/tests to the top of several PascaLIGO test contracts, as part of evaluating what parts of the syntax are and aren't currently tested.
2019-09-21 14:59:48 -07:00
galfour
9fb65e71e8 more lists 2019-09-21 11:30:41 +02:00
galfour
ad79188c4f add list pattern matching 2019-09-21 09:12:00 +02:00
Lesenechal Remi
8978c5c4d7 Print expresion in error message to ease further debugging 2019-09-20 21:33:14 +02:00
Lesenechal Remi
ea6f51bd55 CLI checked, compile-storage and dry-run
Add a '--bigmap' option to the CLI. This way all the maps in the AST are transformed to bigmaps
2019-09-20 21:33:14 +02:00
Lesenechal Remi
b653996aae Big_map support
Add big_map case in the uncompiler which takes the original big_map and apply the returned diff

Add input_to_value option which compiles input expressions to mini_c.values
2019-09-20 21:33:14 +02:00
Lesenechal Remi
304184bcd3 Bla 2019-09-20 21:33:14 +02:00
Lesenechal Remi
c7cfce2bf7 Remove merge comments 2019-09-20 21:33:14 +02:00
Lesenechal Remi
e5b4d37af8 add E_big_map case in Ast 2019-09-20 21:33:14 +02:00
Lesenechal Remi
a9f7bb39e4 add tests for big_map 2019-09-20 21:33:14 +02:00
Lesenechal Remi
1c281ac079 merge operations syntax for map with big_map 2019-09-20 21:33:14 +02:00
Lesenechal Remi
e930dc00c4 some check on starage for big_map 2019-09-20 21:33:14 +02:00
Lesenechal Remi
25e3ab8e5d big map can be looked up 2019-09-20 21:33:14 +02:00
Lesenechal Remi
4fec6f1624 naively connects big_map to the transpiler 2019-09-20 21:33:14 +02:00
galfour
dc9294bbcc add options in cameligo 2019-09-20 20:38:04 +02:00
galfour
66efff631d add micheline 2019-09-20 18:56:55 +02:00
galfour
9a7c3ee54d Merge branch 'dev' into refactor/everything 2019-09-20 17:51:43 +02:00
galfour
1b901b1c25 Merge branch 'dev' into refactor/everything 2019-09-20 17:50:47 +02:00
galfour
2a90be292c more formats 2019-09-20 11:59:44 +02:00
galfour
e3179bd7c7 tests pass again 2019-09-19 12:59:07 +02:00
galfour
6fe48ff6ad more working 2019-09-19 08:29:31 +02:00
galfour
015e197183 back on track 2019-09-19 01:34:37 +02:00
galfour
b619fa1f17 further down the road 2019-09-18 18:49:33 +02:00
galfour
d8b7a12c69 more refactoring 2019-09-15 13:12:19 +02:00
galfour
5566095e49 more stuff 2019-09-11 13:56:39 +02:00
galfour
715812b2c3 more modifications 2019-09-10 15:19:15 +02:00
galfour
cdfffcf8ec more refactoring 2019-09-10 12:42:49 +02:00
John David Pressman
1cda8ca097 Merge branch 'fix-ci' into 'dev'
Try to fix CI again

See merge request ligolang/ligo!71
2019-09-10 02:38:18 +00:00
Tom Jack
c867a4c4d4 Remove dune-project files 2019-09-09 13:59:08 -07:00
galfour
d187317c32 move contracts 2019-09-09 11:47:42 +02:00
Tom Jack
e0b5910627 Try to fix CI again 2019-09-08 12:37:11 -07:00
galfour
0fb37e9d3f adding list cons 2019-09-08 12:34:29 +02:00
galfour
cb1aa44ff4 moving stuff around 2019-09-08 12:17:24 +02:00
Gabriel Alfour
dec2ffd2ed Merge branch 'feature/add-hashes' into 'dev'
add hashes and support for bytes

See merge request ligolang/ligo!69
2019-09-07 17:04:07 +00:00
galfour
6713160530 add hashes and support for bytes 2019-09-07 18:42:59 +02:00
galfour
25b07af6ae merge dev conflict 2019-09-07 16:54:08 +02:00
Georges Dupéron
644d90be6d Fix CI and Makefile (WIP) 2019-09-06 17:27:09 +02:00
galfour
f831793fbd y e s s s 2019-09-05 15:21:01 +02:00
Christian Rinderknecht
4b4698d1f0 Merge remote-tracking branch 'origin/dev' into rinderknecht-dev 2019-08-29 17:27:36 +02:00
Christian Rinderknecht
57b1d39b6e New contract in CameLIGO, based on the tutorial. (Not called from the CI.) 2019-08-29 17:25:35 +02:00
Christian Rinderknecht
3f47bb2e85 Recording as miscellaneous the old way to do series of items. 2019-08-29 17:09:43 +02:00
Christian Rinderknecht
95b2111a8b Left factoring of productions to get closer to LL. 2019-08-29 17:08:23 +02:00
Christian Rinderknecht
fbbff496c7 Cosmetics. 2019-08-29 17:07:23 +02:00
Christian Rinderknecht
f99bd0d1df More rewrites of the grammar for stream parsing.
Fixed code in the internal documentation of PascaLIGO.
2019-08-29 17:06:16 +02:00
Sander
b04a988a7e Separate parts of Pascaligo into a shared parser library 2019-08-29 14:54:06 +00:00
Tom Jack
faf3bbc061 Fix unpack_closure 2019-08-21 07:34:39 -07:00
Tom Jack
7afa8a9cdb Test closures more 2019-08-21 07:34:34 -07:00
galfour
31a2a96810 fixed last bug 2019-08-21 11:41:57 +02:00
galfour
af588933f4 add closures 2019-08-21 10:28:27 +02:00
Tom Jack
bd987613d5 This stuff is now unused 2019-08-20 16:33:23 -07:00
Tom Jack
31591f1669 Comment out tests needing closure (TODO) 2019-08-20 16:33:23 -07:00
Tom Jack
d53f0058c6 Various compiler fixes 2019-08-20 16:33:23 -07:00
galfour
de96a04681 simplifying compiler 2019-08-20 22:51:16 +02:00
Christian Rinderknecht
fddce3257a First draft of the PascaLIGO parser using streams. 2019-08-04 18:03:54 +02:00
Christian Rinderknecht
ce31bc2572 Fixes. 2019-08-04 18:02:56 +02:00
Christian Rinderknecht
6c818567fa Fixed comment. 2019-07-31 14:43:04 +02:00
Christian Rinderknecht
5bc43fa430 Changed the definition of the compound constructs so they use "option". 2019-07-31 10:45:19 +02:00
Christian Rinderknecht
50c99ff71d I added more transformations. 2019-07-31 10:24:57 +02:00
Christian Rinderknecht
bf50102810 Fixed expressions annotated with types (they are now allowed everywhere). 2019-07-30 14:24:26 +02:00
Christian Rinderknecht
6a0948a6ac Fixed regression. Enabled type annotations for all expressions
(between parentheses).

The error was to use COMMA to separate instructions in a block, instead of SEMI (semicolons), as before. This is corrected here.
2019-07-30 11:27:32 +02:00
Christian Rinderknecht
9e6bff4741 Renamings. Additions. 2019-07-29 12:33:02 +02:00
Christian Rinderknecht
25437f5ed5 Fixed some rules. 2019-07-29 12:31:10 +02:00
Christian Rinderknecht
100bf1119a First rewrites of the PascaLIGO grammar to make it suitbale for stream
parsing.
2019-07-26 17:47:16 +02:00
Christian Rinderknecht
9b34b13e15 Replacing map_injection by injection(Map,binding). 2019-07-26 16:23:12 +02:00
Christian Rinderknecht
295f94a09a Further streamlining PascaLIGO and Ligodity parsers. 2019-07-25 16:11:33 +02:00
Christian Rinderknecht
2a44e0f084 Merge branch 'dev' into 'rinderknecht-dev'
# Conflicts:
#   src/contracts/website2.ligo
#   src/simplify/pascaligo.ml
2019-07-25 10:33:07 +00:00
Christian Rinderknecht
fe2c56aedb Miscellanea. 2019-07-24 15:43:51 +02:00
Christian Rinderknecht
dc4f14d469 Parsing the command line by calling [EvalOpt.read], not a side-effect. 2019-07-24 15:41:52 +02:00
Christian Rinderknecht
d2f4d00011 Refactored module EvalOpt by removing useless command line options. 2019-07-24 14:34:26 +02:00
Pierre-Emmanuel Wulfman
7414893cd5 FIX - typo in error message in ast_simplified/combinator.ml 2019-07-24 09:35:22 +00:00
galfour
88261fd5e2 Merge branch 'dev' into feature/better-error-messages 2019-07-21 11:58:09 +02:00
galfour
d7a16c47c1 add iterators for maps 2019-07-20 16:42:34 +02:00
galfour
564a4df145 add map to lists ; fix error with lists 2019-07-20 16:18:50 +02:00
galfour
9dd8e63cbf add iter for set and lists 2019-07-20 13:46:42 +02:00
galfour
33101820ec add set tests 2019-07-19 14:35:47 +02:00
galfour
5c3d801c78 add bitwise arithmetic and string arithmetic tests 2019-07-19 12:42:01 +02:00
galfour
7b9d861a34 type new operators 2019-07-19 12:13:09 +02:00
galfour
4b6a58907d get rid of useless units ; make compiler.ml less brittle 2019-07-18 15:19:25 +02:00
galfour
25566bc3fe selection of environment can be done both ways 2019-07-18 13:04:13 +02:00
Christian Rinderknecht
685c25de9a First import of my first designs for a front-end generator for Ligodity. 2019-07-14 16:41:52 +02:00
Galfour
6e3209fa4f add manual tests; change display of errors; minor refactorings 2019-06-28 12:05:04 +00:00
Christian Rinderknecht
6d3679290d Fixed typo in comment. 2019-06-27 10:32:07 +02:00
Tom Jack
7492657790 Update Pascaligo parentheses in docs 2019-06-24 08:42:06 -07:00
Christian Rinderknecht
2f6e17c837 I fixed the heterogeneity in parentheses around constructors in
patterns.
2019-06-24 08:42:06 -07:00
Christian Rinderknecht
77a55172ef I fixed the heterogeneity in parentheses around constructors in
patterns.
2019-06-13 16:57:40 +02:00
Georges Dupéron
ded9c4f58f Fix auto-detection of syntax, use a polymorphic variant to ensure all functions were updated. 2019-06-13 01:56:03 +02:00
Galfour
a3e6016758 Merge branch 'dev' into feature/dry-run-bin 2019-06-12 20:49:36 +00:00
Matej Šima
072d753e91 Merge branch 'feature/more-operators' into 'dev'
Feature/more operators

See merge request ligolang/ligo!32
2019-06-12 20:34:16 +00:00
Galfour
8f03e537cd Merge branch 'dev' into feature/dry-run-bin 2019-06-12 20:02:39 +00:00
Galfour
07f7af5286 Merge branch 'dev' into feature/more-operators 2019-06-12 19:56:45 +00:00
Galfour
fa5ac47d8f add amount option 2019-06-12 19:13:06 +00:00
Galfour
4c833fc7a3 add one cameligo test 2019-06-12 18:41:29 +00:00
Matej Šima
69f867edee Merge branch 'feature/auto-detect-syntax' into 'dev'
Auto-detect syntax based on file extension

See merge request ligolang/ligo!27
2019-06-12 13:23:52 +00:00
Matej Šima
c2d7678f9a Merge branch 'feature/dry-run-bin' into 'dev'
fix dry-run ; add features to the bin

See merge request ligolang/ligo!30
2019-06-12 09:18:54 +00:00
Georges Dupéron
fdfb00b7a6 Distinguish parameter and storage arguments in --help 2019-06-12 01:28:38 +02:00
Georges Dupéron
6bb5a0f731 Auto-detect syntax based on file extension 2019-06-12 01:12:37 +02:00
Galfour
a75c0ac061 fix dry-run ; add features to the bin 2019-06-11 17:57:07 +00:00
Christian Rinderknecht
582e95f9a8 Enabled user-defined constant constructors in expressions. 2019-06-11 17:10:27 +02:00
Galfour
8c934a6fd8 more operators in the pipeline 2019-06-11 00:52:09 +00:00
Galfour
b512bf31bb add more operators 2019-06-10 22:17:01 +00:00
Galfour
3f8b3fef87 Merge branch 'feature/dry-run-bin' into dev 2019-06-10 22:09:20 +00:00
Galfour
7b9e3b6699 add dry-run to the bin commands 2019-06-10 22:08:56 +00:00
Georges Dupéron
3583d067cc Merge branch '8-reporting-of-error-messages' into 'dev'
Fixed regression (empty lists in Ligodity)

See merge request ligolang/ligo!25
2019-06-10 20:22:29 +00:00
Christian Rinderknecht
37c2152fca Fixed the regression introducted by the previous commit (disallowing empty lists). 2019-06-10 19:59:22 +02:00
Christian Rinderknecht
53314c2c0c Removed "assert" as reserved. Enabled terminating ";" in lists. 2019-06-10 15:19:42 +02:00
Galfour
985eff44a9 more keywords ; add support for sets ; remove assert from keywords 2019-06-10 09:58:16 +00:00
Galfour
f4fc06ce72 some more operators 2019-06-10 01:41:02 +00:00
Galfour
10461764fb add dry-run in cli 2019-06-09 12:08:37 +00:00
Georges Dupéron
b2ec459b08 Added types for mligo map instructions 2019-06-07 15:16:48 +02:00
Christian Rinderknecht
4d121602eb Merge branch '8-reporting-of-error-messages' of gitlab.com:ligolang/ligo into 8-reporting-of-error-messages 2019-06-07 12:48:33 +02:00
Christian Rinderknecht
a8e344c24e Added test for Matej. 2019-06-07 12:48:21 +02:00
Georges Dupéron
743098ecbd added test calling a function with ligo 2019-06-07 11:19:56 +02:00
Galfour
346a6fdbc4 hide compiler errors; fix ligodity's over-eager tuplification 2019-06-06 21:06:33 +00:00
Galfour
a4f895882f more error messages; various fixes 2019-06-06 20:49:36 +00:00
Georges Dupéron
0e36d63ec4 more tests, improved error messages 2019-06-06 20:58:08 +02:00
Galfour
1aff86d464 Merge branch 'dev' into 8-reporting-of-error-messages 2019-06-06 17:37:49 +00:00
Galfour
0fea1c6d78 improve bin pretty printing of errors 2019-06-06 17:37:46 +00:00
Christian Rinderknecht
bff14309e4 Predefined values for Ligodity. Added a few more tests for Ligodity. 2019-06-06 18:40:05 +02:00
Galfour
019d4311ab binary hotfix 2019-06-06 09:30:29 +00:00
Georges Dupéron
dbe4282659 missing files in failwith and guess_string tests, oops. 2019-06-05 20:07:38 +02:00
Georges Dupéron
08626f749c "Guess the string" contract 2019-06-05 19:21:16 +02:00
Georges Dupéron
a0624614ee expect_eq_n: also test 1 (to check the cases 0, 1, many) 2019-06-05 19:21:15 +02:00
Georges Dupéron
02785aa754 Added failwith to camligo 2019-06-05 19:21:15 +02:00
Georges Dupéron
da4e3e5b80 improved --help docs 2019-06-05 19:21:15 +02:00
Georges Dupéron
347774e42b Improved error messages 2019-06-05 19:21:15 +02:00
Christian Rinderknecht
0e01353c7d Finished upgrading the error reporting for Pascaligo. 2019-06-05 17:51:06 +02:00
Georges Dupéron
e0228f352c fix build (my bad) 2019-06-05 14:26:01 +02:00
Georges Dupéron
64e848b2de structured errors for ast_typed/misc.ml 2019-06-05 11:48:33 +02:00
Georges Dupéron
24db060dae Use internal_assertion_fail instead of the simple_error that are just assertions 2019-06-05 11:38:59 +02:00
Georges Dupéron
1750895a65 removed simple_fail from ast_typed/misc.ml 2019-06-05 10:52:41 +02:00
Galfour
1ccaef23fb Merge branch '8-reporting-of-error-messages' of gitlab.com:ligolang/ligo into 8-reporting-of-error-messages 2019-06-05 06:43:45 +00:00
Galfour
1fa727061b add test hierarchy 2019-06-05 06:43:33 +00:00
Christian Rinderknecht
358b2fda83 Merge branch '8-reporting-of-error-messages' of gitlab.com:ligolang/ligo into 8-reporting-of-error-messages 2019-06-04 16:12:39 +02:00
Christian Rinderknecht
97dd2db4b8 I forbade local entry points in Pascaligo (meaningless).
I refactored the projections in Ligodity (AST), so they have the
same name and types as in Pascaligo, which will ease the creation
of module CommonErrors in a file.
2019-06-04 16:12:17 +02:00
Georges Dupéron
22f930b531 locations in error messages in typer.ml where possible 2019-06-04 14:24:24 +02:00
Christian Rinderknecht
8562586bbd Merge branch '8-reporting-of-error-messages' of gitlab.com:ligolang/ligo into 8-reporting-of-error-messages 2019-06-04 13:45:26 +02:00
Christian Rinderknecht
4f60f23769 Finished changing the error reporting. 2019-06-04 13:45:21 +02:00
Galfour
44d6f31a1d Merge branch '8-reporting-of-error-messages' of gitlab.com:ligolang/ligo into 8-reporting-of-error-messages 2019-06-04 08:21:24 +00:00
Galfour
388c5e6a09 errorm messages for the transpiler 2019-06-04 08:21:13 +00:00
Georges Dupéron
987d65f227 Structured error messages for typer (still needs to print srclocs) 2019-06-04 03:27:29 +02:00
Christian Rinderknecht
fd3460c890 Added more newly styled error message triggering. 2019-06-03 19:23:40 +02:00
Georges Dupéron
8ada684e34 More structured errors 2019-06-03 19:00:00 +02:00
Georges Dupéron
eee4367df9 More structured errors 2019-06-03 17:50:16 +02:00
Christian Rinderknecht
963507ddc0 Fixed the "end of stream" in the Ligodity parser. Started replacing
new error reporting in ligodity.ml.
2019-06-03 17:43:25 +02:00
Georges Dupéron
c2643f5b4c Use structured errors in typer 2019-06-03 16:09:31 +02:00
Georges Dupéron
0e484f5bc1 Started matching errors in typechecker 2019-06-03 14:56:29 +02:00
Galfour
0e17e8b274 minor fixes 2019-06-03 12:23:46 +00:00
Galfour
b65c9ca67f fix cli 2019-06-03 11:07:24 +00:00
Galfour
8c81432281 modify trace; oldify multifix 2019-06-03 10:33:13 +00:00
Galfour
a7298dc16d fix cli.ml 2019-06-01 11:51:49 +00:00
Galfour
6febd855c4 fix ligodity; add it to the bin; add source locations; merge 2019-06-01 11:29:31 +00:00
Galfour
8d6f19ac6c very unstable state 2019-06-01 08:37:43 +00:00
Galfour
055bee804e fix ligodity issues 2019-05-31 22:03:06 +00:00
Galfour
320d0c1a72 various refactorings to prepare tests; tests for ligodity don't pass 2019-05-31 19:56:51 +00:00
Galfour
009b0331e9 add cameligo to the cli 2019-05-29 22:13:04 +00:00
Galfour
79af0abab3 propagate source-code locations to ast_typed 2019-05-28 17:02:40 +00:00
Galfour
5b42d72e41 propagate source code locations from ligodity 2019-05-28 16:34:53 +00:00
Galfour
79b88ab4ba Merge branch 'master' of gitlab.com:ligolang/ligo 2019-05-28 15:47:29 +00:00
Gabriel Alfour
9059c3c2f1 Merge branch 'rinderknecht-dev' into 'master'
Added simplifications of Ligodity for lambdas, sequences and conditionals.

See merge request ligolang/ligo!5
2019-05-28 15:47:16 +00:00
Galfour
c32ace3afc propagate source code locations 2019-05-28 15:36:14 +00:00
Christian Rinderknecht
af8e9bd238 Added simplifications of Ligodity for lambdas, sequences and
conditionals.

Enabled in parser a type annotation on lambda parameter, and
lifted the existing type annotation in patterns to become that
type annotation.
2019-05-28 17:00:43 +02:00
Galfour
50868302c6 minor rewriting; add docs 2019-05-28 10:46:22 +00:00
Christian Rinderknecht
28b84e1e65 Fixed the translation of let-in. 2019-05-24 19:31:39 +02:00
Georges Dupéron
a0936d8eb5 Moved repository to ligolang namespace 2019-05-24 11:36:39 +02:00
Galfour
0b6f0e03be add basic doc in operators/operators.ml 2019-05-23 15:43:30 +00:00
Galfour
a852f4997c rewrote operators 2019-05-23 12:16:12 +00:00
Galfour
6ee5aff962 merge and fix 2019-05-23 07:49:06 +00:00
Galfour
c69c98c7fa Merge branch 'master' of gitlab.com:gabriel.alfour/ligo 2019-05-23 06:49:21 +00:00
Galfour
c085dae123 remove annotations from ast_simplified; make annotation expression explicit; locally very limited propagation of constraints in binding cases 2019-05-23 06:22:58 +00:00
Christian Rinderknecht
193febc83e Merge branch 'master' of gitlab.com:gabriel.alfour/ligo 2019-05-22 19:38:40 +02:00
Christian Rinderknecht
24a1068dd4
Refactoring of the parser and AST so "let" constructs bind
exactly one variable. (Unfinished)

Fixed minor error in error printing in Lexer.

Added test in ParseMain.ml on --verbose=parser.
2019-05-22 19:38:09 +02:00
Galfour
9d873c382b remove statements from everywhere (very atomic commit) 2019-05-22 00:46:59 +00:00
Christian Rinderknecht
331b11dcca
Refactored the AST and fixed the symlinks. 2019-05-20 21:42:11 +02:00
Galfour
46d07c55ea remove statements from mini_c 2019-05-20 16:26:55 +00:00
Galfour
2a091edbc0 transpile to mini_c expressions 2019-05-20 16:17:26 +00:00
Galfour
e48a5fde28 preparing removal of statements in Mini_c 2019-05-20 08:38:38 +00:00
Galfour
2dd7e2668c merge 2019-05-17 17:55:46 +00:00
Galfour
97adaad836 preparations for statements removal 2019-05-17 17:36:57 +00:00
Georges Dupéron
c773fe61ce revert let_in as lambda and add let_in 2019-05-17 19:14:00 +02:00
Galfour
ccdbd5bbd0 fix 2019-05-17 16:18:03 +00:00
Galfour
a94bf665f3 Merge branch 'master' of gitlab.com:gabriel.alfour/ligo 2019-05-17 16:06:57 +00:00
Galfour
21f09da759 remove environment from transpilation of expressions 2019-05-17 16:03:41 +00:00
Christian Rinderknecht
6028cd9abd
I enabled constant data constructors. I added more to the documentation. 2019-05-17 16:29:22 +02:00
Christian Rinderknecht
90a9e1a783 In the process of optimising immediate applications as let-in [Broken]. 2019-05-16 18:17:27 +02:00
Christian Rinderknecht
3c46b99202 Merge branch 'master' of gitlab.com:gabriel.alfour/ligo 2019-05-16 10:58:29 +02:00
Christian Rinderknecht
37c9d1ff64
Added mini-documentation of internals. Fixing links after change of
git repository.
2019-05-16 10:18:05 +02:00
Galfour
4e76b5344d add last expressions in mini_c 2019-05-16 08:12:53 +00:00
Galfour
32ecf8cfca add expression constructions to mini_c 2019-05-15 22:00:18 +00:00
Galfour
df1916a1b9 normalizing renaming 2019-05-15 21:05:09 +00:00
Galfour
1029f42aac minor renamings 2019-05-15 18:28:25 +00:00
Galfour
7a5130f51f remove environments from mini_c 2019-05-15 18:16:28 +00:00
Georges Dupéron
d433dd85fc Add module aliases and dependencies 2019-05-15 17:21:12 +02:00
Georges Dupéron
da87f9ca86 Add implicit open of Simple_utils in ligodity 2019-05-15 17:10:57 +02:00
Christian Rinderknecht
c60329ef78 Fixed the build (which I broke, sorry). 2019-05-15 16:05:03 +02:00
Christian Rinderknecht
3d9775edb3 More rewrites. [Still not compiling.] 2019-05-15 16:05:03 +02:00
Christian Rinderknecht
af8d1083b7 Eased the translation from Ligodity AST to Liquidity AST.
More precisely,

  * I commented out the operator "@" on lists in Ligodity (it can
    be implemented as a function, as a workaround).

  * I removed the parallel "let" construct (hence the "and" keyword).

  * I renamed the type "field_assignment" into "field_assign", in
    order to match Pascaligo AST.

  * The reading of the command-line options is now done by
    calling the function [EvalOpt.read], instead of an ugly
    side-effect when loading the binary of the module. Options
    are now found in a record of type [EvalOpt.options].

  * I added support in the Ligodity lexer for #include CPP
    directives.
2019-05-15 16:05:03 +02:00
Christian Rinderknecht
fdf7704a7c Fixed the type for ECall. 2019-05-15 16:05:03 +02:00
Christian Rinderknecht
bb5dadca55 Modifying pascaligo.ml to become ligodity.ml [BROKEN]. 2019-05-15 16:05:03 +02:00
Christian Rinderknecht
7de4a1802a Additions and refactoring so the AST gets even closer to that of PAscaligo.
* Added type annotations for expressions.
* Added bytes.
* Changed the AST for function calls
* Changed the AST for constructor applications
2019-05-15 16:05:03 +02:00
Christian Rinderknecht
011ae44b54 Finished narrowing the gap between Ligodity AST and Pascaligo AST. 2019-05-15 16:05:03 +02:00
Christian Rinderknecht
0796567aee Further reducing the distance from Ligodity AST to Pascaligo AST. 2019-05-15 16:05:03 +02:00
Christian Rinderknecht
dcbfbf781d Extended lib_utils/pos.ml{i}. First import of Ligodity. (No "simplify" yet.) 2019-05-15 16:04:37 +02:00
Georges Dupéron
22b331dbed Added tests to build, fixed some unused variables. 2019-05-15 15:17:04 +02:00
Galfour
3c6af09b21 fix warning; fix error in tests 2019-05-15 11:44:05 +00:00
Georges Dupéron
c43570a82d Move into src/; add vendors/ subfolder, add CI script. 2019-05-14 17:53:44 +02:00