Suzanne Dupéron
1b710bd952
Very rough cleanup new of the typer
2020-04-13 23:10:01 +02:00
Suzanne Dupéron
e001154714
with_xxx shorthands for fold configurations
2020-04-13 19:23:12 +02:00
Suzanne Dupéron
b536d3f591
Remove early Perl 5 and Python versions of the ADT generator
2020-04-13 19:23:12 +02:00
Suzanne Dupéron
ded76b41d6
Adt generator: split structure into smaller structures; use the monad; reordered function, state and value arguments to match the order of List.fold_left.
2020-04-13 19:23:12 +02:00
Suzanne Dupéron
1e1728e5dd
[WIP, does not build] Remove some polymorphism : customized visitors must be specific to their accumulator type
2020-04-13 19:23:12 +02:00
Suzanne Dupéron
642c947ee4
[WIP, does not build] adt_generator move polymorphism into the fields, start getting rid of the large let rec
2020-04-13 19:23:12 +02:00
Suzanne Dupéron
253da1e9f5
Break down the large fold_config structure into smaller structures
2020-04-13 19:23:12 +02:00
Suzanne Dupéron
2991e48ce6
Implemented folds for the collections (lists and maps)
2020-04-13 19:23:12 +02:00
Suzanne Dupéron
9639c2f775
WIP on making the AST compatibile with the ADT generator
2020-04-13 19:23:12 +02:00
Suzanne Dupéron
ba9441a134
moved adt_generator tests to a separate folder
2020-04-13 19:23:12 +02:00
Suzanne Dupéron
9d25773d61
Records in ast_typed for match_variant and declaration_constant
2020-04-13 19:23:12 +02:00
Suzanne Dupéron
fcbcea9382
Turned some of the mathcing_content tuples into records
2020-04-13 19:23:12 +02:00
Suzanne Dupéron
79593e6f3e
Turned some of the tuples into records
2020-04-13 19:23:12 +02:00
Suzanne Dupéron
58fc08b6a7
ADT generator: add support for open and include
2020-04-13 19:23:12 +02:00
Suzanne Dupéron
516a3a85ff
Inlined stage common in ast_typed (fix OCaml type errors)
2020-04-13 19:23:12 +02:00
Suzanne Dupéron
b3b8fab26d
[does not build] Inlined stage common in ast_typed
2020-04-13 19:23:12 +02:00
Suzanne Dupéron
08aefa4580
Use unique field names in generic.ml and re-enable warning 30 there
2020-04-13 19:23:12 +02:00
Suzanne Dupéron
12aec6edd0
Generic fold example: OCaml printer for an arbitrary ADT
2020-04-13 19:23:12 +02:00
Suzanne Dupéron
a49f0806c0
ADT generator: produce info for metaprogramming
2020-04-13 19:23:12 +02:00
Suzanne Dupéron
be38b5269c
ADT generator: Stop promoting the generated file, because it breaks the build on the CI (why?)
2020-04-13 19:23:12 +02:00
Suzanne Dupéron
ab8274eae2
Install perl6 instead of the painful-to-install python3+fstrings
2020-04-13 19:23:12 +02:00
Suzanne Dupéron
20a51381bc
ADT generator: Parser for OCaml ADTs, WIP on adding info
2020-04-13 19:23:12 +02:00
Suzanne Dupéron
e92ba202cf
Added Perl 5 and Raku (A.K.A. Perl 6) translations of the ADT generator. Their outputs are identical.
2020-04-13 19:23:12 +02:00
Suzanne Dupéron
6585ce3a09
Install future-fstrings to get f-strings in Python 3.5 and earlier.
2020-04-13 19:23:12 +02:00
Suzanne Dupéron
2cbc8bbf0c
Revert "Revert "Merge branch 'feature/adt-generator-poly-3' into 'dev'""
...
This reverts commit 8b83e375bd
.
2020-04-13 19:23:12 +02:00
Christian Rinderknecht
1ccf6f247d
Fixed format of syntax error messages.
2020-04-13 16:31:56 +02:00
Christian Rinderknecht
ffb3d05864
Changed a bit how syntax error messages are formulated.
...
Resolved a warning.
2020-04-13 14:19:56 +02:00
Christian Rinderknecht
af48efe195
Fix by Sander.
2020-04-13 14:03:30 +02:00
Christian Rinderknecht
f7b0c4fe6b
Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht@preproc
2020-04-13 14:01:41 +02:00
Sander Spies
d9148699cc
Fix contract tests
2020-04-13 13:58:58 +02:00
Sander Spies
6a6c8468a6
Remove annotations from michelson or.
2020-04-13 10:59:36 +02:00
Sander Spies
42b05c0437
Test tuples without annotations.
2020-04-13 10:31:09 +02:00
Sander Spies
a4a8e9d2bc
Remove tuple annotation.
2020-04-13 10:24:40 +02:00
Christian Rinderknecht
b23b2d1dbb
Plugged the preprocessor into the compiler's CLI.
2020-04-12 15:26:47 +02:00
Sander Spies
6f0fb02bf6
Ensure that the right error is called when using the wild pattern incorrectly.
2020-04-12 14:57:39 +02:00
Christian Rinderknecht
3ed303f60d
In EvalOpt modules, the CLI input ["-"] is becomes now [None],
...
like the absence of an input filename. (This simplifies all the
clients codes.) Fixed the dune file for the preprocessor. Fixed
the build of PreprocMain.exe and PreprocMain.byte. Restricted
preprocessing errors [Preproc.Newline_in_string] and
[Preproc.Open_string] to the argument of the #include
directive (instead of general strings: this is for the LIGO lexer
to report the error). I removed the error [Preproc.Open_comment]
as this is for the LIGO lexer to report. The preprocessor scanner
[Preproc.lex] does not take a parameter [is_file:bool] now: the
source file (if any) is determined from the lexing
buffer. Accordingly, the field [is_file] of the state of the
preprocessing lexer has been removed: the lexing buffer becomes
now the reference for the input source (bug fix and interface
improvement). Fixed the comments of the test contract
pledge.religo. I removed the data constructor [Lexer.Stdin], as
redundant with [Lexer.Channel].
2020-04-09 16:18:26 +02:00
Christian Rinderknecht
46eecb4027
Marked the errors that should be skipped (because catched by the
...
LIGO lexer later). Added field [is_file] to the state of the
lexer to know if the input is a file or not (insert or not a
first line directive). Fixed ReasonLIGO comments in
entrypoints-contracts.md and website2.religo. WIP on the LIGO
lexer to properly handle comments for all the syntaxes.
2020-04-08 20:24:34 +02:00
Christian Rinderknecht
79967be726
Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht@preproc
2020-04-08 17:40:13 +02:00
Lesenechal Remi
f9d1928d8e
michelson_or tests and changelog
2020-04-07 21:38:12 +02:00
Lesenechal Remi
be5ad35fb9
Force annotation for michelson_or
2020-04-07 21:36:59 +02:00
Lesenechal Remi
4af42cb1bd
michelson_or types are transformed into variant types
2020-04-07 21:36:59 +02:00
Christian Rinderknecht
951348feb9
Deletion of Parser.msg
2020-04-07 19:56:52 +02:00
Christian Rinderknecht
53223e9d8e
Cosmetics.
2020-04-07 18:57:43 +02:00
Christian Rinderknecht
a343989a6b
Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht@preproc
2020-04-07 18:57:10 +02:00
Christian Rinderknecht
c0ee726fb2
Simple_utils is now used as a library by the local builds.
...
Preprocessor is now a library installed by opam.
Replaced ligolang@gmail.com by contact@ligolang.org in opam files.
Reformatted some opam files.
Removed #line directive from preprocessor.
Added to the interface of ParserUnit.
Script messages.sh now checks the identity of .msg and .msg.old
to avoid undue warning about possibly different LR items.
2020-04-07 18:33:46 +02:00
Pierre-Emmanuel Wulfman
79540f9a40
ediv implemented and tested; parser gives error
2020-04-06 18:23:26 +02:00
Sander Spies
38edf5ce74
Add support for record expressions of only one field.
2020-04-06 16:09:38 +02:00
Christian Rinderknecht
1941f9ae4b
Shared more code in ParserUnit.ml
...
Rewrite of the integration of the preprocessor.
Compiles bt DOES NOT PASS THE CI.
2020-04-03 19:08:14 +02:00
Christian Rinderknecht
6c1a1f91e2
Removed error "Invalid directive" as PascaLIGO has the operator #
.
2020-04-03 19:06:35 +02:00
Pierre-Emmanuel Wulfman
b41a59d2cf
ast-imperative
2020-04-03 17:40:35 +02:00
Pierre-Emmanuel Wulfman
1f118f7233
ast-sugar
2020-04-03 17:40:35 +02:00
Pierre-Emmanuel Wulfman
bc7df6a5b4
ast_core
2020-04-03 17:40:35 +02:00
Sander Spies
d0ccaabf3e
Documentation
2020-04-03 14:58:20 +02:00
Sander
cbf2c7680e
Merge branch 'wild-args-reasonligo' into 'dev'
...
ReasonLIGO: Add support for _ as an argument
See merge request ligolang/ligo!527
2020-04-02 11:57:32 +00:00
Christian Rinderknecht
2e528e3e49
Merge branch 'toplevel-doc' into 'dev'
...
Add toplevel page for API reference.
See merge request ligolang/ligo!543
2020-04-02 11:36:24 +00:00
Sander Spies
a7d4f6691b
Forgot a word.
2020-04-02 13:02:44 +02:00
Sander Spies
d0094addd2
Add markdown files to md_file_tests
2020-04-02 12:40:55 +02:00
Sander Spies
951235d105
Merge
2020-04-02 10:31:52 +02:00
Tom Jack
6fed8998bb
Somewhat better PP for ast_core and mini_c
2020-04-01 14:32:52 -05:00
Christian Rinderknecht
f5e0dad979
Added # line directive at the start to recover the file name. Continued integration.
2020-04-01 19:22:46 +02:00
Sander Spies
86de9d27e7
Add errors for properly handling let x = _
cases.
2020-04-01 18:08:31 +02:00
Sander Spies
ec7c6e8ad9
Error message shows up again.
2020-04-01 16:34:36 +02:00
Sander Spies
c764f89881
Merge
2020-04-01 15:50:59 +02:00
Pierre-Emmanuel Wulfman
9dc7e7fcb9
Add E_cond as sugar (if .. then .. else ..) for match_bool
2020-04-01 14:14:20 +02:00
Christian Rinderknecht
968e73b342
Integrated the library for preprocessing.
...
The build with Makefile works. Dune build to be tested.
2020-03-31 19:44:10 +02:00
Pierre-Emmanuel Wulfman
1fff3dee21
Merge branch 'ast/tuples_are_back' into 'dev'
...
Adding tuples in ast_sugar
See merge request ligolang/ligo!521
2020-03-31 16:04:19 +00:00
Pierre-Emmanuel Wulfman
c9e509f636
review 1
2020-03-31 17:05:42 +02:00
Pierre-Emmanuel Wulfman
13e9405dee
adding tuples in ast_sugar
2020-03-31 17:04:53 +02:00
Sander Spies
0d46be7425
Change not existing mutez type to existing tez type
2020-03-31 17:00:17 +02:00
Sander Spies
9fc3c3f01b
merge
2020-03-31 14:15:32 +02:00
Sander Spies
c8175a7550
Inline attribute documentation
2020-03-31 14:11:22 +02:00
Pierre-Emmanuel Wulfman
aac7dd3462
review 1
2020-03-30 17:56:17 +02:00
Pierre-Emmanuel Wulfman
6a9547e910
add type map_or_big_map to solve issue of typing big_map_empty from map_add
2020-03-30 17:55:02 +02:00
Pierre-Emmanuel Wulfman
330c48e66a
remove Map and BIG_Map
2020-03-30 17:55:02 +02:00
Pierre-Emmanuel Wulfman
a39c900b72
remove set and list
2020-03-30 17:55:00 +02:00
Pierre-Emmanuel Wulfman
c5d9c9ffa3
remove look_up
2020-03-30 17:54:16 +02:00
Pierre-Emmanuel Wulfman
d91753e493
remove case e_sequance (e_assing, expr)
2020-03-30 14:40:28 +02:00
Pierre-Emmanuel Wulfman
21e8298a4e
add assign back
2020-03-30 14:28:31 +02:00
Pierre-Emmanuel Wulfman
4003aa4e06
add for, for_each, while construct in ast_imperatve;\n Move the treatment of loops and handling of the assignment in imperative_to_sugar
2020-03-27 16:52:44 +01:00
Sander Spies
1ac6835726
Some changes to get around the negative test errors.
2020-03-27 16:29:50 +01:00
Sander Spies
62d1a77b3d
ReasonLIGO: Add support for _ as an argument
2020-03-26 20:40:18 +01:00
Sander
91a6affdad
Merge branch 'enfore_not_allowing_big_maps' into 'dev'
...
Give an error when nesting a big_map inside another big_map
See merge request ligolang/ligo!518
2020-03-26 10:39:18 +00:00
Sander Spies
cb54cd1210
Lambda's and keys shouldn't give errors for nesting big maps.
2020-03-26 09:23:43 +01:00
Sander Spies
7e59312454
Merge
2020-03-25 17:18:53 +01:00
Pierre-Emmanuel Wulfman
9b192d8ba2
done
2020-03-25 16:23:56 +01:00
Sander Spies
caac8caf8e
Add test for tuple list in ReasonLIGO
2020-03-24 14:16:08 +01:00
Sander Spies
af319ba236
Merge branch 'dev' of https://gitlab.com/ligolang/ligo into rinderknecht@reasonligo_parsing
...
# Conflicts:
# src/passes/1-parser/reasonligo/error.messages.checked-in
2020-03-24 14:10:30 +01:00
Sander Spies
d059cf991b
Give an error when nesting a big_map inside another big_map
2020-03-24 13:58:18 +01:00
Pierre-Emmanuel Wulfman
6cafb4026b
adding E_sequence in sugar
2020-03-18 18:13:02 +01:00
Pierre-Emmanuel Wulfman
cb1bc95d59
remove E_skip from core
2020-03-18 16:16:43 +01:00
Pierre-Emmanuel Wulfman
5a4c0b32fb
rewrite test suite to compare value from ast_imperative instead of ast_core; includes uncompiler fo stage 4 and 6
2020-03-18 16:00:34 +01:00
Pierre-Emmanuel Wulfman
6dd7afbeb1
change passes name concrete_to_imperative, imperative_to_sugar, sugar_to_core
2020-03-18 16:00:34 +01:00
Pierre-Emmanuel Wulfman
8b3877a92c
rename AST to imperative, sugar and core. Factor code in compile
2020-03-18 16:00:34 +01:00
Pierre-Emmanuel Wulfman
6dfd2dac32
test passed
2020-03-18 16:00:34 +01:00
Pierre-Emmanuel Wulfman
2abd737ed3
compiling
2020-03-18 16:00:34 +01:00
Sander
78ae61c5e0
Add remaining API docs
2020-03-17 15:38:41 +00:00
Lesenechal Remi
97a85766d3
add a flag to disable michelson typechecking in compile-contract
2020-03-16 12:19:23 +01:00
Pierre-Emmanuel Wulfman
8a0e1dfea4
dune promote
2020-03-12 18:50:42 +01:00
Lesenechal Remi
3a80fadcc8
rewrite interpreter recursion within the initial formalism.
2020-03-12 18:16:56 +01:00
Pierre-Emmanuel Wulfman
660dcbb79f
review 3
2020-03-12 16:05:17 +01:00
Pierre-Emmanuel Wulfman
c17a749078
review 2
2020-03-12 16:05:17 +01:00
Pierre-Emmanuel Wulfman
dbb6fbd8e6
review 1
2020-03-12 16:05:17 +01:00
Pierre-Emmanuel Wulfman
abbc20459c
add doc and test
2020-03-12 16:05:17 +01:00
Pierre-Emmanuel Wulfman
a5f44d3e88
clean-up junk
2020-03-12 16:05:17 +01:00
Sander Spies
51251f9464
Remove debug text
2020-03-12 16:05:17 +01:00
Sander Spies
8a183ff1d2
Fixing error.messages.
2020-03-12 16:05:17 +01:00
Sander Spies
6e76a5d96d
Update messages file
2020-03-12 16:05:17 +01:00
Pierre-Emmanuel Wulfman
092360de93
WIP: fix parser error
2020-03-12 16:05:17 +01:00
Pierre-Emmanuel Wulfman
27f583266e
test for tail recursion
2020-03-12 16:05:17 +01:00
Pierre-Emmanuel Wulfman
c46002b160
modifying doc and test for loops (Cameligo and pascaligo)
2020-03-12 16:05:17 +01:00
Pierre-Emmanuel Wulfman
fa5983e9d3
fix contrat religo
2020-03-12 16:05:17 +01:00
Pierre-Emmanuel Wulfman
b15d9a5123
compiling Pascaligo
2020-03-12 16:05:17 +01:00
Pierre-Emmanuel Wulfman
e7c71ae4cc
passing test for Cameligo
2020-03-12 16:05:17 +01:00
Pierre-Emmanuel Wulfman
b2f0e8bbc4
WIP: adding E_recursive in ast
2020-03-12 16:05:17 +01:00
Pierre-Emmanuel Wulfman
734620a179
Keyword add for pasca,came,reason:ligo;typing error in contract
2020-03-12 16:05:17 +01:00
Christian Rinderknecht
b51818bc4e
Fixed parsing and source pretty-printing of recursive functions.
2020-03-12 16:05:17 +01:00
Pierre-Emmanuel Wulfman
68b6e6d3b0
remove option(recursive) in Parser.mly; parse error still
2020-03-12 16:05:17 +01:00
Pierre-Emmanuel Wulfman
b438f065b5
WIP:adding rec keyword
2020-03-12 16:05:17 +01:00
Pierre-Emmanuel Wulfman
1597d1eaf4
WIP: recursion
2020-03-12 16:05:17 +01:00
Sander Spies
678a3bee59
Fix error messages.
2020-03-10 16:43:29 +01:00
Sander Spies
a94753f720
Re-add error messages.
2020-03-10 16:39:05 +01:00
Sander Spies
d273d0fbfe
Merge.
2020-03-10 16:33:24 +01:00
Sander Spies
31e8035e6a
Remove incorrect Big_map operations.
2020-03-10 14:52:59 +01:00
Sander Spies
bcb77c6305
Merge
2020-03-10 12:55:51 +01:00
Sander Spies
608a7b7f95
- Refactor operators.ml to have shared pseudo modules.
...
- Fix tests for big_map
2020-03-10 12:54:18 +01:00
Pierre-Emmanuel Wulfman
4ed4203b46
Merge branch '145-entry-point-name-length-limit' into 'dev'
...
Resolve "Entry point name length limit"
Closes #145
See merge request ligolang/ligo!446
2020-03-09 18:24:09 +00:00
Pierre-Emmanuel Wulfman
1e36c64d42
Merge branch 'ast/loop_into_recursion' into 'dev'
...
Removes loops
See merge request ligolang/ligo!492
2020-03-09 18:24:07 +00:00
Tom Jack
8806b52b68
Merge branch 'add-crypto-check-example' into 'dev'
...
Add working example of Crypto.check
See merge request ligolang/ligo!475
2020-03-09 18:05:59 +00:00
Lesenechal Remi
66aca916bf
mapping over type_operator types is useless
2020-03-09 18:29:07 +01:00
Lesenechal Remi
503d8f771e
add tests for sum type names limit length
2020-03-09 18:29:07 +01:00
Lesenechal Remi
5a15feadc1
now map over type declarations
2020-03-09 18:29:07 +01:00
Lesenechal Remi
bc7a4daa64
add 'mapi' equivalent for label and constructor maps
2020-03-09 18:29:05 +01:00
Pierre-Emmanuel Wulfman
e436a0a08a
removes loops
2020-03-09 18:24:02 +01:00
Lesenechal Remi
25f004844a
self: now reject capitalized entrypoint annotation
2020-03-09 11:23:08 +01:00
Lesenechal Remi
b7c08b78d5
self operator now takes an entrypoint annotation as parameter
2020-03-09 11:23:08 +01:00
Lesenechal Remi
e2776e9849
New checks in the self_ast_typed pass:
...
* Ast_typed stage is now aware of the main function name
* main function type is checked against expected contract types
* Tezos.self (returning contract type) is checked against main function type
* In general, Ast_typed.compile signature has been changed to enable/disable contract-related checks
2020-03-09 11:23:08 +01:00
Lesenechal Remi
f0ad2fed04
new pass : self_ast_typed
2020-03-09 11:23:08 +01:00
Lesenechal Remi
550e6b084b
new constant : add self (michelson SELF)
2020-03-09 11:23:08 +01:00
Pierre-Emmanuel Wulfman
49625001b1
Fix simplifyer and test
2020-03-07 02:39:39 +01:00
Pierre-Emmanuel Wulfman
558f3f5e80
fix annotation for funciton in ReasonLigo
2020-03-07 02:00:29 +01:00
Sander Spies
c95f4ee02c
Merge
2020-03-06 08:38:07 +01:00
John David Pressman
0f8c7876cd
Merge branch 'dev' into contract/pledge-distribute
2020-03-05 14:22:41 -08:00
Lesenechal Remi
9de04123d3
--balance option and updated tests
2020-03-05 20:52:47 +01:00
Tom Jack
d10b95357f
Detect gas exhaustion while typechecking
2020-03-05 10:43:40 -06:00
John David Pressman
168a4d5b84
Add pledge-distribute contract
2020-03-05 00:24:55 -08:00
Pierre-Emmanuel Wulfman
adc31a6e01
Merge branch 'rinderknecht@contracts' into 'dev'
...
Refactoring of the test contracts
See merge request ligolang/ligo!465
2020-03-04 19:26:50 +00:00
Tom Jack
0871fe9c59
Merge branch 'feature/remove-assignment-mini_c' into 'dev'
...
Remove (unused) assignment from mini_c
See merge request ligolang/ligo!454
2020-03-04 18:38:18 +00:00
Tom Jack
8f6f4398dd
Add working example of Crypto.check
2020-03-04 12:03:58 -06:00
Christian Rinderknecht
8f0b1b9c32
I forgot to promote this negative test.
2020-03-04 18:05:29 +01:00
Christian Rinderknecht
2b01dd78fc
Fixed the parsing of type t = list ((u,v));
2020-03-04 16:45:05 +01:00