* Rename Utils project to PABCCoreUtils
* Move FormatTools from ParserTools project to PABCCoreUtils
* Move SourceFilesProviders class and FileReader class to PABCCoreUtils
* Tidy up first part of compiler code
* Rename Net Compiler Options
* Move CompilationErrors to Errors project
* Return default constructor to compiler warning
* Rename semantic check for include namespaces in unit
* Create two Errors files instead of one in Errors project
* Fix current unit is not main program check
* Add documentation to compilation errors in Errors project
* Return compiler thrown errors to Compiler project
* Refactor keywords class - extract base keywords functionality
* Fix keywords case sensitivity
* Fix case sensitivity again...
* Optimize keywords initialization
* Fix parse expression error because of wrong constructor call
* Add workflow to build each project separately
* Make `Compiler` depend on `PascalLanguage` and `PascalABCSaushkinParser` 06e595
* Make IDE's depend on `PABCNETC`
It's launched as a separate process from IDE
* 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
* 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
* Make standardModules Dictionary instead of LanguageId usage
* Create new common string constants for pascal language
* Add LanguagesData class template
* Move some compiler directive string constants to Compiler project
* Extract LanguagesData class to separate file
Also extracted RuntimeServiceModule (IO-modules) management to new functions.
* Fix pabcnetc crashing (KeyNotFoundException)
* Make similar change in pabcnetc_clear
* Return PABCExtensions in DomConverter.cs
* Return compiler string constants to Tree Converter
* Rename MoveSystemUnitForward method
* Rename system unit variable
* Add new parser load error (localized versions)
* Fix pascal language name constant
* Add system units property to parsers
* Add LanguageKits directory with a test file
* Implement language integrator
Был реализован загрузчик комплектов дополнительных языков (всех кроме Pascal). Был пересмотрен подход к реализации ParsersController и этот класс сделан синглтоном. Добавлена загрузка стандартных модулей языков в CompilerOptions.
* Squashed commit of the following:
commit 8f9dc7e5a0
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Mon Mar 11 20:33:13 2024 +0300
fix#3050
commit 90363ced45
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Mar 3 21:37:25 2024 +0300
Недобитки при сортировке строк
commit c9d7ba7758
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Mar 2 13:32:14 2024 +0300
Order и OrderDescending для строк с Ordinal
commit 6fbc0200bf
Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com>
Date: Tue Feb 27 23:21:26 2024 +0300
Fix interface loop dependency check (#3047)
Tests for problematic case were added
commit e4d63bfef9
Author: bormant <bormant@mail.ru>
Date: Tue Feb 27 23:18:25 2024 +0300
Fix typo: C (ru) -> C (en) (#3042)
commit 0d37232d21
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Feb 27 19:15:08 2024 +0300
School - исправление пустого диапазона простых и IP-адресов
commit 9fd4c7f338
Merge: 3cca2a896027083b
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Feb 21 20:57:10 2024 +0100
Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
commit 3cca2a8949
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Feb 21 20:56:49 2024 +0100
fix in formatter