форк PascalABC с синонимами русских ключевых слов
Find a file
AlexanderZemlyak 97c29a4e1b
Compiler tiding up, refactoring Keywords class and uniting errors in Errors file (#3179)
* 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
2024-07-13 18:44:49 +03:00
.github/workflows Удалил неработающий тест 2024-07-07 00:03:06 +03:00
_NewAppIcons
_ParsePABC1
_Presentations/2015 New Features
bin SymTable - исправление чтобы не показывать статические методы в ///#! 2024-07-12 20:54:52 +03:00
CodeCompletion Compiler tiding up, refactoring Keywords class and uniting errors in Errors file (#3179) 2024-07-13 18:44:49 +03:00
CodeExamples
Compiler Compiler tiding up, refactoring Keywords class and uniting errors in Errors file (#3179) 2024-07-13 18:44:49 +03:00
CompilerTools Compiler tiding up, refactoring Keywords class and uniting errors in Errors file (#3179) 2024-07-13 18:44:49 +03:00
Configuration 3.9.0.3503 2024-07-08 23:34:58 +03:00
Debugger.Core
doc
Errors Compiler tiding up, refactoring Keywords class and uniting errors in Errors file (#3179) 2024-07-13 18:44:49 +03:00
Grammars
ICSharpCode.TextEditor
ICSharpCode.TextEditorLinux
InstallerSamples SymTable - исправление чтобы не показывать статические методы в ///#! 2024-07-12 20:54:52 +03:00
InteractiveDataDisplay_OneDll
LambdaAnySynToSemConverter
LanguageIntegrator Compiler tiding up, refactoring Keywords class and uniting errors in Errors file (#3179) 2024-07-13 18:44:49 +03:00
Libraries
Localization 3.9.0.3503 2024-07-08 23:34:58 +03:00
NETGenerator #3165 2024-07-07 11:17:26 +02:00
Optimizer
pabcnetc
pabcnetc_clear
PABCNetHelp
Parsers Compiler tiding up, refactoring Keywords class and uniting errors in Errors file (#3179) 2024-07-13 18:44:49 +03:00
ParserTools Compiler tiding up, refactoring Keywords class and uniting errors in Errors file (#3179) 2024-07-13 18:44:49 +03:00
PascalABCLanguageInfo Поправил в трех проектах пути к bin 2024-07-02 21:45:28 +03:00
PluginsSupport
PluginsSupportLinux
Release 3.9.0.3503 2024-07-08 23:34:58 +03:00
ReleaseGenerators 3.9.0.3503 2024-07-08 23:34:58 +03:00
SemanticTree
StringConstants Compiler tiding up, refactoring Keywords class and uniting errors in Errors file (#3179) 2024-07-13 18:44:49 +03:00
SyntaxTree
SyntaxTreeConverters Assign tuple optimizer (#3162) 2024-07-08 20:35:57 +03:00
SyntaxVisitors Assign tuple optimizer (#3162) 2024-07-08 20:35:57 +03:00
TestSuite err 0540 0541 поправил 2024-07-08 12:27:44 +03:00
TreeConverter Compiler tiding up, refactoring Keywords class and uniting errors in Errors file (#3179) 2024-07-13 18:44:49 +03:00
Utils
VisualPascalABCNET Revert pascal language moving to language plugins (#3175) 2024-07-02 16:10:50 +03:00
VisualPascalABCNETLinux
VisualPlugins
WeifenLuo
WeifenLuoLinux/WinFormsUI
Yield
YMC
.gitignore Revert pascal language moving to language plugins (#3175) 2024-07-02 16:10:50 +03:00
_BuildDebug.bat
_BuildDebug.sh
_Clean.bat
_GenerateAllSetups.bat
_GenerateLinuxVersion.bat Revert pascal language moving to language plugins (#3175) 2024-07-02 16:10:50 +03:00
_ReBuildDebug.bat
_RebuildDebugAndBuildUnits.bat
_ReBuildRelease.bat
_RebuildRelease.sh
_RebuildReleaseAndBuildUnits.bat
_RebuildReleaseAndRunTests.bat
_RebuildReleaseAndRunTests.sh
_RebuildReleaseAndRunTestsForGitHubActions.bat
_RegisterHelixNUnit.bat
_TestGitIgnore.bat
fileslist_install.pas
pabcnetc.sln
PascalABCNET.axml
PascalABCNET.sln Revert pascal language moving to language plugins (#3175) 2024-07-02 16:10:50 +03:00
PascalABCNET.xml
PascalABCNET_40.sln Revert pascal language moving to language plugins (#3175) 2024-07-02 16:10:50 +03:00
PascalABCNETLinux.sln
README.md
Studio.bat

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