Commit Graph

373 Commits

Author SHA1 Message Date
Tom Jack
3a14ef26ef Simplify? 2019-10-07 16:54:28 +02:00
Lesenechal Remi
3a3cfa341a cleaning 2019-10-07 16:54:28 +02:00
Lesenechal Remi
08a3e08f57 add a new T_constant in ast_simplified and ast_typed 2019-10-07 16:54:28 +02:00
Lesenechal Remi
1401d03d62 Parser patch from Christian 2019-10-07 16:54:28 +02:00
Christian Rinderknecht
ff9584c7b7 Gardening. 2019-10-07 16:37:33 +02:00
Pierre-Emmanuel Wulfman
59cb210b83 Interface for Ocaml code 2019-10-07 14:18:32 +00:00
John David Pressman
0207d1f88f Add .mli for SAST pretty printer with minimal comments 2019-10-04 15:33:50 -07:00
Georges Dupéron
0e5c9802ec More tests with lambdas 2019-10-04 16:47:01 -04:00
Georges Dupéron
606f7ca907 More tests, integration of some of the operators 2019-10-04 16:47:01 -04:00
Georges Dupéron
8c37fe355d test: contract for mligo version of the example on the website 2019-10-04 16:33:59 -04:00
John David Pressman
fcfbbcb9c1 Delete dead code and add .mli docs to simplify/pascaligo.ml 2019-10-03 15:32:16 -07:00
John David Pressman
c2489fd310 ocamldoc-ify Markup.mli 2019-10-03 14:07:12 -07:00
John David Pressman
30d25ee247 Convert top comment in LexToken.mli to ocamldoc comment 2019-10-03 13:59:53 -07:00
John David Pressman
211d5ea37f Add explanation of AST relationship to Parser.mly to AST.mli 2019-10-03 13:42:33 -07:00
John David Pressman
51e6c441f2 Add documentation for pascaligo parser interface as .mli 2019-10-03 13:32:43 -07:00
John David Pressman
e3c581ff02 Fix typo in transpiler.ml explanation 2019-10-03 11:47:09 -07:00
John David Pressman
b02c241a01 Add short explanation to transpiler.ml 2019-10-03 11:37:07 -07:00
Lesenechal Remi
c1845c2bfe Only look at arg.type_value instead of arg.content 2019-10-03 18:35:11 +02:00
Lesenechal Remi
4e333836cb ignore closure error in subexpression of argument 2019-10-03 15:36:06 +02:00
Lesenechal Remi
962a98da75 emmit a t_function when no variables are captured 2019-10-03 10:21:09 +02:00
Lesenechal Remi
6fbe43d28a Check for closure when applying a function and update tests 2019-10-02 18:31:15 +02:00
Lesenechal Remi
a7565145d5 add map_expression function in self_mini_c pass helpers 2019-10-02 18:31:15 +02:00
Lesenechal Remi
ae882c39ef Variable name gardening 2019-10-02 18:31:15 +02:00
Lesenechal Remi
2840eb7414 Treat env element expression as deep_closure only if they are lambda 2019-10-02 18:31:15 +02:00
Sander Spies
ccfe58efb8 Fix lexer 2019-10-01 07:51:10 +02:00
Rémi Lesenechal
6850d21650 Feature/ligo 100 map tests 2019-09-27 15:52:40 +00:00
Christian Rinderknecht
889a4d643d Forgot to fully resolved conflict due to removal of keyword fail. 2019-09-27 17:08:07 +02:00
Christian Rinderknecht
8257c5e6fe Merge remote-tracking branch 'origin/dev' into rinderknecht-dev 2019-09-27 17:07:36 +02:00
Sander
5bcf3cae6e Refactor Ligodity parser to use shared parser. 2019-09-27 13:33:25 +00:00
Christian Rinderknecht
81868ca3b2 Merge branch 'rinderknecht-dev' of gitlab.com:ligolang/ligo into rinderknecht-dev 2019-09-27 14:36:59 +02:00
Christian Rinderknecht
814a37b477 Merge remote-tracking branch 'origin/dev' into rinderknecht-dev 2019-09-27 14:35:47 +02:00
Christian Rinderknecht
e5e9fb8e2f Merge branch 'dev' into 'rinderknecht-dev'
# Conflicts:
#   src/passes/1-parser/pascaligo/AST.ml
#   src/passes/1-parser/pascaligo/AST.mli
#   src/passes/1-parser/pascaligo/ParToken.mly
2019-09-27 11:47:59 +00:00
Christian Rinderknecht
fa4a7cecdf Removed entrypoint. Added back missing error message (string cat). 2019-09-27 13:44:29 +02:00
Gabriel Alfour
0c6f233507 Merge branch 'feature/auto-field-annotations' into 'dev'
Generate field annotations for sum/record

See merge request ligolang/ligo!78
2019-09-27 07:34:51 +00:00
Gabriel Alfour
ebf699cde7 Merge branch 'feature/failwith-typed' into 'dev'
Feature/failwith typed

See merge request ligolang/ligo!98
2019-09-26 20:25:46 +00:00
Tom Jack
6fc1b6430b Add a little bit of tez tests, fix cameligo lexer bug 2019-09-26 13:31:37 -05:00
galfour
7974469159 remove fail 2019-09-26 19:30:17 +02:00
galfour
ef2f6060d5 deprecate fail 2019-09-26 19:13:25 +02:00
galfour
08809f8a5d type failwith 2019-09-26 19:01:07 +02:00
galfour
e0e5228254 failwith test 2019-09-26 18:47:46 +02:00
galfour
c4a4942b09 minor merge 2019-09-26 11:39:35 -05:00
Tom Jack
09496ce4ca Generate field annotations for sum/record 2019-09-26 11:39:35 -05:00
Tom Jack
be201a5109 Lose another opam battle 2019-09-26 10:59:18 -05:00
Christian Rinderknecht
68ff421b7d Merge remote-tracking branch 'origin/dev' into rinderknecht-dev 2019-09-26 17:11:08 +02:00
Christian Rinderknecht
ca1471612f Merge branch 'pascaligo-tests' into 'dev'
Add Pascaligo tests for not kwd, (commented out) procedure and for loop

See merge request ligolang/ligo!95
2019-09-26 15:09:37 +00:00
Christian Rinderknecht
10469818c1 Removed entrypoint and storage as keywords.
Bug fix: `n-1` was scanned as `n` and `-1`, which was rejected by
a style constraint.

I removed useless style constraints in the lexer.

I removed dead code in `pascaligo.ml`.

I added my first draft for the reference manual of PascaLIGO: DO
NOT EDIT. Edit the website instead.

About the bug fix: This was an awkward attempt at rejecting at
lexing time negative integer literals whose sign is separated
from the digits, like `- 1`. The fix was simple: remove the
`integer` regular expression and use `natural`.
2019-09-26 16:35:16 +02:00
Tom Jack
389cbdbded Hotfix: display errors, fix mystery fail 2019-09-26 06:01:09 -05:00
Tom Jack
8a96e38f04 More failure tests, fix mligo assert 2019-09-25 20:15:21 -05:00
Tom Jack
a521c01115 some michelson optimizations 2019-09-25 20:15:19 -05:00
Tom Jack
a2240e0649 Merge branch 'feature/stderr' into 'dev'
Print errors to stderr, exit 1

See merge request ligolang/ligo!66
2019-09-26 00:56:55 +00:00
Tom Jack
8a04ee8097 Fix bug for compile-parameter and compile-storage 2019-09-25 13:40:32 -05:00
galfour
be75fd4830 fixed minor bug 2019-09-25 17:21:44 +02:00
galfour
87bbdad553 fix stuff 2019-09-25 10:49:14 +02:00
John David Pressman
9bb0d3aa9f Disable tests for procedures and for loops, which are unsupported 2019-09-24 16:20:52 -07:00
John David Pressman
ada8a2b703 Add (commented out) for loop test & working procedure test
Also clean up typo in unsupported for loop error message
2019-09-24 15:47:04 -07:00
John David Pressman
a8def8c269 Add test for boolean not 2019-09-24 12:18:07 -07:00
galfour
e6ac10f0ce switch from tz to mtz 2019-09-24 14:29:18 +02:00
galfour
f72593ae85 add set literals 2019-09-24 14:00:43 +02:00
galfour
b6ee28d704 add map literals in cameligo 2019-09-24 13:54:34 +02:00
galfour
ac449d2cb3 test List.iter and List.map in cameligo 2019-09-24 10:54:14 +02:00
galfour
9c3c40c9ef add set fold 2019-09-24 00:26:39 +02:00
galfour
c4752c5935 add map fold 2019-09-23 23:46:47 +02:00
galfour
b41b676eb8 add list fold 2019-09-23 23:33:25 +02:00
Tom Jack
c07f0633cd Print errors to stderr, exit 1 2019-09-23 09:54:53 -07:00
galfour
fed4891840 Merge branch 'dev' into refactor/everything 2019-09-23 16:40:51 +02:00
galfour
96fd0b4660 yay 2019-09-22 23:39:52 +02:00
galfour
37836f9512 adding option 2019-09-22 22:44:50 +02:00
galfour
720ef99c69 solve conflict 2019-09-22 22:17:28 +02:00
John David Pressman
0cfb40f54d Add purpose comments to some test contracts
Add comments explaining what a contract is/does/tests to the top of several PascaLIGO test contracts, as part of evaluating what parts of the syntax are and aren't currently tested.
2019-09-21 14:59:48 -07:00
galfour
9fb65e71e8 more lists 2019-09-21 11:30:41 +02:00
galfour
ad79188c4f add list pattern matching 2019-09-21 09:12:00 +02:00
Lesenechal Remi
8978c5c4d7 Print expresion in error message to ease further debugging 2019-09-20 21:33:14 +02:00
Lesenechal Remi
ea6f51bd55 CLI checked, compile-storage and dry-run
Add a '--bigmap' option to the CLI. This way all the maps in the AST are transformed to bigmaps
2019-09-20 21:33:14 +02:00
Lesenechal Remi
b653996aae Big_map support
Add big_map case in the uncompiler which takes the original big_map and apply the returned diff

Add input_to_value option which compiles input expressions to mini_c.values
2019-09-20 21:33:14 +02:00
Lesenechal Remi
304184bcd3 Bla 2019-09-20 21:33:14 +02:00
Lesenechal Remi
c7cfce2bf7 Remove merge comments 2019-09-20 21:33:14 +02:00
Lesenechal Remi
e5b4d37af8 add E_big_map case in Ast 2019-09-20 21:33:14 +02:00
Lesenechal Remi
a9f7bb39e4 add tests for big_map 2019-09-20 21:33:14 +02:00
Lesenechal Remi
1c281ac079 merge operations syntax for map with big_map 2019-09-20 21:33:14 +02:00
Lesenechal Remi
e930dc00c4 some check on starage for big_map 2019-09-20 21:33:14 +02:00
Lesenechal Remi
25e3ab8e5d big map can be looked up 2019-09-20 21:33:14 +02:00
Lesenechal Remi
4fec6f1624 naively connects big_map to the transpiler 2019-09-20 21:33:14 +02:00
galfour
dc9294bbcc add options in cameligo 2019-09-20 20:38:04 +02:00
galfour
66efff631d add micheline 2019-09-20 18:56:55 +02:00
galfour
9a7c3ee54d Merge branch 'dev' into refactor/everything 2019-09-20 17:51:43 +02:00
galfour
1b901b1c25 Merge branch 'dev' into refactor/everything 2019-09-20 17:50:47 +02:00
galfour
2a90be292c more formats 2019-09-20 11:59:44 +02:00
galfour
e3179bd7c7 tests pass again 2019-09-19 12:59:07 +02:00
galfour
6fe48ff6ad more working 2019-09-19 08:29:31 +02:00
galfour
015e197183 back on track 2019-09-19 01:34:37 +02:00
galfour
b619fa1f17 further down the road 2019-09-18 18:49:33 +02:00
galfour
d8b7a12c69 more refactoring 2019-09-15 13:12:19 +02:00
galfour
5566095e49 more stuff 2019-09-11 13:56:39 +02:00
galfour
715812b2c3 more modifications 2019-09-10 15:19:15 +02:00
galfour
cdfffcf8ec more refactoring 2019-09-10 12:42:49 +02:00
John David Pressman
1cda8ca097 Merge branch 'fix-ci' into 'dev'
Try to fix CI again

See merge request ligolang/ligo!71
2019-09-10 02:38:18 +00:00
Tom Jack
c867a4c4d4 Remove dune-project files 2019-09-09 13:59:08 -07:00
galfour
d187317c32 move contracts 2019-09-09 11:47:42 +02:00
Tom Jack
e0b5910627 Try to fix CI again 2019-09-08 12:37:11 -07:00
galfour
0fb37e9d3f adding list cons 2019-09-08 12:34:29 +02:00
galfour
cb1aa44ff4 moving stuff around 2019-09-08 12:17:24 +02:00
Gabriel Alfour
dec2ffd2ed Merge branch 'feature/add-hashes' into 'dev'
add hashes and support for bytes

See merge request ligolang/ligo!69
2019-09-07 17:04:07 +00:00
galfour
6713160530 add hashes and support for bytes 2019-09-07 18:42:59 +02:00
galfour
25b07af6ae merge dev conflict 2019-09-07 16:54:08 +02:00
Georges Dupéron
644d90be6d Fix CI and Makefile (WIP) 2019-09-06 17:27:09 +02:00
galfour
f831793fbd y e s s s 2019-09-05 15:21:01 +02:00
Christian Rinderknecht
4b4698d1f0 Merge remote-tracking branch 'origin/dev' into rinderknecht-dev 2019-08-29 17:27:36 +02:00
Christian Rinderknecht
57b1d39b6e New contract in CameLIGO, based on the tutorial. (Not called from the CI.) 2019-08-29 17:25:35 +02:00
Christian Rinderknecht
3f47bb2e85 Recording as miscellaneous the old way to do series of items. 2019-08-29 17:09:43 +02:00
Christian Rinderknecht
95b2111a8b Left factoring of productions to get closer to LL. 2019-08-29 17:08:23 +02:00
Christian Rinderknecht
fbbff496c7 Cosmetics. 2019-08-29 17:07:23 +02:00
Christian Rinderknecht
f99bd0d1df More rewrites of the grammar for stream parsing.
Fixed code in the internal documentation of PascaLIGO.
2019-08-29 17:06:16 +02:00
Sander
b04a988a7e Separate parts of Pascaligo into a shared parser library 2019-08-29 14:54:06 +00:00
Tom Jack
faf3bbc061 Fix unpack_closure 2019-08-21 07:34:39 -07:00
Tom Jack
7afa8a9cdb Test closures more 2019-08-21 07:34:34 -07:00
galfour
31a2a96810 fixed last bug 2019-08-21 11:41:57 +02:00
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