Commit graph

114 commits

Author SHA1 Message Date
AlexanderZemlyak 342375501b
New languages engine (#3120)
* Implement first version of languages interfaces and classes

ParsersController заменен на LanguageProvider.

* Update ParserTools.csproj

* Update RemoteCompiler.cs

* Update TestRunner

* Rename LanguageIntegrator project to Languages

* Update TestRunner

* Rename Parsers folder

* Rename PascalABCParser.dll to PascalABCLanguage.dll

* Reorganise LanguageIntegrator and rename DocTagsParser

* Update Release Generators

* Update language loading messages

* Update linux version

* Move BaseParser fields to ILanguage interface

* Revert "Update Release Generators"

This reverts commit 26a991c71b81e643d9fbd9a815ddca222768dda9.

* Revert "Rename PascalABCParser.dll to PascalABCLanguage.dll"

* Clean the mess in parser folders

* Organize namespaces properly

* Revert "Rename LanguageIntegrator project to Languages"

* Add new enclosing folders for standard languages

* Organize namespaces of LanguageIntegrator properly

* Rename StandardLanguages to Languages

* Comment the rest of Visual basic source code

* Update OutputPath in pascal parser project

* Move BaseParser methods to IParser

* Restore Pascal parser project initial structure

* Add PascalLanguage project

* Move SyntaxTreeConverters project to Languages\Pascal folder

* Rename SemanticRules in parser project

* Rename Errors1 to Errors in parser project

* Delete LambdaConverter dll from installer

* Update language integrator to load *Language.dll files

* Move lambda converter project to pascal lanuage dir

* Revert "Delete LambdaConverter dll from installer"

This reverts commit dd56f559ebe4f8c4c5c33752d44e6953001b96a5.

* Switch off VBNETParser building

* Delete syntax tree converters controller

* Delete lambda converter dll from repository

* Reorganize syntax tree to semantic tree conversion stage

* Add BaseLanguage class to make language initialization more neat

* Delete syntax tree post processors entity from ILanguage and refactor ABCStatistics calls

* Add new IDocParser interface for documentation comments parser

* Clean up folders

* Add helper data structures to reduce parameters amount in CompileInterface and CompileImplementation

* Add documentation to language classes

* Move Union struct in global namespace and project (ParserTools)

* Add more comments and a safe select language method

* Rename SemanticRules class

* Fix directives format null bug

* Add System.Linq ref to LanguageIntegrator

* Delete SyntaxToSemanticTreeConverter interface

* Add BaseSyntaxTreeConverter

* Call safe select language method in intellisence

* Delete source files providers from parsers

* Rename GetSyntaxTree method

* Change Prebuild tree to be virtual - not abstract

* Refresh documentation a bit

* Add temporary language check for ABCHealth button

* Add parser reference to parser tools

* Move current compilation unit assigning higher to avoid bug with unit check

* Delete null DirectiveInfo's and refactor directives' code

* Add a few more comments
2024-05-25 12:26:32 +03:00
AlexanderZemlyak efb4a4338f
New checks for directives added (#3099)
* Extract base classes from ParserTools (local) and GPPGParserHelper

* Fix string resources error

* Extract base class for unexpected token error

* Update ParserTools project file

* Add comments for compiler directives usages in compiler

* Add directives checks

* Move string constants to new project

* Implement scalable directives checks

* Remove known directives from compiler

* Fix PABCSystem namespace error

* Allow region and endregion with no params

* Allow parameters to endif directive

* Delete directive parameters extension checks

* Replace error with warning for uknown directive case

* Fix generate native code (semantic rule) assigning

* Improve error messages for directives

* Rename RunParseThread to SwitchOnIntellisence

Для отладки может требоваться отключение Intellisence на уровне кода. Для понятности метод назван SwitchOnIntellisence.

* Resolve merge conflicts

* Add new compiler errors for unsupported target framework and output file type

* Add documentation to directives checks

* Fix directives check loop
2024-05-04 20:21:50 +03:00
Ivan Bondarev a969d6de9c #3063 2024-03-26 21:49:51 +01:00
Mikhalkovich Stanislav 733c9e80e5 merge 2024-01-22 14:15:19 +03:00
Ivan Bondarev 7e0a13c6d0 #2757 2024-01-04 11:36:59 +01:00
Mikhalkovich Stanislav 48575d01e4 Исправление AllDelimiters захвата в режиме ускорения 2023-12-22 12:20:38 +03:00
Ivan Bondarev 475af1cb30 fix #2924 2023-11-13 21:43:01 +01:00
Ivan Bondarev 6eb2b98fa5 #2738 2022-10-16 12:24:51 +02:00
Sun Serega 34ebf14bb2 fix #2652 2022-04-09 16:18:22 +03:00
Sun Serega 0d3a4e3b9e fix #2640 2022-03-20 00:55:39 +02:00
Ivan Bondarev 7e18d092e8 bug fix #2568 2021-11-21 12:43:55 +01:00
Mikhalkovich Stanislav 91d96a8513 Вложенные \(\(a,b),y) завершены 2021-03-07 19:05:05 +03:00
Mikhalkovich Stanislav 65e7bb188b иСПРАВЛЕН S.ReadInteger(FROM) - теперь с нуля
function_lambda_definition - добавлено поле для неупакованных параметров \(x,y)
Добавлен сахарный визитор - пока для неупакованных параметрво в лямбде - идентификаторов
В грамматике добавлены lambda_unpacked_params
В StandardSyntaxConverter.cs добавлена UnpackLambdaParametersVisitor.New.ProcessNode(root);
2021-03-07 14:03:58 +03:00
Ivan Bondarev 80d3095393 #2343 2021-01-31 13:56:33 +01:00
Ivan Bondarev dbab1c4d2b #2416 2021-01-31 12:08:33 +01:00
Ivan Bondarev 5d4f7091fe fix #2281
fix #2278
2020-12-28 18:16:22 +01:00
Бондарев Иван b665b1f811 fix #2338 2020-11-15 12:04:43 +01:00
Бондарев Иван e3febac2b8 fix #2310 2020-09-22 21:52:03 +02:00
Mikhalkovich Stanislav fc234f7cc4 Исправление ошибки с захватом лямбдой переменной, объявленной в виде var (m,n) := ... 2020-08-15 22:56:19 +03:00
Mikhalkovich Stanislav dc23f3eadd Залил код, в результате которого падает сборка
В принципе, чтобы вернуть - в трёх visit восстановить вначале AddError и включить синтаксический визитор AssignVarTuple

Ещё - ABCStatisticsVisitors.cs - когда откатим - не удалять
2020-08-15 10:14:47 +03:00
Mikhalkovich Stanislav 85b2d98f2e Распаковка последовательности в переменные 2020-07-27 23:13:08 +03:00
Mikhalkovich Stanislav c6cf3cbbb6 fix #2199 2020-06-30 16:52:28 +03:00
Mikhalkovich Stanislav ace3bd6164 fix #1416 2020-06-27 16:38:15 +03:00
Mikhalkovich Stanislav 8941485088 fix #2136 2020-06-27 12:40:19 +03:00
Бондарев Иван e8152824ed bug fix #2069 2020-05-24 20:23:46 +02:00
Mikhalkovich Stanislav 990224c9d9 Минимальные исправления в подсказках 2020-03-11 22:38:32 +03:00
Бондарев Иван 7f998cd371 bug fix #2113 2019-10-03 11:35:58 +02:00
Mikhalkovich Stanislav e603b1fd6d Mikhalkovich в Copyright
Заготовка для школьного плагина образцов кода
2019-07-28 23:53:15 +03:00
Mikhalkovich Stanislav 50d02c2340 fix #2046 2019-07-24 21:31:58 +03:00
Mikhalkovich Stanislav 2575d8a335 fix #2027 2019-07-02 23:04:50 +03:00
Mikhalkovich Stanislav bf2a770ad5 fix #1814 2019-06-29 19:28:18 +03:00
Mikhalkovich Stanislav cdd4e0447e fix #1947 2019-06-26 21:22:25 +03:00
Mikhalkovich Stanislav 95a93215fb fix #1893 2019-06-26 16:39:47 +03:00
Mikhalkovich Stanislav 8bdad9b717 bug fix #1988
сколько крови попил
2019-06-25 23:53:12 +03:00
Mikhalkovich Stanislav d299d70a23 fix #2009 2019-06-23 22:00:52 +03:00
Mikhalkovich Stanislav 7ec11f6e2d Частичное исправление #1744 2019-06-22 10:32:43 +03:00
Mikhalkovich Stanislav cb8c3a0ef0 fix #1926 2019-06-21 21:41:45 +03:00
Mikhalkovich Stanislav 717b73cb60 fix #2007 2019-06-21 09:36:54 +03:00
Mikhalkovich Stanislav b2f42cca9c fix #2001 2019-06-21 08:24:10 +03:00
Mikhalkovich Stanislav 4638361fab bug fix #1997 2019-06-19 18:53:05 +03:00
Mikhalkovich Stanislav f601f8af3d fix #1880 - само исправилось 2019-06-19 00:47:35 +03:00
Mikhalkovich Stanislav 673f9bc149 bug fix #1531 2019-06-18 21:19:46 +03:00
Mikhalkovich Stanislav 7f52cc8c5b bug fix #1418 2019-06-17 01:01:53 +03:00
Terky e1880c91f4 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet 2019-06-13 23:43:59 +03:00
Terky 76f5a62572 fix #1993 2019-06-13 23:43:54 +03:00
Mikhalkovich Stanislav 293e235506 Исправлены мелкие неточности в комментариях 2019-06-13 20:41:30 +03:00
Terky 46b5f21452 fix #1968 2019-06-12 16:29:56 +03:00
Mikhalkovich Stanislav 76f4020256 bug fix #891 - попытка номер два 2019-06-12 11:30:07 +03:00
Mikhalkovich Stanislav 99882270d0 fix #1990 2019-06-10 22:33:51 +03:00
Mikhalkovich Stanislav 1d9a27d08a fix #891 2019-05-31 20:52:07 +03:00