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
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
Sander Spies
a7d4f6691b
Forgot a word.
2020-04-02 13:02:44 +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
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
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 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
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
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
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
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
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
Sander Spies
678a3bee59
Fix error messages.
2020-03-10 16:43:29 +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
Lesenechal Remi
66aca916bf
mapping over type_operator types is useless
2020-03-09 18:29:07 +01:00
Lesenechal Remi
5a15feadc1
now map over type declarations
2020-03-09 18:29:07 +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
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
Christian Rinderknecht
2b01dd78fc
Fixed the parsing of type t = list ((u,v));
2020-03-04 16:45:05 +01:00
Christian Rinderknecht
8b2a182c6a
Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht@contracts
2020-03-04 15:59:47 +01:00
Christian Rinderknecht
d43209f1a1
Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht@contracts
2020-03-04 15:26:43 +01:00
Pierre-Emmanuel Wulfman
4f13a33d46
fix bug with wrong annotation at the beginning
2020-03-04 10:35:34 +01:00
Pierre-Emmanuel Wulfman
89f2b44e7d
Works also when the function parameter are passed in the rhs
...
Fix some religo contract
2020-03-04 10:35:34 +01:00
Pierre-Emmanuel Wulfman
5159f293f8
Repare function annotation in let binding for Camligo and ReasonLigo and fix some contracts
2020-03-04 10:35:34 +01:00
Tom Jack
ac374ed2ba
Remove debug printfs
2020-03-03 23:47:10 -06:00
Lesenechal Remi
1e5abda3ee
create contract : conservative restrictions & errors in typer, before inlining/beta optimizations
2020-03-03 13:46:11 +01:00
Lesenechal Remi
ffd792e2f8
CREATE_CONTRACT: add a check in the typer to allow only closures
2020-03-03 13:46:11 +01:00
Lesenechal Remi
ad7024c62b
compiler: compile CREATE_CONTRACT
2020-03-03 13:46:11 +01:00
Lesenechal Remi
4e48026daa
typer: typing C_CREATE_CONTRACT
2020-03-03 13:46:11 +01:00
Christian Rinderknecht
00e6959503
Refactoring of the test contracts.
2020-03-02 18:01:56 +01:00
Tom Jack
8229d6a6af
Remove (unused) assignment from mini_c
2020-02-28 13:58:29 -06:00
Christian Rinderknecht
a9214f864d
Reviewing again the PascaLIGO contracts.
2020-02-27 19:09:14 +01:00
Gabriel Alfour
4d61c2285c
Merge branch '151-union-type-option-names-collision-when-matching' into 'dev'
...
Resolve "Union type option names collision when matching"
Closes #151
See merge request ligolang/ligo!457
2020-02-27 09:24:17 +00:00
Lesenechal Remi
a08adbd085
typer: checks for constructor redundancy
2020-02-26 18:54:16 +01:00
Sander Spies
1522a7d2e4
Update error.messages for PascaLIGO.
2020-02-26 15:07:14 +01:00
Christian Rinderknecht
623e16459f
Changed Loop.continue to Loop.resume.
2020-02-26 13:36:50 +01:00
Christian Rinderknecht
31a39bffbc
I upgraded the parsers to accept Map.map
etc. I rewrote the doc except "reference" to promote and deprecate built-ins.
2020-02-25 18:07:53 +01:00
Christian Rinderknecht
d7dd064095
Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht@doc
2020-02-25 16:40:23 +01:00
Lesenechal Remi
4c2529b83c
allow constructor without parameters
2020-02-25 14:54:08 +01:00
Christian Rinderknecht
f4d688df7b
Fixed the tutorial. Enabled underscores in tez amounts. Fixed docs on
...
Tez and tuples (zero-indexation).
2020-02-21 17:16:53 +01:00
Rémi Lesenechal
040ed8b6ff
Merge branch 'feature/subtler-nontail-fail' into 'dev'
...
Fix non-tail fail avoidance
See merge request ligolang/ligo!438
2020-02-21 13:50:25 +00:00
Tom Jack
01531ac307
Support lowercase in hex bytes
2020-02-20 12:07:01 -06:00
Tom Jack
4c53fa4ae6
Fix non-tail fail avoidance
2020-02-20 09:58:17 -06:00
Suzanne Dupéron
ce4c2ee783
Merge branch 'feature/ast-cleanup-ocaml-tuples' into 'dev'
...
AST cleanup + replace OCaml tuples with record in ast_typed
See merge request ligolang/ligo!429
2020-02-20 14:57:07 +00:00
Suzanne Dupéron
4f36ff3bcb
Replace OCaml tuples with record in ast_typed
2020-02-20 14:21:30 +01:00
John David Pressman
62fe576bc9
Revert "Merge branch 'fix/pascal-tuples-in-doc' into 'dev'"
...
This reverts merge request !437
2020-02-20 05:25:30 +00:00
Pierre-Emmanuel Wulfman
8d01fcb9f7
Merge branch 'fix/pascal-tuples-in-doc' into 'dev'
...
Make Tuple in PascaLigo starting at one
See merge request ligolang/ligo!437
2020-02-19 17:15:29 +00:00
Pierre-Emmanuel Wulfman
0b10b7188b
Merge branch 'test-contract-religo' into 'dev'
...
Multisig contract test for Cameligo and ReasonLigo
See merge request ligolang/ligo!421
2020-02-19 17:08:30 +00:00
Pierre-Emmanuel Wulfman
dcb342e031
add primitive to cameligo
2020-02-19 16:40:55 +01:00
Pierre-Emmanuel Wulfman
b8af9a56d9
fix contract with tuples starting at one
2020-02-19 16:15:43 +01:00
Pierre-Emmanuel Wulfman
eee6dbaeb2
make while_loop, for_int and for_collect more similar
2020-02-19 14:41:16 +01:00
Pierre-Emmanuel Wulfman
9de45285b2
remove Var.show
2020-02-18 14:19:11 +01:00
Pierre-Emmanuel Wulfman
c468cb94a1
remove unused code
2020-02-18 14:16:05 +01:00
Lesenechal Remi
fd28da98a0
comparable pairs in the backend
2020-02-18 12:19:19 +01:00
Lesenechal Remi
39fc076c2b
fix regression of comparison of key_hash and add a test for it
2020-02-13 16:44:21 +01:00
Suzanne Dupéron
a1880b013b
Fix #147 by allowing comparison of bools
2020-02-12 20:22:59 +01:00
John David Pressman
953e91bc54
Remove Current.gas from LIGO
2020-02-12 02:24:58 -08:00
Suzanne Dupéron
437b696b19
Merge branch 'feature/some-new-typer-constant-contraints' into 'dev'
...
some more contraints (untested) for the typer
See merge request ligolang/ligo!404
2020-02-12 01:12:24 +00:00
Rémi Lesenechal
8b83e375bd
Revert "Merge branch 'feature/adt-generator-poly-3' into 'dev'"
...
This reverts merge request !403
2020-02-11 10:45:08 +00:00
Lesenechal Remi
702416a0a7
fix continuation and add some comments
2020-02-11 11:05:43 +01:00
Suzanne Dupéron
0113a448de
Merge branch 'dev' into 'feature/doc-pascaligo-loop'
...
# Conflicts:
# src/passes/operators/operators.ml
2020-02-10 20:51:41 +00:00
Suzanne Dupéron
76fa4b0549
Revert "Make menhir less verbose, to see error messages in gitlab."
...
This reverts commit b5f3ae76b049d4e712bd539b39d771191bc8978b.
2020-02-10 20:40:43 +01:00
Suzanne Dupéron
c71e47f252
Make menhir less verbose, to see error messages in gitlab.
2020-02-10 20:40:43 +01:00
Suzanne Dupéron
76ad9c47ec
cleanup
2020-02-10 20:40:43 +01:00
Lesenechal Remi
87a8901645
review fixes
2020-02-10 20:02:43 +01:00
Lesenechal Remi
f798392760
constant typer:
...
* Removed unused LIST_CONS
* support for misc constants (untestetable for now)
2020-02-10 19:54:23 +01:00
Christian Rinderknecht
9b5d63de1f
Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht@contracts
2020-02-10 19:33:04 +01:00
Christian Rinderknecht
541728fc6c
First batch of rewritten contracts (PascaLIGO).
2020-02-10 19:27:58 +01:00
Christian Rinderknecht
61832354d9
Merge branch 'dev' of gitlab.com:ligolang/ligo into feature/doc-pascaligo-loop
2020-02-10 19:22:52 +01:00
Christian Rinderknecht
82aacde97f
More documentation rewrites.
2020-02-10 19:07:20 +01:00
Lesenechal Remi
0e5a68d58b
ligo interpreter : review fixes
2020-02-09 19:04:21 +01:00
Lesenechal Remi
3ce0d180f5
ligo interpreter: simplfied AST merge
2020-02-09 18:50:18 +01:00
Lesenechal Remi
ce70c82122
ligo interpreter : moving combinators do a dedicated module
2020-02-09 18:22:33 +01:00
Lesenechal Remi
0374c5900b
add missing 'Set.iter' to cameligo
2020-02-09 18:22:33 +01:00
Lesenechal Remi
f08879feb0
ligo interpreter support for :
...
* operations of map/set
* slice
* add
* literals/pps
2020-02-09 18:22:33 +01:00
Lesenechal Remi
29959ec915
Initial LIGO interpreter version
2020-02-09 18:22:33 +01:00
Pierre-Emmanuel Wulfman
ae82144418
removing assign, tuples, sequences,
2020-02-09 00:31:30 +01:00
Christian Rinderknecht
e6dc4371ee
Merge branch 'dev' of gitlab.com:ligolang/ligo into feature/doc-pascaligo-loop
2020-02-08 10:16:34 +01:00
Lesenechal Remi
5ef61d3520
add assert primitive for pascaligo
2020-02-07 15:28:46 +01:00