John David Pressman
35a59a0867
Add parser tokens, guru meditation on why the AST types don't work
2019-10-17 21:33:45 -07:00
John David Pressman
8997155a57
Rough draft of single-expr function syntax
2019-10-17 20:50:41 -07:00
Christian Rinderknecht
e53d4035d0
Removed corner case that could not be triggered in PascaLIGO simplifier.
2019-10-17 18:46:40 +02:00
Christian Rinderknecht
36d9858e97
Removed sub-blocks from PascaLIGO.
2019-10-17 18:33:58 +02:00
Lesenechal Remi
9f0b61659e
we don't need to check for closures in function arguments
2019-10-17 17:18:10 +02:00
galfour
27be6cfcba
use apply for closures
2019-10-17 16:34:02 +02:00
galfour
8a4b9695e7
use dig/dug for get/set
2019-10-17 15:48:24 +02:00
galfour
56269231b3
upgrade to babylon
2019-10-17 11:45:27 +02:00
Suzanne Dupéron
81ab0267f5
cleanup
2019-10-16 22:19:32 -04:00
Christian Rinderknecht
00016d09bb
I removed the definition of procedures.
...
Note: This immediately removes some unsupported cases of the
simplifier, pertaining to the definition of procedures.
2019-10-16 15:39:08 +02:00
Christian Rinderknecht
1299ecac6b
Merge remote-tracking branch 'origin/dev' into rinderknecht-dev
2019-10-16 12:00:40 +02:00
Christian Rinderknecht
157e24ff08
Fixed documentation.
...
There was an error in the syntax of tuple projection (no parentheses
are needed, in fact).
Another issue was a wrong Markdown layout for lists (my fault).
2019-10-16 11:50:31 +02:00
Christian Rinderknecht
15937a2459
Bug fixing in the AST pretty-printer and new syntax for iterators.
...
I added a type annotation for the variable iterating a
collection, which is also now marked as "map", "set" or "list".
I fixed and refactored the pretty-printer for the AST.
2019-10-16 01:11:54 +02:00
Christian Rinderknecht
27564426da
Bug fixes and finished AST pretty-printer.
...
ParserLog: Finished the AST pretty-printer.
ParserMain: The CLI "ast" is now "ast-tokens" and the new "ast"
calls the AST pretty-printer.
Bug: Added nat literals as patterns.
AST: Removed unary constructor TupleInj.
Parser and simplifier:
- The rule "cartesian" is now properly stratified.
- Parenthesised expressions now correctly create EPar nodes.
2019-10-15 21:03:46 +02:00
John David Pressman
b80f16eb34
Merge branch 'feature/pascaligo-set-deep-rm' into 'dev'
...
[LIGO-139] Add deep set removal to PascaLIGO
See merge request ligolang/ligo!136
2019-10-15 14:47:17 +00:00
John David Pressman
6f5e88c93c
Make failing deep set removal test pass
2019-10-14 18:59:16 -05:00
John David Pressman
8a9a72b673
Merge branch 'dev' of gitlab.com:ligolang/ligo into gardening/code-comments
2019-10-14 16:31:57 -07:00
Tom Jack
ed69c858a8
Use right folds
2019-10-14 14:05:35 -05:00
John David Pressman
c4babe60d8
Merge branch 'dev' of gitlab.com:ligolang/ligo into feature/pascaligo-map-patch
2019-10-14 11:34:26 -07:00
Christian Rinderknecht
89971f31d0
Forgot to commit the change in the simplifier.
2019-10-13 20:15:50 +02:00
Christian Rinderknecht
f634d36b76
Refactorings for PascaLIGO.
...
- I aligned the names of the tokens in common with Ligodity.
- I removed the "down" and "step" clauses in loops.
- Note: the stratification of the rule "pattern" in the
previous commit has the pleasant effect to remove a call
to "corner_case" in function "simpl_case" of the
file "2-simplify/pascaligo.ml".
- Added more cases to the pretty-printer of the AST.
2019-10-13 19:51:01 +02:00
Christian Rinderknecht
f795f1216a
Bug fixing in the lexers and the parser. Started AST pretty-printer.
...
LexToken, AST: Tiny refactoring.
Bug: Added the making of the AST node PBytes.
Parser: The rule "pattern" was not properly stratified (the
constructor "PCons" was always produced, even when no consing was
done (now a fall-through to "core_pattern").
Bug: When sharing the lexers between Ligodity and Pascaligo, a
regression was introduced with the lexing of symbols. Indeed,
symbols specific to Ligodity (like "<>") and
Pascaligo (like "=/=") were scanned, but the
function "LexToken.mk_sym" for each only accepted their own,
yielding to an assertion to be invalidated. Fix: I created an
error "sym_err" now to gracefully handle that situation and
provide a hint to the programmer (to wit, to check the LIGO
syntax in use).
WIP: Started to write pretty-printing functions for the nodes of
the AST.
CLI: The option "--verbose=ast" now calls that function instead
of printing the tokens from the AST. When the pretty-printer is
finished, the option for printing the tokens will likely
be "--verbose=ast-tokens".
2019-10-12 23:42:26 +02:00
Christian Rinderknecht
d7baebdb2f
Merge branch 'feature/pascaligo-set-patch' into 'dev'
...
[LIGO-127] Add set patch functionality to PascaLIGO
See merge request ligolang/ligo!127
2019-10-12 20:35:14 +00:00
John David Pressman
b304772928
Change set patch to use left fold
2019-10-12 12:38:05 -07:00
John David Pressman
5070ded5b9
Add complex path traversal to map patch
2019-10-11 17:26:28 -07:00
John David Pressman
3d053cd073
Refactor map patch so that it uses fewer assignments
2019-10-11 15:44:16 -07:00
Suzanne Dupéron
3bbb8bfd8b
Fixed merge issues with new merge of dev
2019-10-11 17:01:28 -04:00
Suzanne Dupéron
5a58559edc
Merge remote-tracking branch 'origin/dev' into HEAD
2019-10-11 16:59:45 -04:00
Tom Jack
c2a3fd473c
Fix test
2019-10-11 15:27:41 -05:00
Tom Jack
c5361c57d4
Simplify a bit
2019-10-11 15:10:11 -05:00
Tom Jack
e672d10029
Expose tez mod tez, too
2019-10-11 14:54:22 -05:00
John David Pressman
d947f3b462
Change set patch to chain calls and only use one assignment
2019-10-11 12:38:00 -07:00
Tom Jack
d87d0aab73
Expose tez/tez division
2019-10-11 14:35:23 -05:00
Suzanne Dupéron
9e2c057edb
dune build passes, but not dune build @ligo-test. Threaded the typechecker's state in a bunch of places where it's likely not needed, because I don't know which parts are entrypoints and which parts are intermediate functions, and the role of the state between program fragments is not yet 100% clear to me.
2019-10-11 15:21:28 -04:00
John David Pressman
58b8e537e4
Merge branch 'dev' of gitlab.com:ligolang/ligo into feature/pascaligo-set-patch
2019-10-11 09:02:45 -07:00
Suzanne Dupéron
1356159281
WIP on integrating typer with the bin / CLI, fixed last API change
2019-10-11 04:08:12 -04:00
John David Pressman
49ffe00466
Remove unsupported_map_patch error in PascaLIGO simplifier
2019-10-10 18:35:39 -07:00
John David Pressman
c181ec1cac
Upload rough draft of map patch functionality with test
...
Right now I'm concerned that the way this generates the code is inefficient, in particular this line:
`in ok @@ (access_path, key', value', loc)`
Since the comments [on my code for the set patch](https://gitlab.com/ligolang/ligo/merge_requests/127 )
warned that repeated generation of the access path is a bad idea(?). In any case this does work, so
it's something I can improve on.
2019-10-10 18:26:28 -07:00
John David Pressman
0de17f4b57
Add empty set patches, add test for empty set patches
2019-10-10 13:35:38 -07:00
Suzanne Dupéron
2a39aa2949
Revert "Builds (commented out a few issues, just to check that there are no compilation errors left)"
...
This reverts commit 581babb459
.
2019-10-10 03:55:15 -04:00
Suzanne Dupéron
581babb459
Builds (commented out a few issues, just to check that there are no compilation errors left)
2019-10-10 03:55:08 -04:00
Suzanne Dupéron
acfbd7eb15
Nearly builds, only one small API change and integration errors left
2019-10-10 03:52:43 -04:00
Suzanne Dupéron
4fa54dd2c1
More progress on merging new typer and new dev
2019-10-10 01:23:55 -04:00
John David Pressman
2f60c85aa8
Add rough draft of set patch functionality
2019-10-09 17:08:58 -07:00
Rémi Lesenechal
dfe6f144bb
Merge branch 'feature/unsupported-deep-map-ops' into 'dev'
...
fix unsupported deep_map assignements and remove. add tests
See merge request ligolang/ligo!125
2019-10-09 19:57:17 +00:00
Christian Rinderknecht
bcf73d01bf
Printing of tokens from the AST is now done in a Buffer.t
2019-10-09 16:07:13 +02:00
Lesenechal Remi
8c29dc6df3
cleaning (using name return by simpl_path which is equivalent)
2019-10-09 11:54:48 +02:00
Lesenechal Remi
54662db2f6
use simpl_projection to build accessor
2019-10-09 11:54:48 +02:00
Lesenechal Remi
d59cd771c9
fix unsupported deep_map assignements and remove. add tests
2019-10-09 11:54:48 +02:00
Suzanne Dupéron
5de98259dc
Trying to merge new typer and new dev
2019-10-09 00:51:29 -04:00
John David Pressman
f990dc8a0f
Merge branch 'dev' of gitlab.com:ligolang/ligo into gardening/code-comments
2019-10-08 13:46:25 -07:00
Christian Rinderknecht
a4ad62ad16
Merge branch 'rinderknecht-dev' into 'dev'
...
Made big_map a keyword, like map.
See merge request ligolang/ligo!124
2019-10-08 11:37:31 +00:00
Christian Rinderknecht
1362fbae9e
Made big_map a keyword, like map.
2019-10-08 12:24:56 +02:00
John David Pressman
7cf75c54c8
Untested rough draft of pascaligo set removal
2019-10-07 21:41:36 -07:00
Tom Jack
4a5e41faa4
Resolve mli merge conflict
2019-10-07 13:56:48 -05:00
Christian Rinderknecht
6f414a8ad2
Merge branch 'feature/unsupported_ass_None' into 'dev'
...
Feature/unsupported_ass_none
See merge request ligolang/ligo!118
2019-10-07 16:31:19 +00:00
Christian Rinderknecht
9c1be8f3a3
Merge branch 'feature/unsupported-string-catenation' into 'dev'
...
feature/unsupported_string_catenation
See merge request ligolang/ligo!120
2019-10-07 16:30:39 +00:00
Christian Rinderknecht
76b4fa3f47
Merge branch 'rinderknecht-dev' into 'dev'
...
Gardening for Ligodity and update of the documentation of PascaLIGO.
See merge request ligolang/ligo!119
2019-10-07 15:44:36 +00:00
Lesenechal Remi
44767c4b8e
Simplifier now emit CONCAT constant
2019-10-07 17:16:03 +02:00
Tom Jack
36ec771adf
Remove singleton inductive type
2019-10-07 16:54:28 +02:00
Tom Jack
e2c831a231
Simplify more
2019-10-07 16:54:28 +02:00
Tom Jack
1c2c6cbc43
Delete unused NoneExpr
2019-10-07 16:54:28 +02:00
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
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
Georges Dupéron
c1ca3184af
WIP: fixing the build errors
2019-09-29 18:28:19 -04:00
Georges Dupéron
2b5b23f266
WIP: fixing the build errors + missing non-merged code
2019-09-29 18:25:02 -04:00
Georges Dupéron
74a09c5ba6
WIP: cleaning up some TODOs
2019-09-29 00:06:28 +01:00
Georges Dupéron
4dbd2d5873
revert indentation change
2019-09-29 00:05:54 +01:00
Georges Dupéron
fc80c627fd
WIP : instantiation of foralls in some cases
2019-09-28 20:26:02 +01:00
Pierre-Emmanuel Wulfman
271a524920
WIP; commenting
2019-09-28 20:10:30 +01:00
Pierre-Emmanuel Wulfman
e4e77da97c
add change for typer.ml
2019-09-28 01:56:09 +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
Pierre-Emmanuel Wulfman
f657c71753
Merge done and repo build with no error
2019-09-27 14:55:09 +02: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
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
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
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
galfour
be75fd4830
fixed minor bug
2019-09-25 17:21:44 +02: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
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
galfour
96fd0b4660
yay
2019-09-22 23:39:52 +02:00
galfour
720ef99c69
solve conflict
2019-09-22 22:17:28 +02: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
galfour
dc9294bbcc
add options in cameligo
2019-09-20 20:38:04 +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
e3179bd7c7
tests pass again
2019-09-19 12:59:07 +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
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
galfour
cb1aa44ff4
moving stuff around
2019-09-08 12:17:24 +02:00