Commit graph

380 commits

Author SHA1 Message Date
Mikhalkovich Stanislav a7b113e6f8 В конструкторах разрешены именованные аргументы.
Интересно, почему раньше были запрещены

ML - первая версия GradientBoostingClassifier
2026-02-22 21:01:14 +03:00
Mikhalkovich Stanislav deef6b40d5 Исправление справки 2025-11-10 23:04:57 +03:00
Mikhalkovich Stanislav 819a87ed40 ArrRandomInteger(n: integer; range: IntRange)
и для матрицы
2025-11-08 21:55:40 +03:00
AlexanderZemlyak 7a59245eaf
Language interface change (#3356)
* Move standard language info assigning to LanguageInformation classes

* Move Language name in compilation_unit.Language variable assigning in BaseParser

* Documentation update
2025-11-07 20:43:29 +03:00
Mikhalkovich Stanislav b4a77bfbbb fix #3342 2025-10-07 11:16:35 +03:00
Mikhalkovich Stanislav 0848a1b796 Исправление автоформатирования [] 2025-01-04 22:54:38 +03:00
Mikhalkovich Stanislav 8a9788e6f9 Перенес проверку set array на уровень парсера
Немного поправил Intellisense по наведению для NewSet

По точке там что то другое работает
2024-12-17 15:06:57 +03:00
Mikhalkovich Stanislav 874ddebad3 Поправил грамматику []
Теперь нельзя в режиме ## использовать атрибуты

Зато можно [1,2,3].Print
2024-12-14 21:00:38 +03:00
Mikhalkovich Stanislav a53dcd9ed2 SF Prm Cmb для строк 2024-12-14 15:25:16 +03:00
AlexanderZemlyak 35c7bc5877
Add constructors to scanner, parser and parserTools (#3185)
* Add constructors to scanner, parser and parserTools

Добавил конструкторы, чтобы код был почище

* Change type of keywords in Scanner

* Make cast explicit

* Rebuild ABCPascal.cs
2024-07-21 13:36:15 +03:00
Mikhalkovich Stanislav a8b7dc8be7 Пока закомментировал превращение множеств в массивы 2024-07-19 13:01:43 +03:00
Mikhalkovich Stanislav 84205f86bf SetOf на замену [1,2,3]
Преобразование массивов стандартных типов к множествам того же типа
2024-07-19 11:30:18 +03:00
Mikhalkovich Stanislav b8fec95599 Большое изменение в Dictionaries
1 to 2 - новый оператор в стиле Котлина для пары Ключ-Значение
Pair - синоним KV. KV - не запоминается
Теперь:
  d := Dict(1 to 2, 3 to 4)
   или
  d := Dict(Pair(1,2),Pair(3,4)

Кроме того
Новые конструкторы
  d := Dict(d1) - копия
  d := Dict(keys,values)
d.Update(d1)
d + d1
d += d1
d + pair
d - Seq(ключ)
d -= Seq(ключ)
2024-07-15 13:50:11 +03:00
AlexanderZemlyak d5e9994ff2
Revert pascal language moving to language plugins (#3175)
* Return Parsers folder with standard parsers and move SyntaxTreeConverters back to Core

* Rename PascalLanguage project to PascalABCLanguageInfo

* Fix pascal dll loading
2024-07-02 16:10:50 +03:00
AlexanderZemlyak 342375501b
New languages engine (#3120)
* Implement first version of languages interfaces and classes

ParsersController заменен на LanguageProvider.

* Update ParserTools.csproj

* Update RemoteCompiler.cs

* Update TestRunner

* Rename LanguageIntegrator project to Languages

* Update TestRunner

* Rename Parsers folder

* Rename PascalABCParser.dll to PascalABCLanguage.dll

* Reorganise LanguageIntegrator and rename DocTagsParser

* Update Release Generators

* Update language loading messages

* Update linux version

* Move BaseParser fields to ILanguage interface

* Revert "Update Release Generators"

This reverts commit 26a991c71b81e643d9fbd9a815ddca222768dda9.

* Revert "Rename PascalABCParser.dll to PascalABCLanguage.dll"

* Clean the mess in parser folders

* Organize namespaces properly

* Revert "Rename LanguageIntegrator project to Languages"

* Add new enclosing folders for standard languages

* Organize namespaces of LanguageIntegrator properly

* Rename StandardLanguages to Languages

* Comment the rest of Visual basic source code

* Update OutputPath in pascal parser project

* Move BaseParser methods to IParser

* Restore Pascal parser project initial structure

* Add PascalLanguage project

* Move SyntaxTreeConverters project to Languages\Pascal folder

* Rename SemanticRules in parser project

* Rename Errors1 to Errors in parser project

* Delete LambdaConverter dll from installer

* Update language integrator to load *Language.dll files

* Move lambda converter project to pascal lanuage dir

* Revert "Delete LambdaConverter dll from installer"

This reverts commit dd56f559ebe4f8c4c5c33752d44e6953001b96a5.

* Switch off VBNETParser building

* Delete syntax tree converters controller

* Delete lambda converter dll from repository

* Reorganize syntax tree to semantic tree conversion stage

* Add BaseLanguage class to make language initialization more neat

* Delete syntax tree post processors entity from ILanguage and refactor ABCStatistics calls

* Add new IDocParser interface for documentation comments parser

* Clean up folders

* Add helper data structures to reduce parameters amount in CompileInterface and CompileImplementation

* Add documentation to language classes

* Move Union struct in global namespace and project (ParserTools)

* Add more comments and a safe select language method

* Rename SemanticRules class

* Fix directives format null bug

* Add System.Linq ref to LanguageIntegrator

* Delete SyntaxToSemanticTreeConverter interface

* Add BaseSyntaxTreeConverter

* Call safe select language method in intellisence

* Delete source files providers from parsers

* Rename GetSyntaxTree method

* Change Prebuild tree to be virtual - not abstract

* Refresh documentation a bit

* Add temporary language check for ABCHealth button

* Add parser reference to parser tools

* Move current compilation unit assigning higher to avoid bug with unit check

* Delete null DirectiveInfo's and refactor directives' code

* Add a few more comments
2024-05-25 12:26:32 +03:00
AlexanderZemlyak a6a25d955d
Preprocessor removal (#3113)
* Remove preprocessor

* Delete preprocessor localization files

* Clean up code

* Remove adding directive in EXCLUDETEXT section

* Fix directive adding in EXCLUDETEXT

* Remove preprocessor leftovers

* More clean up

* Rename preprocessor to ifdef_directive

* Fix building tree for formatter variable assigning

* Restore convert4.exe

* Rework adding directive in EXCLUDETEXT

Более логично будет все-таки так.
2024-05-09 19:04:31 +03:00
Mikhalkovich Stanislav 38c4901787 DrawMan исправления падения при запуске 2024-05-08 23:44:49 +03:00
Mikhalkovich Stanislav 443ed6d3d7 ObjectToString - убрал подчеркивание
TypeName - убрал артефакты реализации в implementation и тесты, это использующие
2024-05-07 12:19:23 +03:00
Mikhalkovich Stanislav 27fc10ab0f Странные комментарии к TypeName
LightPT - SetMessagesOn
2024-05-05 23:51:09 +03:00
AlexanderZemlyak efb4a4338f
New checks for directives added (#3099)
* 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
2024-05-04 20:21:50 +03:00
AlexanderZemlyak 4609a6dfd2
Extract base classes from ParserTools (local) and GPPGParserHelper (#3092)
* Extract base classes from ParserTools (local) and GPPGParserHelper

* Fix string resources error

* Extract base class for unexpected token error

* Update ParserTools project file
2024-04-23 10:47:48 +03:00
Mikhalkovich Stanislav 73d0f3528a 3.9.0.3454 2024-04-07 22:51:11 +03:00
Mikhalkovich Stanislav c56442339e ! Hidden 2024-04-07 21:42:57 +03:00
Ivan Bondarev 21c317b303 intellisense for hiddennames 2024-04-07 11:02:01 +02:00
Mikhalkovich Stanislav 6d96161be1 Директива HiddenParams для скрытых модулей 2024-04-04 14:00:54 +03:00
Mikhalkovich Stanislav c66bfa7d92 Многострочные строковые литералы 2024-03-21 21:21:59 +03:00
Ivan Bondarev 3cca2a8949 fix in formatter 2024-02-21 20:56:49 +01:00
Mikhalkovich Stanislav a868d9106f Подготовка к for как foreach 2024-01-07 17:16:29 +03:00
Mikhalkovich Stanislav 970f5827a0 RealRange(1,3,0.5) 2024-01-03 10:59:33 +03:00
Mikhalkovich Stanislav 4bf9c36d49 Исправление реализации (var b := 1) методом синтаксического сахара 2024-01-02 14:43:48 +03:00
Mikhalkovich Stanislav 30668e650a function f(n: integer): integer;
begin
  if n = 0 then Result := 1
  else Result := n*f(n-1);
end;

begin
  var a := (var b := f(5)) + b;
  Print(a,b);
end.
2023-12-31 21:56:13 +03:00
Mikhalkovich Stanislav a96820ff0d await - пока без генерации нового узла 2023-12-10 21:47:21 +03:00
Mikhalkovich Stanislav 48438973b5 async доделки грамматики 2023-12-08 21:34:48 +03:00
Mikhalkovich Stanislav 771e1f799c первая версия async в грамматике 2023-12-08 19:37:39 +03:00
Mikhalkovich Stanislav b33efb5915 Разделители _ в числовых константах 2023-09-13 11:16:18 +03:00
Mikhalkovich Stanislav 10ed6b670a Исправлена ошибка с отсутствующим do после step 2023-06-23 13:41:47 +03:00
Mikhalkovich Stanislav af9b6acb91 Ликвидация зависимости проектов PascalABCSaushkinParser и SyntaxVisitors от
проекта TreeConverter, то есть, от семантического уровня

Необходимо применить эти изменения и перекомпилировать в ОС РОСА
2023-05-31 14:04:04 +03:00
Mikhalkovich Stanislav 522b744236 Примеры для 3.9.0
CartesianPower(Self: string
Некоторые проверки именованных аргументов
2023-05-08 20:05:55 +03:00
Mikhalkovich Stanislav 932e59a39d Исправление ошибки с именованными параметрами в грамматике 2023-05-05 17:02:12 +03:00
Mikhalkovich Stanislav 49c432411a Именованные аргументы.
Малое покрытие тестами
2023-05-04 23:58:43 +03:00
Mikhalkovich Stanislav 19999eb0ca Комментарии к select_function
proc_func_call узел в грамматике - давно пора
2023-05-03 23:25:59 +03:00
Mikhalkovich Stanislav 009f6b4d77 DrawMan проверка исправлена
Парсер - добавлен синтаксис именованных параметров при вызове и комментарии для их реализации
2023-05-03 11:59:45 +03:00
Mikhalkovich Stanislav 16b45eaa14 Graph3D LocalAxisX Y Z, MoveByLocal
Turtle - цвет
pt4pabc.dll новая
2022-10-19 15:05:42 +03:00
Ivan Bondarev 9a501e237d #2702 2022-09-11 13:01:54 +02:00
Ivan Bondarev a0968468ec #2696 2022-09-04 14:07:24 +02:00
Mikhalkovich Stanislav c50caf192c fix #2670 2022-05-23 08:21:56 +03:00
Mikhalkovich Stanislav 75425d6d2e Подготовка к созданию плагина учительского контроля 2022-05-17 16:02:14 +03:00
Mikhalkovich Stanislav 8b60c3ced5 Убрал слово packed. Захламляет грамматику 2022-05-08 20:44:14 +03:00
Ivan Bondarev 577ae41cac fix pascalabcnet/pascalabcnetide#236 2022-04-15 15:04:36 +02:00
Mikhalkovich Stanislav 3240593d2e Реализован foreach index
Исправлена ошибка for step
Дополнена справка по for step и foreach index
J,yjdkty ntrcnjdsq htlfrnjh? gjlcdtxbdf.obq ыеуз b штвуч rjyntrcnyj d hfvrf[ jlyjq cnhjrb
2022-02-26 12:33:53 +03:00