Commit Graph

13 Commits

Author SHA1 Message Date
Dima
245f6640f8
feat(language-server): Resolve paths for imports (#1079) 2024-02-20 12:52:54 +00:00
Dima
f7194f0a54
feat(language-server): Support declares and exports in LSP [LNG-304, LNG-319] (#1070)
Co-authored-by: InversionSpaces <inversionspaces@vivaldi.net>
2024-02-07 09:21:42 +00:00
InversionSpaces
7b6c7245ec
perf(compiler): Optimize Linker [LNG-321] (#1049)
* Refactor parser

* Refactor parser

* Refactor parser

* Refactor parser

* Savepoint

* Savepoint

* Refactor

* Fix unit test

* Remove file

* Filter exported modules

* Fix test

* Restore Test.scala

* Add comments
2024-01-22 16:01:54 +01:00
InversionSpaces
27a781dd3f
feat(compiler): Add warnings subsystem [fixes LNG117] (#906)
* ErrorsAlgebra -> ReportAlgebra

* Refactor ReportAlgebra

* Refactor

* Refactor AquaError

* Fixes

* Add warnings, refactor

* Refactor parser

* Move semantics

* Savepoint

* Refactor semantics and compiler

* Refactor types

* Refactor compiler

* Refactor compiler

* Refactor types

* Refactor retunr types

* Return warnings

* Add simple warning

* Refactor to ValidatedNec

* Refactor

* Add comment

* Propagate warnings to LspContext

* Propagate warnings to LSP

* Add warnings to js api

* Update LSP js api

* Use export declare

* Add comment

* Refactor span rendering

* Remove variable name warning

* Add warning on unused call results

* Add unit tests

* Remove println
2023-09-25 13:00:43 +00:00
InversionSpaces
33ab33d4c8
fix(compiler): Fix search for one element cycles (#797) 2023-07-14 15:06:21 +03:00
InversionSpaces
667a8255d9
feat(compiler): Find and display link cycles (#787)
Find and display dependency cycles
2023-07-04 10:07:22 +00:00
Dmitry Kurinskiy
b9af20339b
Module and Use expressions (#245)
* Module and Use expressions

* UseFromExpr

* ImportFromExpr

* PubExpr

* Export, declares

* Collecting all the needed info WIP

* Got all the needed data

* Tests fixed

* HeaderSem

* HeaderSem wip

* Everything except `export`/`declares` should be working

* Compile bug fixed

* Fix readme: cli/assembly

* Handle declares, exports

* Compile only exports in AquaRes

* Call services imported from modules

* Import consts, types, services from modules

* Resolve arrows from modules

* Bugfix
2021-08-20 18:03:47 +03:00
Dima
e2da2e90d7
Crossprojects for JVM and JS platforms (#237) 2021-08-11 19:53:36 +03:00
Dima
4ccac9bf0e
Migration to Scala 3 (#228) 2021-08-06 13:33:58 +03:00
Dmitry Kurinskiy
e3716f6f31
Converting compiler to a pure function (#217)
* Trying to make the compiler a pure function

* Pure compiler WIP

* Compiler should be working now

* printlns

* printlns

* printlns

* fix, delete printlns

* more logs

* fix import resolving, more tests

* fix imports, add tests for imports resolving

* fix test

* correct paths to targets, correct output

* refactoring, create directories to file if not exist

* small changes

* fix test

* Tiny fixes WIP

* Tiny fixes

* Incrementing base version, as host_peer_id is added (fixes #218)

* render error messages, WIP

* small fix

* get src for lexer error

* wrap parser error

* add list of errors

* Handle file write errors accurately

* Use show syntax

* fix test

* fix test

* fix test

* println

Co-authored-by: DieMyst <dmitry.shakhtarin@fluence.ai>
2021-08-03 17:23:28 +03:00
Dima
f15bd0558b
Cli/compiler refactoring (#184) 2021-06-29 16:31:20 +03:00
Dima
9f5c0d64ed
Bug fixes (#127) 2021-05-24 11:00:45 +03:00
Dmitry Kurinskiy
970da2e1b7
30 import basics (#49)
* Functions must be marked with `pub` to be exported

* AquaFiles WIP

* Factoring out linker

* Core linker logic

* FileModuleId WIP

* AquaFile WIP

* AquaFiles WIP

* Basic imports works

* Show errors

* Dirty hack to make imports work (almost)

* Better errors displaying

* Simplified AquaCompiler interface

* Write compiled files

* New AquaCli

* CLI fixed, works

* Review fixes
2021-04-13 16:05:31 +03:00