* Move yield string constants to StringConstants class
* Add GeneratedNamesManager class to store all generated names during unit compilation
* Make GeneratedNamesManager class non static
* Add Utils project to installer files
* Add GeneratedNamesManager usage in CapturedVariablesSubstitutionsManager
* Move GeneratedNamesManager initialization in CompilationUnit constructor
* More GeneratedNamesManager usage
* QuestionPointDesugarVisitor fix
Все тесты проходят.
Проблема, которая остаётся - в режиме ускорения такие программы падают:
begin
var s: set of byte;
Print(s = [1]);
end.
Причина - из dll не вызывается конструктор записи без параметров, хотя он определён. В C# вообще у записей не может быть конструктора по умолчанию - наверное потому. Но для NewSet надо бы сделать исключение
* 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