8.7 KiB
Форк для добавления русских синонимов в синтаксис 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
примеры программ
программа Тест;
uses RussianLang;
проц ВыводСтро(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/)
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.
$ 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:
$ git clone https://github.com/pascalabcnet/pascalabcnet
$ cd pascalabcnet
$ sh _RebuildReleaseAndRunTests.sh
Run the PascalABC.NET command line compiler
$ 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/)
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
Сборка проекта и выполение тестов
$ git clone https://github.com/pascalabcnet/pascalabcnet
$ cd pascalabcnet
$ sh _RebuildReleaseAndRunTests.sh
Сборка проекта в MacOS
Скачайте и установите Mono с официального сайта. При необходимости установите git-клиент. Далее выполните команды
$ git clone https://github.com/pascalabcnet/pascalabcnet
$ cd pascalabcnet
$ sh _RebuildReleaseAndRunTests.sh
Запуск
$ cd bin
$ mono pabcnetc.exe
или $ mono --debug pabcnetc.exe
Тесты
Тесты расположены в папке TestSuite. Прогон тестов осуществляется программой bin/TestRunner.exe