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
Suzanne Dupéron
81ab0267f5
cleanup
2019-10-16 22:19:32 -04: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
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