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