Lesenechal Remi
c873350b15
no ppx in expect_tests lib
2019-12-31 14:23:51 +01:00
Lesenechal Remi
acee34985b
remove ppx in tests
2019-12-31 14:23:51 +01:00
Lesenechal Remi
6c7440ea79
inline magic
2019-12-31 14:23:51 +01:00
Lesenechal Remi
61d095ea28
also preprocess the executable
2019-12-31 14:23:51 +01:00
Lesenechal Remi
6f804a4432
exclude parser debug tooling
2019-12-31 14:23:51 +01:00
Lesenechal Remi
e8d1e359f4
exclude PPs from coverage
2019-12-31 14:23:51 +01:00
Lesenechal Remi
c8339ed2ef
first try
2019-12-31 14:23:51 +01:00
John David Pressman
dcfc8d6391
Horrible hack to rewrite CST for tuple param destruct,
...
Fails because Let In doesn't support multi-bind
2019-12-29 01:24:22 +00:00
Christian Rinderknecht
ea7460f8c9
Miscellaneous.
2019-12-28 17:58:15 +01:00
Christian Rinderknecht
c92e3b28ad
Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht-dev
2019-12-28 17:58:09 +01:00
John David Pressman
3d9489530a
Merge branch 'dev' into feature/cameligo-multi-bind-let-in
2019-12-27 09:29:30 -08:00
John David Pressman
e1ecb36e61
Have let ... in evaluate right hand side first during multi-bind
2019-12-26 21:06:24 -08:00
Christian Rinderknecht
6814e7786a
Same error formatting for the incremental and monolithic API of Menhir.
2019-12-26 18:57:02 +01:00
Christian Rinderknecht
379311a748
Shortened the parser's API.
...
Unfortunately, even thought all the front-ends use the same
ParserAPI.ml, that file cannot be moved to the folder `shared` due to
a dependency on AST.ml produced by Menhir.
2019-12-26 18:17:57 +01:00
Christian Rinderknecht
548b1267a4
Added .gitignore for all syntaxes.
2019-12-26 14:13:19 +01:00
Christian Rinderknecht
07a70b4648
Added unlexing to ReasonLIGO.
2019-12-26 13:31:54 +01:00
Christian Rinderknecht
ea4eb76013
I added support for unlexing to CameLIGO. Fixed cover.sh.
2019-12-26 13:23:32 +01:00
John David Pressman
2d9de2aef0
Clean up let ... in multi-bind
2019-12-24 15:35:05 -08:00
John David Pressman
48a3bebadd
Working rough draft of let ... in multi-bind
2019-12-24 14:54:22 -08:00
John David Pressman
7454e8b01f
Add let-in multi bind test
2019-12-24 13:48:14 -08:00
Christian Rinderknecht
7c1d637226
Fixing the constant constructors in CameLIGO's simplifier.
2019-12-24 18:56:21 +01:00
Christian Rinderknecht
e99c9b32de
Fixed the [dune] file for building [pascaligo/Unlexer.exe].
2019-12-24 17:35:43 +01:00
Christian Rinderknecht
dadf1fbe41
Fixed the stratification of "++".
2019-12-24 17:01:39 +01:00
Christian Rinderknecht
7b9b6866b2
Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht-dev
2019-12-24 14:26:32 +01:00
Christian Rinderknecht
ce857fbe40
Fixed the [dune] files to build ParserMain.exe
2019-12-24 14:25:40 +01:00
Lesenechal Remi
bdd1d09c04
t_operator can not throw exceptions
2019-12-24 12:43:32 +01:00
Christian Rinderknecht
b0e92a58bf
Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht-dev
2019-12-24 11:59:34 +01:00
Sander Spies
29c96fb021
Fix 'dune build ParserMain.exe'.
2019-12-24 08:08:50 +01:00
Christian Rinderknecht
e6a9bf6510
Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht-dev
2019-12-23 21:46:21 +01:00
Christian Rinderknecht
24f067b69e
Added nat and bytes to ReasonLIGO and CameLIGO (expressions).
...
Use the correct ParserAPI for ReasonLIGO now.
2019-12-23 20:37:48 +01:00
John David Pressman
1bf04574c1
Merge branch 'dev' into feature/set-delegate
2019-12-20 08:37:01 -08:00
Christian Rinderknecht
705b425589
Merge remote-tracking branch 'origin/dev' into rinderknecht-dev
2019-12-20 16:46:33 +01:00
Christian Rinderknecht
072dea757c
[WIP] Adding the infrastructure for supporting the incremental API of Menhir.
...
* I added CLI option "--mono" to select the monolithic API of Menhir.
* I added a field "win" to the state of the lexer (a two-token
window for error reporting).
* I escaped LIGO strings before making them OCaml strings (for
example for printing).
2019-12-20 16:44:03 +01:00
Lesenechal Remi
638b45611d
fix message of redundant_match_case error
2019-12-20 12:17:47 +00:00
Lesenechal Remi
70977d1f00
improve badly annotated timestamp error
2019-12-20 12:18:36 +01:00
Lesenechal Remi
e18233434d
dune promote
2019-12-20 12:18:36 +01:00
Lesenechal Remi
2086dd9ab5
add predecessor timestamp to the CLI
2019-12-20 12:18:36 +01:00
Lesenechal Remi
e8c8aa4d2b
Time lock : contract + tests
2019-12-20 12:18:36 +01:00
Tom Jack
71e2670572
Fix one hex printing bug
2019-12-19 13:05:30 -06:00
Suzanne Dupéron
e5acdc4228
All typer errors in ast_typed/misc.ml are covered it seems.
2019-12-19 17:27:17 +00:00
Suzanne Dupéron
f7616b7b49
Small improvements to negative typer tests
2019-12-19 17:27:17 +00:00
Suzanne Dupéron
f9daa64aa7
Moved negative tests to a negative/ folder
2019-12-19 17:27:17 +00:00
Suzanne Dupéron
a835bc9286
Added "did you mean" feature for unbound type names
2019-12-19 17:27:17 +00:00
Suzanne Dupéron
2a11c6d180
test for typer error message: different keys
2019-12-19 17:27:17 +00:00
Suzanne Dupéron
e919a1eba3
Fixes unsoundness in old typer (expected type for the expression as a whole was not checked for ascriptions)
2019-12-19 17:27:17 +00:00
Sander
600ae2d4f6
Move to Trace.error instead of simple_error.
2019-12-19 13:50:57 +00:00
Christian Rinderknecht
3add77eba5
Adding the build of the unlexer by dune.
2019-12-18 22:17:49 +00:00
Christian Rinderknecht
d47ec7cf7c
Fixed a tag file (local build of PascaLIGO with my Makefile).
2019-12-18 22:17:49 +00:00
Tom Jack
172038cef0
Kill warning 45 by reusing Pervasives.result for Trace
2019-12-18 21:20:35 +00:00
Christian Rinderknecht
c46bf008c8
Adding the build of the unlexer by dune.
2019-12-18 21:32:12 +01:00
Christian Rinderknecht
dfcdc54965
Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht-dev
2019-12-18 21:22:38 +01:00
Christian Rinderknecht
64f04b8c40
Fixed a tag file (local build of PascaLIGO with my Makefile).
2019-12-18 16:53:32 +01:00
Lesenechal Remi
be84244d7a
add some CLI tests
2019-12-18 16:47:23 +01:00
Lesenechal Remi
f9fcf1fbc3
Also perform Ast_typed check
2019-12-18 16:47:23 +01:00
Lesenechal Remi
ea343760b2
compile_parameter and compile_storage CLI commands now gets their input checked
2019-12-18 16:47:23 +01:00
Christian Rinderknecht
97a6d7162f
Regression.
2019-12-18 15:50:42 +01:00
Christian Rinderknecht
c7bd986772
Merge remote-tracking branch 'origin/dev' into rinderknecht-dev
2019-12-18 14:22:57 +01:00
Sander Spies
7518005532
Merge branch 'dev' of https://gitlab.com/ligolang/ligo into reasonligo-improvemtns
2019-12-18 09:59:19 +01:00
John David Pressman
310dde6dc9
[LIGO-286] Tuple destructuring doesn't do left hand type inference in CameLIGO
2019-12-17 21:04:53 +00:00
John David Pressman
7067644b1d
Merge branch 'dev' into feature/set-delegate
2019-12-17 12:17:02 -08:00
Suzanne Dupéron
1bf3d8f02a
First negative tests for the old typer & improvement of error messages
2019-12-17 18:18:49 +00:00
John David Pressman
a4b1c9951d
Add ReasonLIGO and CameLIGO tests for SET_DELEGATE
2019-12-17 09:50:47 -08:00
John David Pressman
fdeb95288d
Passing SET_DELEGATE test for PascaLIGO
2019-12-17 09:34:05 -08:00
Christian Rinderknecht
078dd06132
Merge branch 'rinderknecht-dev' of gitlab.com:ligolang/ligo into rinderknecht-dev
2019-12-17 17:07:10 +01:00
Christian Rinderknecht
7ae8d9340b
Merge remote-tracking branch 'origin/dev' into rinderknecht-dev
2019-12-17 17:04:59 +01:00
Christian Rinderknecht
8210a4e186
Added basic support for Menhir's incremental API.
...
I added the token Bytes to ReasonLIGO's [LexToken.mll] for the build.
2019-12-17 17:03:43 +01:00
Christian Rinderknecht
757b0da78c
Removed the open type [Error.t] (less [assert false]).
...
I also had to remove the keywords [Down], [Fail] and [Step] in
PascaLIGO that made a mysterious and unwanted come back. (I did not
bother with [git blame]).
2019-12-17 15:58:27 +00:00
Christian Rinderknecht
531dd238a7
Added unlexer for PascaLIGO.
2019-12-17 15:58:27 +00:00
Rémi Lesenechal
e6cb4e63c6
Contracts: replaceable ID
2019-12-17 14:18:09 +00:00
Christian Rinderknecht
35d4b64a02
Removed the open type [Error.t] (less [assert false]).
...
I also had to remove the keywords [Down], [Fail] and [Step] in
PascaLIGO that made a mysterious and unwanted come back. (I did not
bother with [git blame]).
2019-12-17 14:56:16 +01:00
Sander Spies
ebba74e7a7
Merge branch 'dev' of https://gitlab.com/ligolang/ligo into reasonligo-improvemtns
2019-12-17 14:34:58 +01:00
Lesenechal Remi
ffb225e269
fix address arity and update test
2019-12-17 11:10:29 +01:00
John David Pressman
20285f2b9e
Add broken set_delegate test to LIGO, get to typer error
2019-12-16 16:26:39 -08:00
Tom Jack
c83813456a
Relocate .opam
2019-12-16 22:50:25 +00:00
John David Pressman
fb8fae05d7
Fix IMPLICIT_ACCOUNT, again and this time add regression expect test
2019-12-16 12:10:31 -08:00
Sander Spies
52eff4e764
Incorrect function arguments message for ReasonLIGO.
2019-12-16 18:04:15 +01:00
Christian Rinderknecht
257ef4f5d2
Added unlexer for PascaLIGO.
2019-12-16 17:37:46 +01:00
Sander Spies
09875cf1da
Make type_expr_simple less complicated.
2019-12-16 14:54:12 +01:00
Christian Rinderknecht
a94ee53fd3
Finished the refactoring of the parsers.
2019-12-15 20:59:04 +01:00
Christian Rinderknecht
f8d6396fcd
Refactoring of the parsers
...
* [CameLIGO/ReasonLIGO] The AST node [EAnnot] (expressions
annotated by a type) now records the region in the source
code for the colon.
* [CameLIGO/ReasonLIGO/PascaLIGO] I added the syntax
%token <...> TOKEN "lexeme"
* [ReasonLIGO] I changed the AST nodes [Mtz] and [Str] to
[Mutez] and [String], respectively (in accordance with the
PascaLIGO front-end). I changed token [DOTDOTDOT] to
[ELLIPSIS].
* [ReasonLIGO] I added what was missing to make a loca build
with my Makefile.
2019-12-15 17:46:08 +01:00
Christian Rinderknecht
6692643cc5
Streamlined LexerMain and ParserMain for ReasonLIGO.
2019-12-13 17:28:15 +01:00
Christian Rinderknecht
2904a40373
Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht-dev
2019-12-13 14:53:33 +01:00
Christian Rinderknecht
e685e313f0
Fixed the build after I made a small error when fixing the latest
...
merge conflict.
2019-12-13 12:30:59 +01:00
Christian Rinderknecht
c7ffa6d563
Merge remote-tracking branch 'origin/dev' into rinderknecht-dev
2019-12-13 12:28:33 +01:00
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
Tom Jack
611bd0382a
dune runtest ; dune promote
2019-12-13 03:11:51 -06:00
Tom Jack
e914833600
Add --version via dune rule
2019-12-13 08:12:35 +00:00
Sander Spies
6f9134834f
Remove original Cameligo and rename Ligodity to Cameligo.
2019-12-12 14:35:07 +01:00
Lesenechal Remi
1842d50ef1
some Ast_simplified PP improvements
2019-12-12 12:15:18 +01:00
Lesenechal Remi
61fd91a0d4
optional init file
2019-12-12 12:15:18 +01:00
Lesenechal Remi
a80ffae897
add interpret command
2019-12-12 12:15:18 +01:00
Lesenechal Remi
c62f147a01
MR requests
2019-12-12 11:00:04 +01:00
Lesenechal Remi
df0dfb029b
better error message when a contract in invalid
2019-12-11 20:02:54 +01:00
Lesenechal Remi
c0472629b9
application at ast_simplified level
2019-12-11 20:02:54 +01:00
Lesenechal Remi
ebd073f5e2
Separate aggregation case for contract and expression
2019-12-11 20:02:54 +01:00
Lesenechal Remi
9d83159e89
merge with dev
2019-12-10 16:01:26 +01:00
Lesenechal Remi
5ac25bfe21
easy to interpret expressions. evaluate-value does the job. CLI refactoring might be necessary
2019-12-10 15:58:53 +01:00
Lesenechal Remi
1c346ead28
remove useless code in test helper
2019-12-10 15:58:53 +01:00
Lesenechal Remi
16fc55482d
Remove wrapper. Flatten everything for now.
...
Now have a run function for contracts and a run function for everything else.
Run function for contract is only used in CLI dry-run
2019-12-10 15:58:53 +01:00
Lesenechal Remi
bbf6b7b860
sséssaoupa?
2019-12-10 15:58:53 +01:00