730 Commits

Author SHA1 Message Date
Christian Rinderknecht
8047e98124 WIP: Refactoring of the front-end. 2020-01-27 16:36:04 +01:00
Christian Rinderknecht
fc3385389b [WIP] Refactoring the front-end. 2020-01-27 16:05:47 +01:00
Christian Rinderknecht
8843a46975 Added missing check for reserved names in CameLIGO.
The calls to the lexer and parser of CameLIGO through the compiler use
now their error messages, like in PascaLIGO.
2020-01-24 15:57:41 +01:00
Christian Rinderknecht
3c9dd93c8b Fixed again priority of "->" vs "*" in type expressions.
Fixed negative tests.
2020-01-24 14:35:15 +01:00
Christian Rinderknecht
47a41971d7 Fixed the parsing of [a * b -> c] as [(a * b) -> c]. 2020-01-24 14:15:07 +01:00
Christian Rinderknecht
e85486eae4 Improved slightly the formatting of some error messages.
Fixed the bug in the parser: I wrongly closed [stdout].
2020-01-24 14:03:25 +01:00
Christian Rinderknecht
41d6956b66 [WIP] Added traces to debug 2020-01-24 12:56:05 +01:00
Christian Rinderknecht
4f4294bf56 Refactoring of the front-end towards integration of the local builds
and the globol build, using the parser error messages, for instance.
2020-01-23 18:28:04 +01:00
Suzanne Dupéron
1592404e03 Merge commit '4977c18e' into bugfix/new-typer 2020-01-23 11:56:02 +01:00
Suzanne Dupéron
ef6f46db5b typer: bugfix: stray leftover attempt to typecheck the old way in the new typer 2020-01-22 15:30:38 +01:00
Suzanne Dupéron
c5190ac91d typer: bugfix: missing case for E_skip 2020-01-22 15:30:29 +01:00
Suzanne Dupéron
d97044b581 typer: bugfix: arrow is now a built-in type constructor 2020-01-22 15:30:18 +01:00
Suzanne Dupéron
0f420eaaf5 typer: bugfix: tuple is now a built-in type constructor 2020-01-22 15:17:10 +01:00
Suzanne Dupéron
77fdb739b6 typer: typecheck expression and subst (used e.g. to typecheck arguments of contracts) 2020-01-22 13:49:32 +01:00
Christian Rinderknecht
d46d95ee90 Fixed CameLIGO parsing of -> vs *
Fixed reserved_name.ligo ("arguments" instead of "args").
2020-01-22 12:33:29 +01:00
Christian Rinderknecht
7437d6ae1a Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht-dev 2020-01-22 11:43:35 +01:00
Sander Spies
da53758d85 Merge 2020-01-21 21:26:52 +01:00
Sander Spies
f104b5e512 Handle parentheses when destructuring. 2020-01-21 21:23:31 +01:00
Lesenechal Remi
8237947c4d monad fix 2020-01-21 19:04:51 +01:00
Christian Rinderknecht
786b183d40 [WIP]
* Reverted [pos.mli] to the previous signature, except [Pos.min]
  that now takes a labelled parameter [file].
* Reverted [ParserAPI.ml] to the previous signature.
* Reexported [shor_error] in [ParserUnit].
* Changed the modules [LexToken] so that they export one function
  to make attributes, the first, additional paramater being "[@"
  or "[@@" (and invalid in PascaLIGO).
* Added support in all [ParserLog] for attributes (pretty-printings).
* Added AST nodes [Attr] and [AttrDecl] to PascaLIGO. The simplifier
  takes care of hooking them with their respective declarations
  or discarding them. (In the future, we should issue a warning for detached
  attributes.)
2020-01-21 18:35:36 +01:00
Sander Spies
483f591f62 Typo 2020-01-21 14:57:13 +01:00
Pierre-Emmanuel Wulfman
5ba2144f0f Merge branch 'new-typer-bugfix1' into 'dev'
Implemented some missing cases of the subst in the new typer.

See merge request ligolang/ligo!334
2020-01-21 13:53:27 +00:00
Lesenechal Remi
57aeb4e931 detect self_address when not at top level 2020-01-21 13:26:38 +01:00
Suzanne Dupéron
93d16b4b6a typer: do multiple substitutions at once (pass a sort of map from free variables to their substitution) 2020-01-21 13:25:04 +01:00
Suzanne Dupéron
614970d2d7 Implemented some missing cases of the subst. First kinda actual typer test passes! 2020-01-20 21:19:37 +01:00
Suzanne Dupéron
688a636251 typer: cleanup 2020-01-20 21:19:37 +01:00
Sander Spies
fbb622cc03 Add support for tuple destructuring in ReasonLIGO 2020-01-20 19:03:00 +01:00
Christian Rinderknecht
8384e3d1f7 [WIP] Refactoring of front-end. 2020-01-20 10:57:07 +01:00
Christian Rinderknecht
673b54e6ae Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht-dev 2020-01-18 11:37:36 +01:00
Sander
88159e15b2 Add inline attribute 2020-01-16 19:36:04 +00:00
Christian Rinderknecht
5972d1d988 Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht-dev 2020-01-14 18:37:17 +01:00
Christian Rinderknecht
cb8aaa7b9b Additional refactoring to get local and global builds closer.
I removed the last top-level effect (the execution of cpp).

The idea is that ParserUnit.ml and each ParserMain.ml get closer
to pascaligo.ml, cameligo.ml and reasonligo.ml, respectively.
2020-01-14 18:35:30 +01:00
Christian Rinderknecht
c5b5ffe51a Merge remote-tracking branch 'origin/dev' into rinderknecht-dev 2020-01-14 12:59:32 +01:00
Christian Rinderknecht
9570caac53 Refactoring to bring local builds of the parsers closer to the global build.
Added --expr to parse expressions.
2020-01-14 01:27:35 +01:00
Suzanne Dupéron
ff9370a422 Improved typer error messages in operators.ml LIGO-371 2020-01-13 23:56:06 +01:00
Lesenechal Remi
7143b82ba8 support for key and signature literals 2020-01-13 11:37:10 +01:00
Pierre-Emmanuel Wulfman
bbfcc9839b Updates for ReasonLIGO 2020-01-10 18:00:23 +01:00
Pierre-Emmanuel Wulfman
98d6aea4e1 mr review 2 2020-01-10 17:28:45 +01:00
Pierre-Emmanuel Wulfman
60edd0cf5b after review 1 2020-01-10 16:41:47 +01:00
Christian Rinderknecht
6bf91538c4 Some refactoring.
I removed AST.mli from CameLIGO (for maintenance's sake).
I removed useless functions.
I renamed unlexer.ml to Unlexer.ml
I added a cleaning rule for my Makefile in Makefile.cfg
2020-01-10 15:32:54 +01:00
Pierre-Emmanuel Wulfman
812834656a Updates for OcamLIGO and PascaLIGO 2020-01-10 13:52:05 +01:00
Tom Jack
5cef850bdd Fix printing of bytes in parsers/lexers 2020-01-09 16:53:07 -06:00
Tom Jack
1b0ed4d4de Fix literal bytes 2020-01-09 16:53:07 -06:00
Lesenechal Remi
20c9de0380 parset negative tests for all syntaxes 2020-01-09 22:19:40 +01:00
Lesenechal Remi
47199ca13c add negative tests rules 2020-01-09 22:19:40 +01:00
Christian Rinderknecht
19e2ffb750 Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht-dev 2020-01-09 19:49:57 +01:00
Christian Rinderknecht
dad9b0f816 Refactoring of the AST and simplfier of PascaLIGO.
Some weeks ago, anonymous functions as expressions were added to
PascaLIGO, unfortunately in a manner that allowed in theory for
contexts in which a named function was found when an anonymous was
expected, and vice-versa. That explains that the simplifier had two new possible errors:

   * unexpected_anonymous_function
     ("you provided a function declaration without name")
   * unexpected_named_function

I changed the AST and the parser so that function expressions
correspond to anonymous functions (without block) and function
declarations correspond to named functions.

I also removed a error in the simplifier, which was unused:

   * bad_bytes
     ("you provided a function expression with a name (remove it)")
2020-01-09 17:26:07 +01:00
Tom Jack
10eebf69bd Support always-failing conditionals 2020-01-09 09:47:54 -06:00
Christian Rinderknecht
c347d1b08b Removed temporary Emacs file. 2020-01-09 15:55:58 +01:00
Christian Rinderknecht
9426222d86 Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht-dev 2020-01-09 14:27:17 +01:00