Commit Graph

1186 Commits

Author SHA1 Message Date
Suzanne Dupéron
9e21123de0 Generic PP: use PPF, split test for parentheses to separate fold 2020-04-13 23:10:01 +02:00
Suzanne Dupéron
22fce03844 Improve a typer print 2020-04-13 23:10:01 +02:00
Suzanne Dupéron
1f0ab67baa Moved new typer's wrap module to a separate file 2020-04-13 23:10:01 +02:00
Suzanne Dupéron
93063d8c70 More cleanup new of the typer 2020-04-13 23:10:01 +02:00
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
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
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