19 Commits

Author SHA1 Message Date
Kirill Andreev
9d81ecf353
Silence warnings 2020-08-11 12:32:02 +04:00
Kirill Andreev
d380e46737
Convert to monotyped AST 2020-08-11 12:32:00 +04:00
Kirill Andreev
e1a3903e18
Limit exports of Parser 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
916d9897bd
Simplifying parser 2020-08-11 12:31:56 +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
f3c537d2ca
Make it parse let-expressions 2020-08-11 12:31:52 +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
c603cd399d
Refactor AST -> types/parser, extract Range/Printer 2020-08-11 12:31:50 +04:00