Commit graph

13 commits

Author SHA1 Message Date
Александр Земляк 0f0de28a00
Delete overkill TryCatchDecorators in SPythonStandardSyntaxTreeVisitor (#3416) 2026-04-09 09:47:15 +03:00
Александр Земляк aa2b09dd3b
Настройка проекта PABCCoreUtils (#3406)
* Rename Utils project to PABCCoreUtils

* Move FormatTools from ParserTools project to PABCCoreUtils

* Move SourceFilesProviders class and FileReader class to PABCCoreUtils
2026-03-13 08:02:04 +03:00
Александр Земляк 1f4b44c2c0
Исправление ошибок при перекомпиляции pcu файлов (#3398)
* 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
2026-03-08 18:30:33 +03:00
Александр Земляк 2e678bf965
Добавление стандартных имен в фиктивный модуль вместо стандартного модуля в Intellisense (#3387)
* Add forIntellisense checks in NameCorrectVisitor

* Refactor standard names adding in Intellisense

* Edit tuples compilation sample for SPython

* Delete char type in SPython Intellisense

* Fix ProcRealization documentation initialization

Нужно, чтобы метод WithRefreshedDescription корректно работал, когда описание задается вручную.
2026-02-25 21:39:38 +03:00
Александр Земляк b8bda89f0f
Исправление div (//) и mod (%) для SPython (#3384)
* Fix div and mod in SPython

* Fix generic type names search in SPython symbol table

* Small fixes

* Add few checks in Intellisense

* Add comments about units compilation order
2026-02-02 21:14:27 +03:00
Александр Земляк 2c30b73b08
SPython: неявное преобразование int в bool и bool в int (#3383)
* Implement bool to int and int to bool implicit conversion for SPython

* Change "and", "or" and "not" operations to be logical in SPython

* Add standard functions' overloads (all, any, sum)
2026-02-02 12:01:18 +03:00
Александр Земляк b23f9c96d0
Деактивация кнопок, связанных с Intellisense, для языков без Intellisense + разделение ILanguageInformation на два интерфейса (#3378)
* Refactor language information classes

* Implement SimpleLanguageInformation abstract class

* Move some properties to SimpleLanguageInformation

* Implement format and debug buttons disabling if Intellisense is not supported for current language

* Add Intellisense available check in FormsExtensions to deactivate menu items if needed

* Change function interfaces in VisibilityService

* Replace CodeCompletionController.CurrentParser null checks with IntellisenseAvailable method call

* Refactor IParser and BaseParser to deduplicate code

* Fix BuildTreeInSpecialMode in SPythonParser

* Add SimpleParser class for new languages without Intellisense

* Delete duplicate SetDebugButtonsEnabled function

* Add Intellisense available check in RunService when attaching debugger

* Delete inner check in SetDebugButtonsEnabled to improve architecture

* Change CurrentParser property in CodeCompletion to be CurrentLanguage

* Divide ILanguageInformation into two interfaces (creating new ILanguageIntellisenseSupport)

* Fix LanguageIntellisenseSupport initialization in BaseLanguage

* Fix RunService fictive_attach logic

* Disable Intellisense parsing for languages without Intellisense support

* Add DefaultLanguageInformation abstract class

* Add default implementation for SetSemanticConstants in BaseLanguage

* Simplify IParser interface

* Update developer guide documentation
2026-01-27 22:25:28 +03:00
Александр Земляк 42d7ca97a3
Рефакторинг визитора SPython и исправление global statetement (#3375)
* Delete nameTypes dictionary in SymbolTable

* Refactor SymbolTableFillingVisitor

* Disallow dotted idents in global statement
2026-01-16 21:51:17 +03:00
Александр Земляк cb09e2340f
Удаление supportedProjectFiles из Compiler и настройка использования SPython в проектах (#3374)
* Set up creating SPython projects

* Delete SupportedSourceFile class in Compiler

* Implement GetUnitTemplate function for SPython
2026-01-16 20:13:20 +03:00
Александр Земляк 72e40bf4e9
Add first_assignment_defines_type field to Tree.cs (#3370) 2026-01-04 15:05:57 +03:00
Александр Земляк c33ba11b15
Fix assign cloning in SPython visitor (#3367) 2026-01-02 19:16:52 +03:00
Mikhalkovich Stanislav 2b72dd1142 2026 2026-01-02 12:36:47 +03:00
Александр Земляк 17f6a9b956
Spython test suite (#3362)
* Reorganize files in TestSuite dir for multiple languages

* Add SPython samples to TestSuite

* Update TestRunner to support multiple languages

* Delete dll files accidentally pushed

* Update .gitignore

* Revert "Delete dll files accidentally pushed"

This reverts commit 62bcba2b821d58ae51ec98e9dadcf621bb0fc003.

* Update testing dir path in Testing.cs

* Improve TestRunner output

* Add random module and it's usage sample

* Reorganize gitignore files

* Move pascal tests back to TestSuite and create new TestSuiteLanguagePlugins folder for SPython

* Revert "Update testing dir path in Testing.cs"

This reverts commit 7d94eafb25292421bce8315520b4f6a0de001bbd.

* Revert crlf changes in pascal tests

* Test changes of _RebuildReleaseAndRunTestsForGitHubActions.bat

* Revert "Test changes of _RebuildReleaseAndRunTestsForGitHubActions.bat"

This reverts commit 234ceae3e3a339fbc68a6170e2bd201dab14d67d.

* Test changes in StorageLocationPicker

* Another test changes in StorageLocationPicker.cs

* Rename LanguagePlugins folder to AdditionalLanguages

* Decouple TestRunner from language names and parameters

* Revert calling TestRunner without parameters in .bat files

* Fix formatter tests nogui exception handling

* Small refactoring in Testing.cs and TestRunner fix of working directory
2025-12-21 21:11:52 +03:00