Commit graph

115 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
Mikhalkovich Stanislav 9f9c2a85bd fix #3086
CompilerOptions.StandardModules.ContainsKey(currentCompilationUnit.languageName) - проверка

convert_semantic_strong - раскомментировал try чтобы лучше перехватывать параметры Exception
2024-04-23 20:51:25 +03:00
Ivan Bondarev 9fd8c001ce #2184 2023-12-28 14:17:25 +01:00
Ivan Bondarev a1aae548c6 #2866 2023-11-01 19:14:25 +01:00
Ivan Bondarev 12cad3fad6 #2842 2023-04-30 11:36:48 +02:00
Ivan Bondarev 1aecc81874 #2688 2022-08-28 12:13:21 +02:00
Mikhalkovich Stanislav 22e43aa5f1 Наполовину исправлена #2649 - всё собирается. Но глубинная ошибка с синонимами осталась 2022-03-29 15:05:20 +03:00
Sun Serega a89fa4fe7b explicitly set is_class 2022-03-26 12:44:31 +02:00
Ivan Bondarev 759112e495 #2639 2022-03-20 11:17:00 +01:00
Ivan Bondarev e84b0283c0 fix #2613 2022-01-16 10:36:55 +01:00
Ivan Bondarev 7e18d092e8 bug fix #2568 2021-11-21 12:43:55 +01:00
Ivan Bondarev c8013065a0 working changes 2021-11-15 20:07:20 +01:00
Ivan Bondarev 5548def725 #2533 2021-10-17 12:04:24 +02:00
Ivan Bondarev 1e51c553fb #2442 2021-10-12 20:39:29 +02:00
Ivan Bondarev 3a16bafce0 Use semantic for intellisense in compiler controller (for testing of new feature) 2021-09-06 20:37:31 +02:00
Ivan Bondarev 3c2f2ee5ef #2479 2021-05-02 12:19:45 +02:00
Ivan Bondarev 9020b84b98 #2474 2021-04-18 11:06:16 +02:00
Ivan Bondarev 156f905cfe
Merge pull request #2465 from SunSerega/sealed-abstract-err
Нормальная ошибка при неявно-абстрактом классе
2021-03-31 20:37:06 +02:00
Ivan Bondarev 31cf309e4e fix #2038
fix #2033
2021-03-28 14:08:47 +02:00
Sun Serega eab2825ab8 proper errors for sealed-abstract 2021-03-28 01:08:17 +02:00
Ivan Bondarev f6d146814f
Merge pull request #2430 from SunSerega/fix-2429
Исправление #2429
2021-02-07 13:49:25 +01:00
Ivan Bondarev 77f1fd1fec fix 2021-02-07 12:15:13 +01:00
Ivan Bondarev a396a7f630 fix #2422 2021-02-07 11:07:18 +01:00
Sun Serega 72d432fb96 fix pascalabcnet/pascalabcnet#2429 2021-02-06 17:19:45 +02:00
Mikhalkovich Stanislav 7614999ea4 fix #2222 2021-01-29 17:33:15 +03:00
Ivan Bondarev 969d463b01 #746 2021-01-08 12:52:09 +01:00
Ivan Bondarev cd1585fead #2377 sample 1 2021-01-05 10:45:39 +01:00
Ivan Bondarev 7360970117 bug fix #2375 2020-12-30 14:54:53 +01:00
Ivan Bondarev e63874ad29 fix #1468 2020-12-30 12:42:26 +01:00
Ivan Bondarev 8bf5c83d88 fix #1166 2020-12-30 11:10:18 +01:00
Ivan Bondarev a98e6c570f fix #2112 2020-12-27 13:47:42 +01:00
Бондарев Иван 5b10f71964 bug fix #2332 2020-11-15 17:35:47 +01:00
Бондарев Иван c533fc4dd2 bug fix #2259 2020-08-16 12:25:28 +02:00
Бондарев Иван 02f150a99a fix #2102 2020-05-24 18:07:51 +02:00
Mikhalkovich Stanislav 4bb828705d fix #2163
Matr из массивов в PABCSystem.pas

WPFObjects - fix hide text
2019-12-21 23:25:39 +03:00
Бондарев Иван 73fad21530 fix #2030 2019-10-10 20:57:06 +02:00
Бондарев Иван 9e7af6301e fix #2111 2019-10-04 18:52:48 +02:00
Бондарев Иван 4b0966f6cb Merge branch 'master' of github.com:pascalabcnet/pascalabcnet 2019-08-18 11:17:48 +02:00
Бондарев Иван fbf8516130 bug fix #2059 2019-08-18 11:16:53 +02:00
Mikhalkovich Stanislav 3879525c25 fix #2070 2019-08-07 23:21:30 +03:00
Mikhalkovich Stanislav 49334c73ff AutoInsertCode - малые исправления
WPFObjects - малые дополнения
2019-08-07 15:24:12 +03:00
Mikhalkovich Stanislav e603b1fd6d Mikhalkovich в Copyright
Заготовка для школьного плагина образцов кода
2019-07-28 23:53:15 +03:00
Бондарев Иван 47c6ebdcab bug fix #1963
bug fix #1960
2019-05-26 11:58:54 +02:00
Terky d9094a5c22 fixed build issue related to ?System 2019-05-17 22:40:01 +03:00
Terky 4d408fb53d Temporary removed currentLambdaDefScope 2019-05-09 11:20:55 +03:00
Terky 659deb6f82 added missing comment 2019-04-27 17:38:04 +03:00
Terky d0acb3a0fa fix #1741, fix #533 2019-04-26 13:54:51 +03:00
Mikhalkovich Stanislav c8541aea12 ошибку с loop неверно исправил - откатываю 2019-04-02 23:01:16 +03:00
Бондарев Иван 5fe0990a65 fix #1558 2018-12-30 15:00:32 +01:00