Commit Graph

687 Commits

Author SHA1 Message Date
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
Lesenechal Remi
54f4ffd413 Fix assetion with a default string "failed assertion" 2020-02-07 15:27:16 +01:00
Sander
bd4a75016d Merge branch 'add_lsl_lsr' into 'dev'
Add lsl and lsr support.

Closes #146

See merge request ligolang/ligo!387
2020-02-07 11:08:13 +00:00
Rémi Lesenechal
8003a9e2b1 Merge branch 'feature/remove-useless-constants' into 'dev'
Remove useless constants

See merge request ligolang/ligo!388
2020-02-06 21:26:04 +00:00
Suzanne Dupéron
d3a34445f4 Merge branch 'bugfix/new-typer-9' into 'dev'
New typer: constants: use a tuple of arguments, + typechecking rules for constants

See merge request ligolang/ligo!378
2020-02-06 20:56:04 +00:00
Lesenechal Remi
784c2da81b Remove useless constants:
* C_HASH (removed)
* C_MAP_GET --replaced--> C_MAP_FIND_OPT
* C_MAP_GET_FORCE --replaced--> C_MAP_FIND
2020-02-06 18:08:51 +01:00
Sander Spies
e14dd18680 Correction: lsl and lsr are impure 2020-02-06 17:30:50 +01:00
Sander Spies
9433fa9bc4 Add lsl and lsr support. 2020-02-06 16:17:33 +01:00
Christian Rinderknecht
61ec0f41c3 Merge branch 'dev' of gitlab.com:ligolang/ligo into feature/doc-pascaligo-loop 2020-02-05 20:02:06 +01:00
Christian Rinderknecht
26059c281a Forgot to check that function parameters are not reserved names. 2020-02-05 18:09:45 +01:00
Christian Rinderknecht
7a484cb45c Merge branch 'dev' of gitlab.com:ligolang/ligo into feature/doc-pascaligo-loop 2020-02-05 16:29:37 +01:00
Sander Spies
79fd0317ae Merge 2020-02-04 15:05:13 +01:00
Pierre-Emmanuel Wulfman
cf7bc9374d Merge branch 'feature/get_contract_opt' into 'dev'
add get_contract_opt and get_entrypoint_opt to ligo

See merge request ligolang/ligo!362
2020-02-04 13:36:22 +00:00
Pierre-Emmanuel Wulfman
4195026d73 add get_contract_opt and get_entrypoint_opt to ligo 2020-02-04 13:38:17 +01:00
Sander Spies
795f0d4056 ReasonLIGO: missing ')' error message. 2020-02-04 13:31:41 +01:00
Sander Spies
3461af53dd ReasonLIGO: Make the semicolon optional in more cases. 2020-02-04 12:52:12 +01:00
Sander
fbc61eb809 Optional vbar for ReasonLIGO sumtypes 2020-02-04 10:39:15 +00:00
Suzanne Dupéron
0297b6033b New typer: constants: use a tuple of arguments, + typechecking rules for constants 2020-02-03 20:20:00 +00:00
Suzanne Dupéron
d2630379ec Merge branch 'bugfix/new-typer-8' into 'dev'
misc. fixes on the new typer

See merge request ligolang/ligo!369
2020-02-03 19:48:49 +00:00
Christian Rinderknecht
d92a5499e1 Merge branch 'dev' of gitlab.com:ligolang/ligo into feature/doc-pascaligo-loop 2020-02-03 14:18:06 +01:00
Sander Spies
bbe80bcbfb Merge. 2020-02-03 14:01:01 +01:00
Sander Spies
bf985797fb - Don't allow to chain let bindings like: let a = let b = 2.
- Give a proper warning when creating an incorrect let binding.
2020-02-03 10:53:44 +01:00
Sander Spies
6beccd09a8 Wrong function arguments error message. 2020-02-02 18:08:16 +01:00
Christian Rinderknecht
e6119db35a Merge branch 'dev' of gitlab.com:ligolang/ligo into feature/doc-pascaligo-loop 2020-02-01 15:09:04 +01:00
Sander Spies
6c3879403b Enable incremental parser by default \o/
Fix test.
2020-01-31 17:45:48 +01:00
Sander Spies
ff16af9331 Merge 2020-01-31 16:06:47 +01:00
Sander Spies
c3cb69a0d0 Move error.messages handling to dune. 2020-01-31 16:05:59 +01:00
Christian Rinderknecht
e25bb00961 Forgot to add those fixes to the previous commit. 2020-01-31 14:11:56 +01:00
Christian Rinderknecht
729ecd3f12 Merge branch 'dev' of gitlab.com:ligolang/ligo into feature/doc-pascaligo-loop 2020-01-31 13:30:28 +01:00
John David Pressman
c8e0654ffe Add crypto reference page to docs
Change 'black2b' to 'blake2b' in CameLIGO/ReasonLIGO frontend
2020-01-31 03:34:36 -08:00
Christian Rinderknecht
a9b3d295fd Fixes to the lexer and the parser API.
* The parameter for logging the lexer is now mandatory.
  * The ParserAPI now thread the logging of the lexer.
  * LexerMain.ml now call the logging of the lexers (CameLIGO, ReasonLIGO).
  * Fixed bug in lexer when a line comment ends with EOF.
2020-01-31 12:31:25 +01:00
Christian Rinderknecht
fa9372c595 Updated ParErr.ml for ReasonLIGO (may have caused Not_found). 2020-01-31 12:24:25 +01:00
Suzanne Dupéron
0abc4cd206 Started adding typer for constants 2020-01-30 18:50:19 +00:00