Kirill Andreev
65fc5bec75
Separate env-tree construction and usage
2020-08-11 12:32:06 +04:00
Kirill Andreev
24cc24b0d7
Prevent loop on recursive import
2020-08-11 12:32:06 +04:00
Kirill Andreev
b35a28853b
Add ability to recursively parse #included files
2020-08-11 12:32:06 +04:00
Kirill Andreev
583d7f8997
Clean the comments
2020-08-11 12:32:05 +04:00
Kirill Andreev
03b89bc5b7
Rewrite scope loader
2020-08-11 12:32:05 +04:00
Kirill Andreev
8d61a36918
[WIP] Implement a loader of Env from a ScopeTree
2020-08-11 12:32:05 +04:00
Kirill Andreev
9f124bf5af
Implement def/impl/type search
2020-08-11 12:32:04 +04:00
Kirill Andreev
9cf2e0cf97
Use Data.Sum instead of manual Union
2020-08-11 12:32:04 +04:00
Kirill Andreev
20de97c5c6
Make faster Union
2020-08-11 12:32:04 +04:00
Kirill Andreev
44defb2114
Remove Data.Fix, make recursion manually
2020-08-11 12:32:03 +04:00
Kirill Andreev
19f05f5afc
Rename HasComments to Comment; remove *.cabal
2020-08-11 12:32:03 +04:00
Kirill Andreev
e701e196fe
Improve documentation
2020-08-11 12:32:03 +04:00
Kirill Andreev
9d81ecf353
Silence warnings
2020-08-11 12:32:02 +04:00
Kirill Andreev
1f7af3c8cb
Make infoOf always return an info
2020-08-11 12:32:02 +04:00
Kirill Andreev
9b95006a71
Make Error a Functor; move all Error stuff to Error.hs
2020-08-11 12:32:02 +04:00
Kirill Andreev
41403426b0
Add project overview
2020-08-11 12:32:01 +04:00
Kirill Andreev
f3fbfb49a1
Add documentation
2020-08-11 12:32:01 +04:00
Kirill Andreev
95707100c2
Formatting Main.hs
2020-08-11 12:32:01 +04:00
Kirill Kuvshinov
9856476ebf
WIP: Add CTRL.run
2020-08-11 12:32:00 +04:00
Kirill Andreev
923a5bb9fe
Add documentation
2020-08-11 12:32:00 +04:00
Kirill Andreev
d380e46737
Convert to monotyped AST
2020-08-11 12:32:00 +04:00
Kirill Andreev
113a2425a4
Remove ScopeHelpers.hs
2020-08-11 12:31:59 +04:00
Kirill Andreev
11fdc0afa1
Fix error msg interpolation
2020-08-11 12:31:59 +04:00
Kirill Andreev
5c643a3b63
TMP
2020-08-11 12:31:59 +04:00
Kirill Andreev
67de82edec
[LIGO-6] Implement fallback scope system
2020-08-11 12:31:58 +04:00
Kirill Andreev
1536590edb
TMP
2020-08-11 12:31:58 +04:00
Kirill Andreev
bc155bea16
Add TODO
2020-08-11 12:31:58 +04:00
Kirill Andreev
c8b4c2bd35
Fix comment )-truncation
2020-08-11 12:31:57 +04:00
Kirill Andreev
e1a3903e18
Limit exports of Parser
2020-08-11 12:31:57 +04:00
Kirill Andreev
020b3ba334
Improve pretty-printer
2020-08-11 12:31:57 +04:00
Kirill Andreev
19e1018620
Add autocollector for comments
2020-08-11 12:31:56 +04:00
Kirill Andreev
c497da5841
Add automatic error collector to the parser
2020-08-11 12:31:56 +04:00
Kirill Andreev
916d9897bd
Simplifying parser
2020-08-11 12:31:56 +04:00
Kirill Andreev
7ff8226e1b
Remove obsolete checks for Parser.{some,many}
2020-08-11 12:31:55 +04:00
Kirill Andreev
6dc1eb23cd
Remove excess params of Parser.{many,some}
2020-08-11 12:31:55 +04:00
Kirill Andreev
b62cd58add
Add some more documentation
2020-08-11 12:31:55 +04:00
Kirill Andreev
eace901195
Remove debug print, document Parser.hs
2020-08-11 12:31:54 +04:00
Kirill Andreev
e6299a50ff
Make parser recognise all src/tests/contracts
2020-08-11 12:31:54 +04:00
Kirill Andreev
b4e6231340
Add [Big]Map literal/removal/projection parser
2020-08-11 12:31:54 +04:00
Kirill Andreev
2f269e32ea
Add attribute parser
2020-08-11 12:31:53 +04:00
Kirill Andreev
d928aaa39c
Add lists, if, assignments, string, tez parsers
2020-08-11 12:31:53 +04:00
Kirill Andreev
6e862bf5b9
Untie AST builder from comment accumulation
2020-08-11 12:31:53 +04:00
Kirill Andreev
1ed617c7d0
Convert parsers to applicative interface
...
Problem: The aquisition of current range is manual, and therefore
error-prone. The names in do-syntax create visual clutter.
Solution: Hide range aquisition (which makes it possible to do automatic
comment aquisition as well).
2020-08-11 12:31:52 +04:00
Kirill Andreev
a8b898d396
Improve grammar, add Parsers for many things
2020-08-11 12:31:52 +04:00
Kirill Andreev
83cc13dd48
Convert into GLR-way of operator parsing
2020-08-11 12:31:52 +04:00
Kirill Andreev
f3c537d2ca
Make it parse let-expressions
2020-08-11 12:31:52 +04:00
Kirill Andreev
ad7650ea48
Stabilise parsing of let-expressions
2020-08-11 12:31:51 +04:00
Kirill Andreev
0cec59988e
Prevent many/some from making last error-element
2020-08-11 12:31:51 +04:00
Kirill Andreev
00b4dabe36
Add Pretty instance to AST, Error and Range
2020-08-11 12:31:51 +04:00
Kirill Andreev
efe1afb61d
Add byte offsets to Range
2020-08-11 12:31:50 +04:00
Kirill Andreev
c603cd399d
Refactor AST -> types/parser, extract Range/Printer
2020-08-11 12:31:50 +04:00
Kirill Andreev
017db45f8d
Fix bulk of function header parser
2020-08-11 12:31:50 +04:00
Kirill Andreev
cb40392554
Add README.md with install/run instructions
2020-08-11 12:31:49 +04:00
Kirill Andreev
510cda6613
Initial commit of LIGO tooling
2020-08-11 12:31:49 +04:00