Commit Graph

830 Commits

Author SHA1 Message Date
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
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
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
6a6c8468a6 Remove annotations from michelson or. 2020-04-13 10:59:36 +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
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
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
Suzanne Dupéron
96468bd8ff Disabled conversion of records & variants to type constructor + argument list in new typer, the current implementation is just wrong. 2020-01-30 18:50:19 +00:00
Sander
6551168a56 ReasonLIGO type declaration improvements for tuples and function arguments.
CameLIGO tests for tuples and function arguments.
2020-01-30 17:38:01 +00:00
Christian Rinderknecht
a6bf16cbe2 Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht-dev 2020-01-29 16:49:42 +01:00
Suzanne Dupéron
5ff9803989 Merge remote-tracking branch 'origin/dev' into dev 2020-01-28 22:30:31 +00:00
Suzanne Dupéron
a9a12ae244 Changes requested in MR review 2020-01-28 20:23:11 +00:00
Pierre-Emmanuel Wulfman
f36d6a01de Modify record update, using path for update 2020-01-28 14:12:46 +00:00
Christian Rinderknecht
a29b5acb31 Finished refactoring the front-end. 2020-01-27 17:28:31 +01:00
Christian Rinderknecht
8047e98124 WIP: Refactoring of the front-end. 2020-01-27 16:36:04 +01:00
Christian Rinderknecht
fc3385389b [WIP] Refactoring the front-end. 2020-01-27 16:05:47 +01:00
Christian Rinderknecht
8843a46975 Added missing check for reserved names in CameLIGO.
The calls to the lexer and parser of CameLIGO through the compiler use
now their error messages, like in PascaLIGO.
2020-01-24 15:57:41 +01:00
Christian Rinderknecht
3c9dd93c8b Fixed again priority of "->" vs "*" in type expressions.
Fixed negative tests.
2020-01-24 14:35:15 +01:00
Christian Rinderknecht
47a41971d7 Fixed the parsing of [a * b -> c] as [(a * b) -> c]. 2020-01-24 14:15:07 +01:00
Christian Rinderknecht
e85486eae4 Improved slightly the formatting of some error messages.
Fixed the bug in the parser: I wrongly closed [stdout].
2020-01-24 14:03:25 +01:00
Christian Rinderknecht
41d6956b66 [WIP] Added traces to debug 2020-01-24 12:56:05 +01:00
Christian Rinderknecht
4f4294bf56 Refactoring of the front-end towards integration of the local builds
and the globol build, using the parser error messages, for instance.
2020-01-23 18:28:04 +01:00
Suzanne Dupéron
1592404e03 Merge commit '4977c18e' into bugfix/new-typer 2020-01-23 11:56:02 +01:00
Suzanne Dupéron
ef6f46db5b typer: bugfix: stray leftover attempt to typecheck the old way in the new typer 2020-01-22 15:30:38 +01:00
Suzanne Dupéron
c5190ac91d typer: bugfix: missing case for E_skip 2020-01-22 15:30:29 +01:00
Suzanne Dupéron
d97044b581 typer: bugfix: arrow is now a built-in type constructor 2020-01-22 15:30:18 +01:00
Suzanne Dupéron
0f420eaaf5 typer: bugfix: tuple is now a built-in type constructor 2020-01-22 15:17:10 +01:00
Suzanne Dupéron
77fdb739b6 typer: typecheck expression and subst (used e.g. to typecheck arguments of contracts) 2020-01-22 13:49:32 +01:00
Christian Rinderknecht
d46d95ee90 Fixed CameLIGO parsing of -> vs *
Fixed reserved_name.ligo ("arguments" instead of "args").
2020-01-22 12:33:29 +01:00
Christian Rinderknecht
7437d6ae1a Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht-dev 2020-01-22 11:43:35 +01:00
Sander Spies
da53758d85 Merge 2020-01-21 21:26:52 +01:00
Sander Spies
f104b5e512 Handle parentheses when destructuring. 2020-01-21 21:23:31 +01:00
Lesenechal Remi
8237947c4d monad fix 2020-01-21 19:04:51 +01:00
Christian Rinderknecht
786b183d40 [WIP]
* Reverted [pos.mli] to the previous signature, except [Pos.min]
  that now takes a labelled parameter [file].
* Reverted [ParserAPI.ml] to the previous signature.
* Reexported [shor_error] in [ParserUnit].
* Changed the modules [LexToken] so that they export one function
  to make attributes, the first, additional paramater being "[@"
  or "[@@" (and invalid in PascaLIGO).
* Added support in all [ParserLog] for attributes (pretty-printings).
* Added AST nodes [Attr] and [AttrDecl] to PascaLIGO. The simplifier
  takes care of hooking them with their respective declarations
  or discarding them. (In the future, we should issue a warning for detached
  attributes.)
2020-01-21 18:35:36 +01:00
Sander Spies
483f591f62 Typo 2020-01-21 14:57:13 +01:00
Pierre-Emmanuel Wulfman
5ba2144f0f Merge branch 'new-typer-bugfix1' into 'dev'
Implemented some missing cases of the subst in the new typer.

See merge request ligolang/ligo!334
2020-01-21 13:53:27 +00:00
Lesenechal Remi
57aeb4e931 detect self_address when not at top level 2020-01-21 13:26:38 +01:00
Suzanne Dupéron
93d16b4b6a typer: do multiple substitutions at once (pass a sort of map from free variables to their substitution) 2020-01-21 13:25:04 +01:00
Suzanne Dupéron
614970d2d7 Implemented some missing cases of the subst. First kinda actual typer test passes! 2020-01-20 21:19:37 +01:00
Suzanne Dupéron
688a636251 typer: cleanup 2020-01-20 21:19:37 +01:00
Sander Spies
fbb622cc03 Add support for tuple destructuring in ReasonLIGO 2020-01-20 19:03:00 +01:00
Christian Rinderknecht
8384e3d1f7 [WIP] Refactoring of front-end. 2020-01-20 10:57:07 +01:00
Christian Rinderknecht
673b54e6ae Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht-dev 2020-01-18 11:37:36 +01:00
Sander
88159e15b2 Add inline attribute 2020-01-16 19:36:04 +00:00
Christian Rinderknecht
5972d1d988 Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht-dev 2020-01-14 18:37:17 +01:00
Christian Rinderknecht
cb8aaa7b9b Additional refactoring to get local and global builds closer.
I removed the last top-level effect (the execution of cpp).

The idea is that ParserUnit.ml and each ParserMain.ml get closer
to pascaligo.ml, cameligo.ml and reasonligo.ml, respectively.
2020-01-14 18:35:30 +01:00
Christian Rinderknecht
c5b5ffe51a Merge remote-tracking branch 'origin/dev' into rinderknecht-dev 2020-01-14 12:59:32 +01:00
Christian Rinderknecht
9570caac53 Refactoring to bring local builds of the parsers closer to the global build.
Added --expr to parse expressions.
2020-01-14 01:27:35 +01:00
Suzanne Dupéron
ff9370a422 Improved typer error messages in operators.ml LIGO-371 2020-01-13 23:56:06 +01:00
Lesenechal Remi
7143b82ba8 support for key and signature literals 2020-01-13 11:37:10 +01:00
Pierre-Emmanuel Wulfman
bbfcc9839b Updates for ReasonLIGO 2020-01-10 18:00:23 +01:00
Pierre-Emmanuel Wulfman
98d6aea4e1 mr review 2 2020-01-10 17:28:45 +01:00
Pierre-Emmanuel Wulfman
60edd0cf5b after review 1 2020-01-10 16:41:47 +01:00
Christian Rinderknecht
6bf91538c4 Some refactoring.
I removed AST.mli from CameLIGO (for maintenance's sake).
I removed useless functions.
I renamed unlexer.ml to Unlexer.ml
I added a cleaning rule for my Makefile in Makefile.cfg
2020-01-10 15:32:54 +01:00
Pierre-Emmanuel Wulfman
812834656a Updates for OcamLIGO and PascaLIGO 2020-01-10 13:52:05 +01:00
Tom Jack
5cef850bdd Fix printing of bytes in parsers/lexers 2020-01-09 16:53:07 -06:00
Tom Jack
1b0ed4d4de Fix literal bytes 2020-01-09 16:53:07 -06:00
Lesenechal Remi
20c9de0380 parset negative tests for all syntaxes 2020-01-09 22:19:40 +01:00
Lesenechal Remi
47199ca13c add negative tests rules 2020-01-09 22:19:40 +01:00
Christian Rinderknecht
19e2ffb750 Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht-dev 2020-01-09 19:49:57 +01:00
Christian Rinderknecht
dad9b0f816 Refactoring of the AST and simplfier of PascaLIGO.
Some weeks ago, anonymous functions as expressions were added to
PascaLIGO, unfortunately in a manner that allowed in theory for
contexts in which a named function was found when an anonymous was
expected, and vice-versa. That explains that the simplifier had two new possible errors:

   * unexpected_anonymous_function
     ("you provided a function declaration without name")
   * unexpected_named_function

I changed the AST and the parser so that function expressions
correspond to anonymous functions (without block) and function
declarations correspond to named functions.

I also removed a error in the simplifier, which was unused:

   * bad_bytes
     ("you provided a function expression with a name (remove it)")
2020-01-09 17:26:07 +01:00
Tom Jack
10eebf69bd Support always-failing conditionals 2020-01-09 09:47:54 -06:00
Christian Rinderknecht
c347d1b08b Removed temporary Emacs file. 2020-01-09 15:55:58 +01:00
Christian Rinderknecht
9426222d86 Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht-dev 2020-01-09 14:27:17 +01:00