Go to file
Christian Rinderknecht 0226b9f23c Refactoring of comments (for [dune build @doc]).
Refactoring of parsing command-line arguments

  * The type [options] is now abstract and implemented as an
    object type to avoid struggling with scoping and type
    inference when record types share some common field names.

Refactoring of ParserLog for PascaLIGO and CameLIGO

  * The immediate motivation behind that refactoring was to
    remove the use of a couple of global references. A
    consequence is that we have a nicer and more compact code, by
    threading a state. The files [pascaligo/Tests/pp.ligo] and
    [ligodity/Tests/pp.mligo].

  * Another consequence is that the choice of making strings from
    AST nodes depends on the CLI (offsets? mode?). After this
    refactoring, that choice is hardcoded in the simplifiers in a
    few places (TODO), waiting for a general solution that would
    have all CL options flow through the compiler.

  * I removed the use of vendors [x_option.ml], [x_map.ml] and
    [x_list.ml] when handling optional values. (Less dependencies
    this way.)

Refactoring of the ASTs

  * I removed the node [local_decl], which was set to [[]]
    already in a previous commit (which removed local
    declarations as being redundant, as statements could already
    be instructions or declarations).

  * I changed [StrLit] to [String] in the AST of CameLIGO and
    ReasonLIGO.

  * I also changed the type [fun_expr] so now either a block is
    present, and therefore followed by the [with] keyword, or it
    is not. (Before, the presence of a block was not enforced in
    the type with the presence of the keyword.)

Notes

  * [LexerMain.ml] and [ParserMain.ml] for CameLIGO and PascaLIGO
    are almost identical and differ in the same way (language
    name and file extension), which suggests that they should be
    in the [shared] folder and instanciated as a functor in the
    future (TODO).

  * I removed the blank characters at the end of many lines in
    the parser of ReasonLIGO.
2019-12-13 12:21:52 +01:00
docker/distribution Feature/smaller docker image 2019-11-09 22:34:20 +00:00
gitlab-pages Improve ReasonLIGO documentation. 2019-12-11 09:34:08 +00:00
scripts Stop using docker -it to avoid spurious CRLF 2019-11-26 18:29:25 -06:00
src Refactoring of comments (for [dune build @doc]). 2019-12-13 12:21:52 +01:00
vendors contract are now typecheck (at least in the CLI) 2019-12-10 15:58:53 +01:00
.dockerignore Feature/smaller docker image 2019-11-09 22:34:20 +00:00
.gitignore git ingore .vscode 2019-10-14 17:45:52 +02:00
.gitlab-ci.yml Use runtest to run tests 2019-11-21 12:28:38 -06:00
CONTRIBUTORS.md add MIT license 2019-05-25 15:52:12 +00:00
LICENSE.md add MIT license 2019-05-25 15:52:12 +00:00
Makefile Always run setup_repos.sh, never setup_dev_switch.sh, upon make build-deps 2019-09-27 08:43:57 -05:00
repo Separate parts of Pascaligo into a shared parser library 2019-08-29 14:54:06 +00:00