Commit Graph

666 Commits

Author SHA1 Message Date
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