Kirill Andreev
ba66f6e8e4
Make extension-aware parser entrypoint
2020-08-14 14:54:04 +04:00
Kirill Andreev
28e16ca068
Make grammar parse everything except inline M.
2020-08-13 16:13:48 +04:00
Kirill Andreev
78c408b76a
Untangle existing code for grammar
2020-08-13 16:13:42 +04:00
Anton Myasnikov
f1938eb2af
Hotfix: add missing Scoped instances
2020-08-12 14:28:51 +03:00
Kirill Andreev
31b5ffbeef
Keeps dirs, remove unused artifact
2020-08-11 15:41:20 +04:00
Anton Myasnikov
a1a846b554
[LIGO-25] Add ReasonLIGO parser
...
Problem: With generated ReasonLIGO grammar we need to develop its
parser as well. With it we also need to restructure AST a bit
and add expressions that are used for ReasonLIGO specifically.
Solution: Add ReasonLIGO parser and some dummy examples of its
usage, adapt AST to it, rename LIGO to AST.
2020-08-11 13:33:26 +03:00
Anton Myasnikov
820d73f345
[LIGO-25] Chores (add Makefile, scripts, vendor, stylish)
...
Problem: We need to add stylish config to settle code style for our
project. Makefile to simplify its building. Also we need to check
our project for trailing whitespaces so we need to add the corresponding
script to be used later in CI.
Solution:
Add
- stylish-haskell config
- Makefile
- `check_trailing_whitespace` script
2020-08-11 13:31:22 +03:00
Anton Myasnikov
99321a59bb
[LIGO-25] Add grammar for ReasonLIGO and move it to squirrel
...
Problem: Before making parser for ReasonLIGO we need to construct
its grammar so that we can collect *all* errors and simplify our
further work with AST. Also since we use those grammars in squirrel
it would be conscise to use them from the project directory directly.
Solution: Add grammar for ReasonLIGO and move grammar to squirrel.
2020-08-11 13:30:46 +03:00
Kirill Andreev
2a8cda17ce
Add type/doc capture
2020-08-11 12:32:55 +04:00
Kirill Andreev
38c32f01d4
Remove most warnings and renudant line in AST.Parser
2020-08-11 12:32:55 +04:00
Kirill Andreev
107018e6f3
Add basic code completion mechanism
2020-08-11 12:32:54 +04:00
Kirill Andreev
08a0eb55d1
Fix AST.Scope
2020-08-11 12:32:54 +04:00
Kirill Andreev
31274e1507
Tie all up
2020-08-11 12:32:54 +04:00
Kirill Andreev
9f29dab195
Fix letrec partially
2020-08-11 12:32:53 +04:00
Kirill Andreev
6bd5d9ef84
Update AST.Scope to new framework
2020-08-11 12:32:53 +04:00
Kirill Andreev
226b7264aa
Restore AST.Scope instances and part of the machinery
2020-08-11 12:32:53 +04:00
Kirill Andreev
b5e5bc25a1
[WIP] Conversion to descent-based parser
2020-08-11 12:32:52 +04:00
Kirill Andreev
3233270dba
Add debounced
function
2020-08-11 12:32:10 +04:00
Kirill Andreev
58e5128142
Fix dying on broken code and handle errors in Main.hs
2020-08-11 12:32:10 +04:00
Kirill Andreev
508b111374
Fix blocks getting invalid ranges
2020-08-11 12:32:09 +04:00
Kirill Andreev
20014a7926
Remove warnings, refactor FullEnv
2020-08-11 12:32:09 +04:00
Kirill Andreev
a11e92af60
Remove unused traverseOnly
2020-08-11 12:32:09 +04:00
Kirill Andreev
5737cd5686
Fix tree traversal breaking on errors
2020-08-11 12:32:08 +04:00
Kirill Andreev
e5ec32f46a
Fix letrec behaviour
2020-08-11 12:32:08 +04:00
Kirill Andreev
c26bc044ee
Separate the namespaces for search
2020-08-11 12:32:08 +04:00
Kirill Andreev
ba3c0a76d9
Fix function stealing 'goto def's
2020-08-11 12:32:07 +04:00
Kirill Andreev
29bc1721d1
Load from VFS
2020-08-11 12:32:07 +04:00
Kirill Kuvshinov
bf6cc6ca16
[LIGO-18] Expose find ref and go to def via LSP
...
Problem: The current implementation of "Find references" and
"Go to definition" is not exposed via the LSP. We need to expose
them so that they are accessible from the client.
Solution: Add the necessary handlers, send response messages.
2020-08-11 12:32:07 +04:00
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