269 Commits

Author SHA1 Message Date
Christian Rinderknecht
a6972bf28b Putting back .links. 2020-06-04 14:59:15 +02:00
Christian Rinderknecht
8606528ddb More pretty-printing. 2020-06-04 14:55:40 +02:00
Christian Rinderknecht
3bec051115 Added back test LIGO input. 2020-06-04 13:32:35 +02:00
Christian Rinderknecht
c67fc4aa34 Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht@pprint 2020-06-04 13:26:29 +02:00
Christian Rinderknecht
adee60c444 Improved example for testing the pretty-printer. 2020-06-04 13:26:03 +02:00
Pierre-Emmanuel Wulfman
8f529a059a reorder folder 2020-06-03 14:47:36 +02:00
Christian Rinderknecht
62fe3b793a More cases. 2020-06-02 22:14:06 +02:00
Christian Rinderknecht
b12e9a5baa Aligned printing of tuples of expressions on CameLIGO. 2020-06-01 19:17:59 +02:00
Christian Rinderknecht
c376650ee5 More to the PascaLIGO pretty-printer. 2020-06-01 18:47:42 +02:00
Christian Rinderknecht
2d74681c96 Added more to the PascaLIGO pretty-printer.
Improved the AST of PascaLIGO to better capture the struture.
2020-05-30 20:24:47 +02:00
Christian Rinderknecht
4779d12295 Merge branch 'rinderknecht@pprint' of gitlab.com:ligolang/ligo into rinderknecht@pprint 2020-05-28 12:57:06 +02:00
Christian Rinderknecht
d4801d942a Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht@pprint 2020-05-26 14:53:41 +02:00
Sander Spies
88c652a25f Fix issue caused by addition of PPar. 2020-05-26 12:33:32 +02:00
Sander Spies
a4128d037b Add PPar around PTyped for proper pretty printing and CST equality with CameLIGO. 2020-05-26 11:06:38 +02:00
Suzanne Dupéron
92069077df Auto-generated comparator for AST_typed 2020-05-25 20:42:16 +01:00
Christian Rinderknecht
320e31cb41 * [ligo pretty-print foo.mligo] works.
* [ligo pretty-print foo.religo] is a transpiler (for now) and needs
    more work.

  * Renamed functions *_ast into *_cst. One day, module AST should be
    renamed CST for clarity and consistency.
2020-05-25 20:29:48 +02:00
Christian Rinderknecht
041a48bc7b [PascaLIGO] Fixed the build of ParserMain.exe. 2020-05-25 16:04:35 +02:00
Christian Rinderknecht
2d88d2145e Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht@pprint 2020-05-25 15:15:27 +02:00
Christian Rinderknecht
7992a4e507 Added cased to test the pretty-printer. 2020-05-25 12:42:19 +02:00
Christian Rinderknecht
6a3dab69a2 Exported pretty-printing function for CameLIGO and ReasonLIGO (transpiler). 2020-05-25 12:37:30 +02:00
Christian Rinderknecht
36cecfb019 * Renamed AST.TStringLiteral into AST.TString
* Fixed parsing of "begin let x = e1 in e2; e3 end"
2020-05-20 16:36:44 +00:00
Pierre-Emmanuel Wulfman
6c8b76b3de add verbatim in lexer and parser 2020-05-18 13:28:31 +02:00
Christian Rinderknecht
937bc99738 Finished second version based on test contracts. 2020-05-15 16:32:30 +02:00
Christian Rinderknecht
f3ed135926 More fixes to the pretty-printer. 2020-05-15 00:44:15 +02:00
Christian Rinderknecht
ec0a0dbd01 More pretty-printing. 2020-05-14 21:09:14 +02:00
Christian Rinderknecht
85aa1a21d1 Some expressions remain to be pretty-printed.
Fixed a bug in the semantic action of the parser for record updates.
2020-05-13 21:01:27 +02:00
Christian Rinderknecht
8c0275b42c Tuples of types are pretty-printed now. 2020-05-12 19:25:02 +02:00
Christian Rinderknecht
546856e14a Fixed ParserLog. First complete version of the pretty-printer. 2020-05-08 19:01:51 +02:00
Christian Rinderknecht
f1c444da22 A bit more nodes added. 2020-05-07 20:26:47 +02:00
Christian Rinderknecht
a1c5b471fe More cases added. 2020-05-07 11:11:16 +02:00
Christian Rinderknecht
66aea1b8d1 Added more cases. 2020-05-04 12:34:42 +02:00
Christian Rinderknecht
0aa69ed35b Fixed last commit (renaming of TStringLiteral, adding --pretty) 2020-05-03 10:40:11 +02:00
Christian Rinderknecht
f4b9261104 Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht@pprint 2020-05-01 20:34:34 +02:00
Christian Rinderknecht
2667c10990 * Renamed [TStringLiteral] as [TString].
* LexToken.mll for CameLIGO: Fixed printing of "Str"
    into "String".
  * Added CLI option --pretty to call the pretty-printer from
    ParserMain.
  * Use the package Terminal_size to try to determine the width
    of the terminal where the source is pretty-printed.
2020-05-01 20:32:48 +02:00
Christian Rinderknecht
82b3d634c1 Merge branch 'parser-promote-generated-error-files' into 'dev'
Promote generated error files by dune.

See merge request ligolang/ligo!427
2020-04-30 09:48:23 +00:00
Christian Rinderknecht
6ce6ebfec3 Simplified the interface of the lexer by not exporting the scanner
[init] (which reads the BOM, if any).
2020-04-28 21:17:34 +02:00
Christian Rinderknecht
005b7fd69b Finished refactoring of lexer. 2020-04-28 19:26:31 +02:00
Christian Rinderknecht
9618a48848 Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht@michelson 2020-04-25 20:51:33 +02:00
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
Christian Rinderknecht
0e452ffbf1 Merge branch 'small-reasonligo-record-punning-improvement' into 'dev'
Make it possible to pun the first argument of a record.

See merge request ligolang/ligo!570
2020-04-22 17:13:01 +00:00
Tom Jack
c58e3220a7 fix bad sed 2020-04-22 12:04:21 -05:00
Tom Jack
1fbbc09313 promote (until-clean) (only *) ? 2020-04-22 11:38:40 -05:00
Sander Spies
eafbe83151 Also promote ParErr.ml 2020-04-22 11:50:46 +02:00
Sander Spies
bd8cf09f9e Promote generated error files by dune. 2020-04-22 11:50:46 +02:00
Lesenechal Remi
5622b52a36 updating tests 2020-04-19 15:20:02 +02:00
Lesenechal Remi
e94f445a51 michelson_or custom layout and annotations 2020-04-19 15:18:46 +02:00
Sander Spies
2a24290ed0 Fix error messages. 2020-04-15 17:25:32 +02:00
Pierre-Emmanuel Wulfman
9796cd2e8f for loop have a optional step parameter 2020-04-15 17:25:31 +02:00
Sander Spies
990ae0e3a8 Make it possible to pun the first argument of a record. 2020-04-14 21:15:12 +02:00
Christian Rinderknecht
f8c16e5764 Merge branch 'reasonligo-record-improvement' into 'dev'
Add support for record expressions of only one field.

See merge request ligolang/ligo!553
2020-04-14 11:01:11 +00:00