Go to file
Christian Rinderknecht f3777b4af8 The preprocessor library depends now on the kinds of comments
instead of a closed set of languages. I also removed the offsets:
I simply use the current region to determine whether the
preprocessing directie starts at the beginning of a line. I also
removed scanning line indicators, to make the lexer simpler.

LexToken.mll: Moved the function [check_right_context] that
checks stylistic constraints from Lexer.mll to
LexToken.mll. While this triplicates code (as CameLIGO, PascaLIGO
and ReasonLIGO share the same constraints), the benefit is that
Lexer.mll becomes more generic and the signature for the TOKEN
module is simpler (no more exporting predicates, except for
EOF). In accordance with the change of the preprocessor, the
lexers and parsers for LIGO now depend on the kind of comments,
not a fixed set of syntaxes. This gives more versatility when
adding a new language: only the kinds of its comments are needed,
although Lexer.mll and Preproc.mll may have to be modified if
they do not already know the comment delimiters, for example line
comments starting with #.

****************************************************************
BUG: The exceptions coming from LexToken.mll when a stylistic
constraint is broken in [LexToken.check_right_context] are not
caught yet.
****************************************************************

Lexer.mll: I moved out as much as I could from the header into a
new module LexerLib. The aim is to make it easy to reuse as much
as possible of the lexer machinerie, when it cannot be used as
is.
2020-04-24 21:06:18 +02:00
docker/distribution Revert "Revert "Merge branch 'feature/adt-generator-poly-3' into 'dev'"" 2020-04-13 19:23:12 +02:00
gitlab-pages Build Ubuntu 19.10 instead of 19.04 2020-04-16 18:04:42 -05:00
scripts Merge branch 'rinderknecht@gcc' into 'dev' 2020-04-15 15:56:45 +00:00
src The preprocessor library depends now on the kinds of comments 2020-04-24 21:06:18 +02:00
tools/webide Install perl6 instead of the painful-to-install python3+fstrings 2020-04-13 19:23:12 +02:00
vendors The preprocessor library depends now on the kinds of comments 2020-04-24 20:54:13 +02:00
.dockerignore Feature/smaller docker image 2019-11-09 22:34:20 +00:00
.gitignore ignore all .pp.ligo's 2020-02-09 18:22:33 +01:00
.gitlab-ci.yml Build Ubuntu 19.10 instead of 19.04 2020-04-16 18:04:42 -05:00
CHANGELOG.md michelson_or tests and changelog 2020-04-07 21:38:12 +02:00
CONTRIBUTORS.md add MIT license 2019-05-25 15:52:12 +00:00
dune-project Unignore dune-project 2019-12-19 19:53:10 +00:00
LICENSE.md add MIT license 2019-05-25 15:52:12 +00:00
ligo.opam Dunification of the Red-Black_Trees library 2020-04-13 19:23:12 +02:00
Makefile Now have an default group "ungrouped" for all the code blocks without any "group=..." 2019-12-31 14:23:51 +01:00
repo Separate parts of Pascaligo into a shared parser library 2019-08-29 14:54:06 +00:00