Commit graph

288 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 08c5c765b7 #3080 2024-04-14 14:14:46 +02:00
Ivan Bondarev 22779adbf9 fix #2610 2024-04-01 14:01:09 +02:00
Ivan Bondarev ba0b0f8c39 fix #2976
fix #2881
2024-04-01 12:31:21 +02:00
Ivan Bondarev cea1d58af6 #3013
l2.dll sources
2024-01-14 12:28:36 +01:00
Ivan Bondarev 9b3cc5ceaa #2731 2024-01-05 14:09:30 +01:00
Ivan Bondarev 3823906c2d fix #2815 2024-01-04 17:44:29 +01:00
Ivan Bondarev 0e3a3c232e fix #2736 2023-12-28 11:24:30 +01:00
Ivan Bondarev f3a18c9e33 #2928 2023-11-12 12:17:38 +01:00
Ivan Bondarev fd2300c303 #2950 2023-11-04 12:14:45 +01:00
Ivan Bondarev 28b1a4917b #2936 2023-11-01 13:48:08 +01:00
Ivan Bondarev a63a489968 #2921 2023-11-01 11:48:45 +01:00
Mikhalkovich Stanislav 08b1cfa442 fix #2872 2023-09-18 11:00:06 +03:00
Mikhalkovich Stanislav 03cb6d5636 Исправлены проверки в Tasks1Loops.pas 2023-08-01 11:12:02 +03:00
Mikhalkovich Stanislav 1d28d5030b 3.9.0.3307 Release 2023-07-10 11:20:04 +03:00
Ivan Bondarev d34354ee35 #2885 2023-07-02 21:22:49 +02:00
Ivan Bondarev 4165e1860f #2885 2023-07-02 20:48:21 +02:00
Mikhalkovich Stanislav e3e50afc0e fix #2872
Вернул назад в type_table.cs - закомментировал

//if (tnode.IsInterface)
//  ImplementingInterfaces.Add(tnode);

В результате исправил 2872 но Но без этой строчки не работает преобразование sequence of Student к sequence of Person и sequence of object
2023-07-02 16:44:38 +03:00
Ivan Bondarev 41d9e2ab1b Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet 2023-05-17 21:07:00 +02:00
Ivan Bondarev 3ba13285b6 static readonly properties as default parameters 2023-05-17 21:06:17 +02:00
Mikhalkovich Stanislav a196a18832 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet 2023-05-15 12:32:14 +03:00
Mikhalkovich Stanislav 73f5f6d09b Исправление ошибок в именованных аргументах 2023-05-15 12:32:06 +03:00
Ivan Bondarev 9acb0d71a8 #2853 2023-05-14 11:36:08 +02:00
Mikhalkovich Stanislav 65bdec22a0 Covariance улучшения:
IEnumerable<BaseCompiled> можно присвоить IEnumerable<DerivedCompiled> и любой класс, его реализующий
2023-04-19 10:21:00 +03:00
Ivan Bondarev 64b4430b85 #2804 2023-02-26 11:10:08 +01:00
Mikhalkovich Stanislav 8b24a037e3 LightPT и TeacherPluginUtils.cs - ProcessorId убрал из за сбоя 2023-02-26 00:12:16 +03:00
Mikhalkovich Stanislav a6d507d2bc Короткие создающие функции DictStr, DictInt, DictStrInt, LstLin, LstStr, HSetInt, HSetStr, SSetInt, SSetStr
и Dict для последовательностей пар
2023-02-16 21:18:26 +03:00
Mikhalkovich Stanislav 14b5fd053f type_table.cs - изменения к ковариантности 2023-02-15 12:10:28 +03:00
Mikhalkovich Stanislav 5bc3e7b60e Linux kchmviewer вызывается 2023-01-11 17:57:09 +03:00
Mikhalkovich Stanislav fb8384428a Попробовал сделать ковариантность
Обновил год до 2023
2023-01-06 23:09:01 +03:00
Sun Serega 04ae33af4a Lazy generic_instance_type_node.ImplementingInterfaces 2022-10-06 19:00:55 +03:00
Ivan Bondarev 6dc9a7ed1c
Merge pull request #2727 from SunSerega/fix-2725
Исправление #2725
2022-10-01 17:32:09 +02:00
Sun Serega ae4ef7034f cleanup 2022-09-27 18:29:49 +03:00
Sun Serega 258d8d6c6a fix #2725 2022-09-27 17:47:23 +03:00
Sun Serega 5e73e85863 Better error for "object?" 2022-09-26 14:25:15 +03:00
Ivan Bondarev af106375a9 #2589 2022-06-19 11:16:34 +02:00
Ivan Bondarev 3115f470df #2650 2022-06-17 17:14:17 +02:00
Ivan Bondarev 0664033ee2 #2663 2022-05-08 11:41:12 +02:00
Mikhalkovich Stanislav 5313362403 Комментарии и замена a.High в PABCSystem 2022-04-09 09:39:42 +03:00
Ivan Bondarev 416172164d #2644 2022-04-03 13:41:13 +02:00
Sun Serega b25cab6a1a cleanup 2022-03-20 18:13:50 +02:00
Sun Serega 0d3a4e3b9e fix #2640 2022-03-20 00:55:39 +02:00
Mikhalkovich Stanislav b9762ba702 2 2022-03-03 22:06:16 +03:00
Mikhalkovich Stanislav 2c0dfec35f 3 2022-03-02 02:34:28 +03:00
Mikhalkovich Stanislav 3ddd7a10ec for_step - на семантике - вторая попытка 2022-03-01 20:59:47 +03:00
Mikhalkovich Stanislav acddede971 for_step - поле в семантическом узле для for 2022-03-01 19:49:02 +03:00
Mikhalkovich Stanislav aaac633fcd PVS - основные рекомендации из статьи 2022 года на Хабре 2022-01-28 11:55:37 +03:00
Mikhalkovich Stanislav 230788f61d Исправление кода с проверкой наиболее общего типа для [1,2,3.14] 2022-01-12 23:26:48 +03:00
Mikhalkovich Stanislav acff3ab3a3 fix #2606 2022-01-09 07:23:13 +03:00