Форк для добавления русских синонимов в синтаксис PascalABC.NET ***Изменения внесены в Keywords.cs*** // 🇷🇺 РУССКИЕ СИНОНИМЫ // Логические операторы CreateNewKeyword("или", Tokens.tkOr); CreateNewKeyword("и", Tokens.tkAnd); CreateNewKeyword("не", Tokens.tkNot); CreateNewKeyword("исключающее_или", Tokens.tkXor); CreateNewKeyword("див", Tokens.tkDiv); CreateNewKeyword("остаток", Tokens.tkMod); // Условия и циклы CreateNewKeyword("если", Tokens.tkIf); CreateNewKeyword("то", Tokens.tkThen); CreateNewKeyword("иначе", Tokens.tkElse); CreateNewKeyword("выбор", Tokens.tkCase); CreateNewKeyword("для", Tokens.tkFor); CreateNewKeyword("от", Tokens.tkTo); CreateNewKeyword("вниз_до", Tokens.tkDownto); CreateNewKeyword("шаг", Tokens.tkStep); CreateNewKeyword("пока", Tokens.tkWhile); CreateNewKeyword("повтор", Tokens.tkRepeat); CreateNewKeyword("до", Tokens.tkUntil); CreateNewKeyword("цикл", Tokens.tkLoop); CreateNewKeyword("для_каждого", Tokens.tkForeach); // Структура программы CreateNewKeyword("нач", Tokens.tkBegin); CreateNewKeyword("кон", Tokens.tkEnd); CreateNewKeyword("алг", Tokens.tkFunction, KeywordKind.Function, true); CreateNewKeyword("проц", Tokens.tkProcedure, KeywordKind.Function, true); CreateNewKeyword("перем", Tokens.tkVar, KeywordKind.Var); CreateNewKeyword("конст", Tokens.tkConst, KeywordKind.Const); CreateNewKeyword("тип", Tokens.tkType, KeywordKind.Type); CreateNewKeyword("использовать", Tokens.tkUses, KeywordKind.Uses); CreateNewKeyword("модуль", Tokens.tkUnit, KeywordKind.Unit); CreateNewKeyword("программа", Tokens.tkProgram, KeywordKind.Program); // ООП CreateNewKeyword("класс", Tokens.tkClass, isTypeKeyword: true); CreateNewKeyword("запись", Tokens.tkRecord, isTypeKeyword: true); CreateNewKeyword("конструктор", Tokens.tkConstructor, KeywordKind.Constructor); CreateNewKeyword("деструктор", Tokens.tkDestructor, KeywordKind.Destructor); CreateNewKeyword("свойство", Tokens.tkProperty); CreateNewKeyword("наследованный", Tokens.tkInherited, KeywordKind.Inherited); CreateNewKeyword("виртуальный", Tokens.tkVirtual); CreateNewKeyword("переопределить", Tokens.tkOverride); CreateNewKeyword("абстрактный", Tokens.tkAbstract); CreateNewKeyword("приватный", Tokens.tkPrivate); CreateNewKeyword("защищенный", Tokens.tkProtected); CreateNewKeyword("публичный", Tokens.tkPublic); // Массивы и коллекции CreateNewKeyword("массив", Tokens.tkArray, isTypeKeyword: true); CreateNewKeyword("множество", Tokens.tkSet, isTypeKeyword: true); CreateNewKeyword("файл", Tokens.tkFile, isTypeKeyword: true); // Исключения CreateNewKeyword("попытка", Tokens.tkTry); CreateNewKeyword("исключение", Tokens.tkExcept); CreateNewKeyword("конец_попытки", Tokens.tkFinally); CreateNewKeyword("вызвать", Tokens.tkRaise, KeywordKind.Raise); // Прочее CreateNewKeyword("метка", Tokens.tkLabel); CreateNewKeyword("перейти", Tokens.tkGoto); CreateNewKeyword("с", Tokens.tkWith); CreateNewKeyword("в", Tokens.tkIn); CreateNewKeyword("является", Tokens.tkIs); CreateNewKeyword("как", Tokens.tkAs); CreateNewKeyword("новый", Tokens.tkNew, KeywordKind.New); CreateNewKeyword("пусто", Tokens.tkNil); CreateNewKeyword("размер", Tokens.tkSizeOf, treatAsFunction: true); CreateNewKeyword("тип_объекта", Tokens.tkTypeOf, treatAsFunction: true); #endregion ***примеры программ*** программа Тест; проц ВыводСтро(obj: object); нач Writeln(obj); кон; нач ВыводСтро('ПаскальЁКЛМН.сеть работает1!'); кон. ## Building PascalABC.NET in Windows ***Run _RegisterHelix.bat on first use to install the HelixToolkit.dll and HelixToolkit.Wpf.dll in GAC*** _RebuildReleaseAndRunTests.bat builds the project in Release-mode, rebuilds the pas-units and runs tests (run with administrative privileges!). _GenerateAllSetups.bat builds the project in Release-mode, rebuilds the pas-units, runs tests and creates the install package (run with administrative privileges!). _ReBuildRelease.bat builds the project in Release-mode. _ReBuildDebug.bat builds the project in Debug-mode. PascalABC is being developed in Visual Studio Community 2019. ## Building PascalABC.NET in Linux (Ubuntu 22.04) Install Mono (http://www.mono-project.com/docs/getting-started/install/linux/) ```bash sudo apt install gnupg ca-certificates sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF echo "deb https://download.mono-project.com/repo/ubuntu stable-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list sudo apt update sudo apt-get install mono-devel sudo apt-get install mono-complete sudo apt-get install mono-roslyn sudo apt-get install msbuild ``` Build the project and run tests. ```bash $ git clone https://github.com/pascalabcnet/pascalabcnet $ cd pascalabcnet $ sh _RebuildReleaseAndRunTests.sh ``` ## Building PascalABC.NET in MacOS Download and install Mono from official page. Install the git-client. Run the commands: ```bash $ git clone https://github.com/pascalabcnet/pascalabcnet $ cd pascalabcnet $ sh _RebuildReleaseAndRunTests.sh ``` ### Run the PascalABC.NET command line compiler ```bash $ cd bin $ mono pabcnetc.exe or $ mono --debug pabcnetc.exe ``` ## Tests Tests are located in the directory "TestSuite". To run the tests execute the file bin/TestRunner.exe ----------------------------------------------------------------------------------------------------- ## Сборка проекта в Windows ***Перед первой компиляцией необходимо запустить _RegisterHelix.bat с правами администратора*** _RebuildReleaseAndRunTests.bat собирает проект в Release-режиме, перекомпилирует pas-модули и прогоняет все тесты (запускать с правами администратора). _GenerateAllSetups.bat собирает инсталлят (запускать с правами администратора). _ReBuildRelease.bat собирает проект в Release-режиме. _ReBuildDebug.bat собирает проект в Debug-режиме. Разработка ведется в Visual Studio Community 2019. ## Сборка проекта в Linux (Ubuntu 20.04) Установка Mono (http://www.mono-project.com/docs/getting-started/install/linux/) ```bash sudo apt install gnupg ca-certificates sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF echo "deb https://download.mono-project.com/repo/ubuntu stable-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list sudo apt update sudo apt-get install mono-devel sudo apt-get install mono-complete ``` Сборка проекта и выполение тестов ```bash $ git clone https://github.com/pascalabcnet/pascalabcnet $ cd pascalabcnet $ sh _RebuildReleaseAndRunTests.sh ``` ## Сборка проекта в MacOS Скачайте и установите Mono с официального сайта. При необходимости установите git-клиент. Далее выполните команды ```bash $ git clone https://github.com/pascalabcnet/pascalabcnet $ cd pascalabcnet $ sh _RebuildReleaseAndRunTests.sh ``` ### Запуск ```bash $ cd bin $ mono pabcnetc.exe или $ mono --debug pabcnetc.exe ``` ## Тесты Тесты расположены в папке TestSuite. Прогон тестов осуществляется программой bin/TestRunner.exe