Commit Graph

746 Commits

Author SHA1 Message Date
Christian Rinderknecht
6a0948a6ac Fixed regression. Enabled type annotations for all expressions
(between parentheses).

The error was to use COMMA to separate instructions in a block, instead of SEMI (semicolons), as before. This is corrected here.
2019-07-30 11:27:32 +02:00
Christian Rinderknecht
9e6bff4741 Renamings. Additions. 2019-07-29 12:33:02 +02:00
Christian Rinderknecht
25437f5ed5 Fixed some rules. 2019-07-29 12:31:10 +02:00
Christian Rinderknecht
100bf1119a First rewrites of the PascaLIGO grammar to make it suitbale for stream
parsing.
2019-07-26 17:47:16 +02:00
Christian Rinderknecht
9b34b13e15 Replacing map_injection by injection(Map,binding). 2019-07-26 16:23:12 +02:00
Christian Rinderknecht
295f94a09a Further streamlining PascaLIGO and Ligodity parsers. 2019-07-25 16:11:33 +02:00
Christian Rinderknecht
2a44e0f084 Merge branch 'dev' into 'rinderknecht-dev'
# Conflicts:
#   src/contracts/website2.ligo
#   src/simplify/pascaligo.ml
2019-07-25 10:33:07 +00:00
Christian Rinderknecht
fe2c56aedb Miscellanea. 2019-07-24 15:43:51 +02:00
Christian Rinderknecht
dc4f14d469 Parsing the command line by calling [EvalOpt.read], not a side-effect. 2019-07-24 15:41:52 +02:00
Christian Rinderknecht
d2f4d00011 Refactored module EvalOpt by removing useless command line options. 2019-07-24 14:34:26 +02:00
Pierre-Emmanuel Wulfman
7414893cd5 FIX - typo in error message in ast_simplified/combinator.ml 2019-07-24 09:35:22 +00:00
galfour
88261fd5e2 Merge branch 'dev' into feature/better-error-messages 2019-07-21 11:58:09 +02:00
galfour
d7a16c47c1 add iterators for maps 2019-07-20 16:42:34 +02:00
galfour
564a4df145 add map to lists ; fix error with lists 2019-07-20 16:18:50 +02:00
galfour
9dd8e63cbf add iter for set and lists 2019-07-20 13:46:42 +02:00
galfour
33101820ec add set tests 2019-07-19 14:35:47 +02:00
galfour
5c3d801c78 add bitwise arithmetic and string arithmetic tests 2019-07-19 12:42:01 +02:00
galfour
7b9d861a34 type new operators 2019-07-19 12:13:09 +02:00
galfour
4b6a58907d get rid of useless units ; make compiler.ml less brittle 2019-07-18 15:19:25 +02:00
galfour
25566bc3fe selection of environment can be done both ways 2019-07-18 13:04:13 +02:00
Christian Rinderknecht
685c25de9a First import of my first designs for a front-end generator for Ligodity. 2019-07-14 16:41:52 +02:00
Galfour
6e3209fa4f add manual tests; change display of errors; minor refactorings 2019-06-28 12:05:04 +00:00
Christian Rinderknecht
6d3679290d Fixed typo in comment. 2019-06-27 10:32:07 +02:00
Tom Jack
7492657790 Update Pascaligo parentheses in docs 2019-06-24 08:42:06 -07:00
Christian Rinderknecht
2f6e17c837 I fixed the heterogeneity in parentheses around constructors in
patterns.
2019-06-24 08:42:06 -07:00
Christian Rinderknecht
77a55172ef I fixed the heterogeneity in parentheses around constructors in
patterns.
2019-06-13 16:57:40 +02:00
Georges Dupéron
ded9c4f58f Fix auto-detection of syntax, use a polymorphic variant to ensure all functions were updated. 2019-06-13 01:56:03 +02:00
Galfour
a3e6016758 Merge branch 'dev' into feature/dry-run-bin 2019-06-12 20:49:36 +00:00
Matej Šima
072d753e91 Merge branch 'feature/more-operators' into 'dev'
Feature/more operators

See merge request ligolang/ligo!32
2019-06-12 20:34:16 +00:00
Galfour
8f03e537cd Merge branch 'dev' into feature/dry-run-bin 2019-06-12 20:02:39 +00:00
Galfour
07f7af5286 Merge branch 'dev' into feature/more-operators 2019-06-12 19:56:45 +00:00
Galfour
fa5ac47d8f add amount option 2019-06-12 19:13:06 +00:00
Galfour
4c833fc7a3 add one cameligo test 2019-06-12 18:41:29 +00:00
Matej Šima
69f867edee Merge branch 'feature/auto-detect-syntax' into 'dev'
Auto-detect syntax based on file extension

See merge request ligolang/ligo!27
2019-06-12 13:23:52 +00:00
Matej Šima
c2d7678f9a Merge branch 'feature/dry-run-bin' into 'dev'
fix dry-run ; add features to the bin

See merge request ligolang/ligo!30
2019-06-12 09:18:54 +00:00
Georges Dupéron
fdfb00b7a6 Distinguish parameter and storage arguments in --help 2019-06-12 01:28:38 +02:00
Georges Dupéron
6bb5a0f731 Auto-detect syntax based on file extension 2019-06-12 01:12:37 +02:00
Galfour
a75c0ac061 fix dry-run ; add features to the bin 2019-06-11 17:57:07 +00:00
Christian Rinderknecht
582e95f9a8 Enabled user-defined constant constructors in expressions. 2019-06-11 17:10:27 +02:00
Galfour
8c934a6fd8 more operators in the pipeline 2019-06-11 00:52:09 +00:00
Galfour
b512bf31bb add more operators 2019-06-10 22:17:01 +00:00
Galfour
3f8b3fef87 Merge branch 'feature/dry-run-bin' into dev 2019-06-10 22:09:20 +00:00
Galfour
7b9e3b6699 add dry-run to the bin commands 2019-06-10 22:08:56 +00:00
Georges Dupéron
3583d067cc Merge branch '8-reporting-of-error-messages' into 'dev'
Fixed regression (empty lists in Ligodity)

See merge request ligolang/ligo!25
2019-06-10 20:22:29 +00:00
Christian Rinderknecht
37c2152fca Fixed the regression introducted by the previous commit (disallowing empty lists). 2019-06-10 19:59:22 +02:00
Christian Rinderknecht
53314c2c0c Removed "assert" as reserved. Enabled terminating ";" in lists. 2019-06-10 15:19:42 +02:00
Galfour
985eff44a9 more keywords ; add support for sets ; remove assert from keywords 2019-06-10 09:58:16 +00:00
Galfour
f4fc06ce72 some more operators 2019-06-10 01:41:02 +00:00
Galfour
10461764fb add dry-run in cli 2019-06-09 12:08:37 +00:00
Georges Dupéron
b2ec459b08 Added types for mligo map instructions 2019-06-07 15:16:48 +02:00
Christian Rinderknecht
4d121602eb Merge branch '8-reporting-of-error-messages' of gitlab.com:ligolang/ligo into 8-reporting-of-error-messages 2019-06-07 12:48:33 +02:00
Christian Rinderknecht
a8e344c24e Added test for Matej. 2019-06-07 12:48:21 +02:00
Georges Dupéron
743098ecbd added test calling a function with ligo 2019-06-07 11:19:56 +02:00
Galfour
346a6fdbc4 hide compiler errors; fix ligodity's over-eager tuplification 2019-06-06 21:06:33 +00:00
Galfour
a4f895882f more error messages; various fixes 2019-06-06 20:49:36 +00:00
Georges Dupéron
0e36d63ec4 more tests, improved error messages 2019-06-06 20:58:08 +02:00
Galfour
1aff86d464 Merge branch 'dev' into 8-reporting-of-error-messages 2019-06-06 17:37:49 +00:00
Galfour
0fea1c6d78 improve bin pretty printing of errors 2019-06-06 17:37:46 +00:00
Christian Rinderknecht
bff14309e4 Predefined values for Ligodity. Added a few more tests for Ligodity. 2019-06-06 18:40:05 +02:00
Galfour
019d4311ab binary hotfix 2019-06-06 09:30:29 +00:00
Georges Dupéron
dbe4282659 missing files in failwith and guess_string tests, oops. 2019-06-05 20:07:38 +02:00
Georges Dupéron
08626f749c "Guess the string" contract 2019-06-05 19:21:16 +02:00
Georges Dupéron
a0624614ee expect_eq_n: also test 1 (to check the cases 0, 1, many) 2019-06-05 19:21:15 +02:00
Georges Dupéron
02785aa754 Added failwith to camligo 2019-06-05 19:21:15 +02:00
Georges Dupéron
da4e3e5b80 improved --help docs 2019-06-05 19:21:15 +02:00
Georges Dupéron
347774e42b Improved error messages 2019-06-05 19:21:15 +02:00
Christian Rinderknecht
0e01353c7d Finished upgrading the error reporting for Pascaligo. 2019-06-05 17:51:06 +02:00
Georges Dupéron
e0228f352c fix build (my bad) 2019-06-05 14:26:01 +02:00
Georges Dupéron
64e848b2de structured errors for ast_typed/misc.ml 2019-06-05 11:48:33 +02:00
Georges Dupéron
24db060dae Use internal_assertion_fail instead of the simple_error that are just assertions 2019-06-05 11:38:59 +02:00
Georges Dupéron
1750895a65 removed simple_fail from ast_typed/misc.ml 2019-06-05 10:52:41 +02:00
Galfour
1ccaef23fb Merge branch '8-reporting-of-error-messages' of gitlab.com:ligolang/ligo into 8-reporting-of-error-messages 2019-06-05 06:43:45 +00:00
Galfour
1fa727061b add test hierarchy 2019-06-05 06:43:33 +00:00
Christian Rinderknecht
358b2fda83 Merge branch '8-reporting-of-error-messages' of gitlab.com:ligolang/ligo into 8-reporting-of-error-messages 2019-06-04 16:12:39 +02:00
Christian Rinderknecht
97dd2db4b8 I forbade local entry points in Pascaligo (meaningless).
I refactored the projections in Ligodity (AST), so they have the
same name and types as in Pascaligo, which will ease the creation
of module CommonErrors in a file.
2019-06-04 16:12:17 +02:00
Georges Dupéron
22f930b531 locations in error messages in typer.ml where possible 2019-06-04 14:24:24 +02:00
Christian Rinderknecht
8562586bbd Merge branch '8-reporting-of-error-messages' of gitlab.com:ligolang/ligo into 8-reporting-of-error-messages 2019-06-04 13:45:26 +02:00
Christian Rinderknecht
4f60f23769 Finished changing the error reporting. 2019-06-04 13:45:21 +02:00
Galfour
44d6f31a1d Merge branch '8-reporting-of-error-messages' of gitlab.com:ligolang/ligo into 8-reporting-of-error-messages 2019-06-04 08:21:24 +00:00
Galfour
388c5e6a09 errorm messages for the transpiler 2019-06-04 08:21:13 +00:00
Georges Dupéron
987d65f227 Structured error messages for typer (still needs to print srclocs) 2019-06-04 03:27:29 +02:00
Christian Rinderknecht
fd3460c890 Added more newly styled error message triggering. 2019-06-03 19:23:40 +02:00
Georges Dupéron
8ada684e34 More structured errors 2019-06-03 19:00:00 +02:00
Georges Dupéron
eee4367df9 More structured errors 2019-06-03 17:50:16 +02:00
Christian Rinderknecht
963507ddc0 Fixed the "end of stream" in the Ligodity parser. Started replacing
new error reporting in ligodity.ml.
2019-06-03 17:43:25 +02:00
Georges Dupéron
c2643f5b4c Use structured errors in typer 2019-06-03 16:09:31 +02:00
Georges Dupéron
0e484f5bc1 Started matching errors in typechecker 2019-06-03 14:56:29 +02:00
Galfour
0e17e8b274 minor fixes 2019-06-03 12:23:46 +00:00
Galfour
b65c9ca67f fix cli 2019-06-03 11:07:24 +00:00
Galfour
8c81432281 modify trace; oldify multifix 2019-06-03 10:33:13 +00:00
Galfour
a7298dc16d fix cli.ml 2019-06-01 11:51:49 +00:00
Galfour
6febd855c4 fix ligodity; add it to the bin; add source locations; merge 2019-06-01 11:29:31 +00:00
Galfour
8d6f19ac6c very unstable state 2019-06-01 08:37:43 +00:00
Galfour
055bee804e fix ligodity issues 2019-05-31 22:03:06 +00:00
Galfour
320d0c1a72 various refactorings to prepare tests; tests for ligodity don't pass 2019-05-31 19:56:51 +00:00
Galfour
009b0331e9 add cameligo to the cli 2019-05-29 22:13:04 +00:00
Galfour
79af0abab3 propagate source-code locations to ast_typed 2019-05-28 17:02:40 +00:00
Galfour
5b42d72e41 propagate source code locations from ligodity 2019-05-28 16:34:53 +00:00
Galfour
79b88ab4ba Merge branch 'master' of gitlab.com:ligolang/ligo 2019-05-28 15:47:29 +00:00
Gabriel Alfour
9059c3c2f1 Merge branch 'rinderknecht-dev' into 'master'
Added simplifications of Ligodity for lambdas, sequences and conditionals.

See merge request ligolang/ligo!5
2019-05-28 15:47:16 +00:00
Galfour
c32ace3afc propagate source code locations 2019-05-28 15:36:14 +00:00
Christian Rinderknecht
af8e9bd238 Added simplifications of Ligodity for lambdas, sequences and
conditionals.

Enabled in parser a type annotation on lambda parameter, and
lifted the existing type annotation in patterns to become that
type annotation.
2019-05-28 17:00:43 +02:00
Galfour
50868302c6 minor rewriting; add docs 2019-05-28 10:46:22 +00:00
Christian Rinderknecht
28b84e1e65 Fixed the translation of let-in. 2019-05-24 19:31:39 +02:00
Georges Dupéron
a0936d8eb5 Moved repository to ligolang namespace 2019-05-24 11:36:39 +02:00
Galfour
0b6f0e03be add basic doc in operators/operators.ml 2019-05-23 15:43:30 +00:00
Galfour
a852f4997c rewrote operators 2019-05-23 12:16:12 +00:00
Galfour
6ee5aff962 merge and fix 2019-05-23 07:49:06 +00:00
Galfour
c69c98c7fa Merge branch 'master' of gitlab.com:gabriel.alfour/ligo 2019-05-23 06:49:21 +00:00
Galfour
c085dae123 remove annotations from ast_simplified; make annotation expression explicit; locally very limited propagation of constraints in binding cases 2019-05-23 06:22:58 +00:00
Christian Rinderknecht
193febc83e Merge branch 'master' of gitlab.com:gabriel.alfour/ligo 2019-05-22 19:38:40 +02:00
Christian Rinderknecht
24a1068dd4
Refactoring of the parser and AST so "let" constructs bind
exactly one variable. (Unfinished)

Fixed minor error in error printing in Lexer.

Added test in ParseMain.ml on --verbose=parser.
2019-05-22 19:38:09 +02:00
Galfour
9d873c382b remove statements from everywhere (very atomic commit) 2019-05-22 00:46:59 +00:00
Christian Rinderknecht
331b11dcca
Refactored the AST and fixed the symlinks. 2019-05-20 21:42:11 +02:00
Galfour
46d07c55ea remove statements from mini_c 2019-05-20 16:26:55 +00:00
Galfour
2a091edbc0 transpile to mini_c expressions 2019-05-20 16:17:26 +00:00
Galfour
e48a5fde28 preparing removal of statements in Mini_c 2019-05-20 08:38:38 +00:00
Galfour
2dd7e2668c merge 2019-05-17 17:55:46 +00:00
Galfour
97adaad836 preparations for statements removal 2019-05-17 17:36:57 +00:00
Georges Dupéron
c773fe61ce revert let_in as lambda and add let_in 2019-05-17 19:14:00 +02:00
Galfour
ccdbd5bbd0 fix 2019-05-17 16:18:03 +00:00
Galfour
a94bf665f3 Merge branch 'master' of gitlab.com:gabriel.alfour/ligo 2019-05-17 16:06:57 +00:00
Galfour
21f09da759 remove environment from transpilation of expressions 2019-05-17 16:03:41 +00:00
Christian Rinderknecht
6028cd9abd
I enabled constant data constructors. I added more to the documentation. 2019-05-17 16:29:22 +02:00
Christian Rinderknecht
90a9e1a783 In the process of optimising immediate applications as let-in [Broken]. 2019-05-16 18:17:27 +02:00
Christian Rinderknecht
3c46b99202 Merge branch 'master' of gitlab.com:gabriel.alfour/ligo 2019-05-16 10:58:29 +02:00
Christian Rinderknecht
37c9d1ff64
Added mini-documentation of internals. Fixing links after change of
git repository.
2019-05-16 10:18:05 +02:00
Galfour
4e76b5344d add last expressions in mini_c 2019-05-16 08:12:53 +00:00
Galfour
32ecf8cfca add expression constructions to mini_c 2019-05-15 22:00:18 +00:00
Galfour
df1916a1b9 normalizing renaming 2019-05-15 21:05:09 +00:00
Galfour
1029f42aac minor renamings 2019-05-15 18:28:25 +00:00
Galfour
7a5130f51f remove environments from mini_c 2019-05-15 18:16:28 +00:00
Georges Dupéron
d433dd85fc Add module aliases and dependencies 2019-05-15 17:21:12 +02:00
Georges Dupéron
da87f9ca86 Add implicit open of Simple_utils in ligodity 2019-05-15 17:10:57 +02:00
Christian Rinderknecht
c60329ef78 Fixed the build (which I broke, sorry). 2019-05-15 16:05:03 +02:00
Christian Rinderknecht
3d9775edb3 More rewrites. [Still not compiling.] 2019-05-15 16:05:03 +02:00
Christian Rinderknecht
af8d1083b7 Eased the translation from Ligodity AST to Liquidity AST.
More precisely,

  * I commented out the operator "@" on lists in Ligodity (it can
    be implemented as a function, as a workaround).

  * I removed the parallel "let" construct (hence the "and" keyword).

  * I renamed the type "field_assignment" into "field_assign", in
    order to match Pascaligo AST.

  * The reading of the command-line options is now done by
    calling the function [EvalOpt.read], instead of an ugly
    side-effect when loading the binary of the module. Options
    are now found in a record of type [EvalOpt.options].

  * I added support in the Ligodity lexer for #include CPP
    directives.
2019-05-15 16:05:03 +02:00
Christian Rinderknecht
fdf7704a7c Fixed the type for ECall. 2019-05-15 16:05:03 +02:00
Christian Rinderknecht
bb5dadca55 Modifying pascaligo.ml to become ligodity.ml [BROKEN]. 2019-05-15 16:05:03 +02:00
Christian Rinderknecht
7de4a1802a Additions and refactoring so the AST gets even closer to that of PAscaligo.
* Added type annotations for expressions.
* Added bytes.
* Changed the AST for function calls
* Changed the AST for constructor applications
2019-05-15 16:05:03 +02:00
Christian Rinderknecht
011ae44b54 Finished narrowing the gap between Ligodity AST and Pascaligo AST. 2019-05-15 16:05:03 +02:00
Christian Rinderknecht
0796567aee Further reducing the distance from Ligodity AST to Pascaligo AST. 2019-05-15 16:05:03 +02:00
Christian Rinderknecht
dcbfbf781d Extended lib_utils/pos.ml{i}. First import of Ligodity. (No "simplify" yet.) 2019-05-15 16:04:37 +02:00
Georges Dupéron
22b331dbed Added tests to build, fixed some unused variables. 2019-05-15 15:17:04 +02:00
Galfour
3c6af09b21 fix warning; fix error in tests 2019-05-15 11:44:05 +00:00
Georges Dupéron
c43570a82d Move into src/; add vendors/ subfolder, add CI script. 2019-05-14 17:53:44 +02:00