galfour
af588933f4
add closures
2019-08-21 10:28:27 +02:00
Tom Jack
bd987613d5
This stuff is now unused
2019-08-20 16:33:23 -07:00
Tom Jack
31591f1669
Comment out tests needing closure (TODO)
2019-08-20 16:33:23 -07:00
Tom Jack
d53f0058c6
Various compiler fixes
2019-08-20 16:33:23 -07:00
galfour
de96a04681
simplifying compiler
2019-08-20 22:51:16 +02:00
Christian Rinderknecht
fddce3257a
First draft of the PascaLIGO parser using streams.
2019-08-04 18:03:54 +02:00
Christian Rinderknecht
ce31bc2572
Fixes.
2019-08-04 18:02:56 +02:00
Christian Rinderknecht
6c818567fa
Fixed comment.
2019-07-31 14:43:04 +02:00
Christian Rinderknecht
5bc43fa430
Changed the definition of the compound constructs so they use "option".
2019-07-31 10:45:19 +02:00
Christian Rinderknecht
50c99ff71d
I added more transformations.
2019-07-31 10:24:57 +02:00
Christian Rinderknecht
bf50102810
Fixed expressions annotated with types (they are now allowed everywhere).
2019-07-30 14:24:26 +02:00
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