* Fix spython semantic error * fixed bat, compiler and resources * Переделали на кафедральном компе * Post merge clean up * Adapt code to new changes from master * Squashed commit of the following: commita6f6d8a90bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 23:11:54 2024 +0300 Правки рейтинга в TeacherPlugin commit2365eb3633Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 15:54:15 2024 +0300 LinkLabel в TeacherControlPlugin commit1835b811efAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:51:44 2024 +0300 MathNet Signed commitb23d6df9e9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:16:15 2024 +0300 MathNet.Numerics.dll commit790fba67b8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 27 17:56:09 2024 +0300 3.10.0 commit1ec4204fd2Author: Sun Serega <sunserega2@gmail.com> Date: Mon Aug 26 09:20:27 2024 +0300 `.Batch` cleanup (#3108) commitb5e674c311Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:12:14 2024 +0300 3_10_0 commit7face043cfAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:11:08 2024 +0300 ToSet commite456ad528eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 23:13:57 2024 +0300 3.9.0.3530 commit3247469e6dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 22:55:27 2024 +0300 Добавлен DrawPoints в Turtle Исправлена ошибка с отображением подписей в Y-координате commit7548142623Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 14:27:53 2024 +0300 1. Глобально. SetDecimalSeparator(',') SetNumberFormat(DecimalSeparator := ',' и куча других параметров) s.ToReal(nfi) s.ToReals(nfi) StrToReal(nfi) StrToFloat(nfi) FloatToStr(nfi) var nfi := NumberFormat(DecimalSeparator := ',') s.ToReal(DecimalSeparator := ',') s.ToReals(DecimalSeparator := ',') StrToReal(DecimalSeparator := ',') commitd94885b950Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 12:13:09 2024 +0300 randomElement для строк .ToReals - разделителями могут быть пробел табуляция и переход на новую строку NumberFormat - функция, возвращающая nfi commitae2e26acf8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Aug 23 19:33:55 2024 +0300 PT4 - новые dll файлы старых заданий серий A commit0f8aa6fa3cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 17:28:05 2024 +0300 SetOf как основной синоним HSet commitdb4b53be20Merge:86852e0a5b9fd59a84Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:42 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit86852e0a59Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:14 2024 +0300 School - ToBase(number: int64 commitb9fd59a840Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 15:08:44 2024 +0200 #2830 commit4f0b0f8ba0Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 14:43:49 2024 +0200 #3194 commite3ee0fed4cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 13:49:30 2024 +0200 #3097 commitd396c4a9feAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 10:40:23 2024 +0200 #3178 commit0d846d2335Merge:e91e35398a65a86921Author: Ivan Bondarev <ibond84@googlemail.com> Date: Mon Aug 12 15:24:11 2024 +0200 Merge pull request #3170 from samuraiGH/ForeachResolver-rework Foreach resolver rework commita65a869211Author: samuraiGH <anonimajzer3@mail.ru> Date: Mon Aug 12 15:50:42 2024 +0300 increasing pcu file version commite91e353984Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 11 15:21:29 2024 +0300 Обновленный модуль Turtle.pas commitc18238df39Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 20:18:57 2024 +0300 3.9.0.3523 commit1da2b524a6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 19:34:10 2024 +0300 School PrimeDivisors commit47c61d8b14Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:48:07 2024 +0300 New directive to disable linking pascal standard modules (#3186) * Add new 'disable standard units' directive and it's processing * Refactor InitializeNewUnit function * Improve disable standard units directive checks * Add null check in programs.cs to avoid error * Rename error related to disable standard units directive * Add referencing standard net libraries * Add checks for duplicates when injecting references commitfc3ab96caeAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:46:40 2024 +0300 Delete DocumentedUnits option and Exclude HelpBuilder project (#3192) * Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug Достаточно их аналогов из CompilerOptions. * Add recreating CompilerOptions when reloading Compiler * Change Rebuild checkbox logic * Delete documented units fiels from CompilerInternalDebug * Revert "Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug" This reverts commit 25e92b22722b7e251ab0156148fdf28ee3175c27. * Exclude HelpBuilder commit64acde6460Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 18:21:04 2024 +0300 Сделал возможным неявное приведение некоторого типа к array of T (при описании оператора в виде статической функции класса) School - IsPrime(n) commit3db5709101Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 10:56:18 2024 +0300 ZipCartesianFuncs.pas commitc4fd47128bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Jul 30 22:56:03 2024 +0300 Zip, Cartesian - сделаны внешние функции до 5 параметров, в т.ч. с проекцией Zip, Cartesian - методы расширения дополнены чтобы было как во внешних Перегенерирована справка commit7d66f26d4fAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Mon Jul 1 00:16:43 2024 +0300 cleanup and more tests commit464dc794a8Author: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 23:31:28 2024 +0300 cleanup and more comments commit32f126370cAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 21:35:06 2024 +0300 attempt to fix GetEnumerator resolving for Pascal types commitfb3eeeb28bAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 16:26:35 2024 +0300 fix tests commit84b0dfe537Author: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 15:49:13 2024 +0300 fix getting MethodInfo commit5fa4d9fce7Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:45:07 2024 +0300 cold fix set of T resolving commit460ce636abAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:21:06 2024 +0300 hot fix set of T resolving commit83c2f29ac6Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:53:11 2024 +0300 fix method filtering again commitc840a1a47aAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:32:41 2024 +0300 fix type recovery commit2436627fddAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 19:18:32 2024 +0300 fixing method filtering commit15a05360a4Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:25:39 2024 +0300 attempt to fix GetEnumerator resolving for compiled types commit4fd020d084Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:21:00 2024 +0300 adding tests * Add Test for Global Keyword * Add global_statement syntax tree node * Move Tests * Add SPythonGlobalStatementVisitor * Add SyntaxVisitorError to SPythonGlobalVariableVisitor * Squashed commit of the following: commit 2cd248f986ecdd4c27337939539471a70e728a16 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sun Sep 29 14:05:36 2024 +0300 Update StandardSyntaxTreeConverter.cs commit 6ca1c377f1d1be82176a89f0d1cdf627dc595e75 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sun Sep 29 13:54:30 2024 +0300 Update ListGeneratorNodesVisitor.cs commit 64501e671207f09203fb3d92cd464e4196fa847b Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sun Sep 29 13:49:44 2024 +0300 Add ListGeneratorNodesVisitor commit 469e38b298b076befa9650d3191a52858b40135f Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sun Sep 29 13:07:56 2024 +0300 Add list_generator node commit 8c065cbea88b75b44711516c6c7627ef0da9d03b Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sun Sep 29 12:56:04 2024 +0300 Fix List Assign commit ca3b11ec247ed8d92b6866c505cd6f8ba035492e Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sun Sep 29 12:06:03 2024 +0300 Fix Global Variables in Functions commit f6c9f76346155e6611b118ab8bdaaecd41c2d7f0 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sun Sep 29 11:27:14 2024 +0300 Fix Assign with Type commit 1b41dfed70dd94551457375832bea465d8b49d26 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sun Sep 29 11:17:21 2024 +0300 Fix Global Variables commit 36d83320682079ad1b8a254eb2180998912e9464 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sat Sep 28 20:59:29 2024 +0300 Update AssignToVarConverterVisitor.cs commit 660a33565af24a2fc56842a99a3c7bb4feda5408 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sat Sep 28 20:20:44 2024 +0300 Add Var and Assign Distinction to Visitor commit 1098e5bf0072d3aef9c7a82af98a741b46f7f6bd Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sat Sep 28 18:29:16 2024 +0300 Create t1.pys commit a8747cc41e55b2e4e28cda5ffc0c052c908a5c99 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sat Sep 28 18:24:37 2024 +0300 Move SymbolTable to AssignToVarConverterVisitor commit b31fd297e6187998f9d21e238b39e674fab5021e Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sat Sep 28 17:46:05 2024 +0300 Add EraseGlobalNodeVisitor commit c22a0342fad9a3d40823a0f3a94f067772b92db4 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Mon Sep 16 20:05:44 2024 +0300 Squashed commit of the following: commit8f7e92d418Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Sep 16 08:25:43 2024 +0300 Turtle переделал на паттерн Команда commita6f6d8a90bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 23:11:54 2024 +0300 Правки рейтинга в TeacherPlugin commit2365eb3633Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 15:54:15 2024 +0300 LinkLabel в TeacherControlPlugin commit1835b811efAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:51:44 2024 +0300 MathNet Signed commitb23d6df9e9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:16:15 2024 +0300 MathNet.Numerics.dll commit790fba67b8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 27 17:56:09 2024 +0300 3.10.0 commit1ec4204fd2Author: Sun Serega <sunserega2@gmail.com> Date: Mon Aug 26 09:20:27 2024 +0300 `.Batch` cleanup (#3108) commitb5e674c311Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:12:14 2024 +0300 3_10_0 commit7face043cfAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:11:08 2024 +0300 ToSet commite456ad528eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 23:13:57 2024 +0300 3.9.0.3530 commit3247469e6dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 22:55:27 2024 +0300 Добавлен DrawPoints в Turtle Исправлена ошибка с отображением подписей в Y-координате commit7548142623Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 14:27:53 2024 +0300 1. Глобально. SetDecimalSeparator(',') SetNumberFormat(DecimalSeparator := ',' и куча других параметров) s.ToReal(nfi) s.ToReals(nfi) StrToReal(nfi) StrToFloat(nfi) FloatToStr(nfi) var nfi := NumberFormat(DecimalSeparator := ',') s.ToReal(DecimalSeparator := ',') s.ToReals(DecimalSeparator := ',') StrToReal(DecimalSeparator := ',') commitd94885b950Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 12:13:09 2024 +0300 randomElement для строк .ToReals - разделителями могут быть пробел табуляция и переход на новую строку NumberFormat - функция, возвращающая nfi commitae2e26acf8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Aug 23 19:33:55 2024 +0300 PT4 - новые dll файлы старых заданий серий A commit0f8aa6fa3cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 17:28:05 2024 +0300 SetOf как основной синоним HSet commitdb4b53be20Merge:86852e0a5b9fd59a84Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:42 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit86852e0a59Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:14 2024 +0300 School - ToBase(number: int64 commitb9fd59a840Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 15:08:44 2024 +0200 #2830 commit4f0b0f8ba0Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 14:43:49 2024 +0200 #3194 commite3ee0fed4cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 13:49:30 2024 +0200 #3097 commitd396c4a9feAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 10:40:23 2024 +0200 #3178 commit0d846d2335Merge:e91e35398a65a86921Author: Ivan Bondarev <ibond84@googlemail.com> Date: Mon Aug 12 15:24:11 2024 +0200 Merge pull request #3170 from samuraiGH/ForeachResolver-rework Foreach resolver rework commita65a869211Author: samuraiGH <anonimajzer3@mail.ru> Date: Mon Aug 12 15:50:42 2024 +0300 increasing pcu file version commite91e353984Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 11 15:21:29 2024 +0300 Обновленный модуль Turtle.pas commitc18238df39Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 20:18:57 2024 +0300 3.9.0.3523 commit1da2b524a6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 19:34:10 2024 +0300 School PrimeDivisors commit47c61d8b14Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:48:07 2024 +0300 New directive to disable linking pascal standard modules (#3186) * Add new 'disable standard units' directive and it's processing * Refactor InitializeNewUnit function * Improve disable standard units directive checks * Add null check in programs.cs to avoid error * Rename error related to disable standard units directive * Add referencing standard net libraries * Add checks for duplicates when injecting references commitfc3ab96caeAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:46:40 2024 +0300 Delete DocumentedUnits option and Exclude HelpBuilder project (#3192) * Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug Достаточно их аналогов из CompilerOptions. * Add recreating CompilerOptions when reloading Compiler * Change Rebuild checkbox logic * Delete documented units fiels from CompilerInternalDebug * Revert "Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug" This reverts commit 25e92b22722b7e251ab0156148fdf28ee3175c27. * Exclude HelpBuilder commit64acde6460Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 18:21:04 2024 +0300 Сделал возможным неявное приведение некоторого типа к array of T (при описании оператора в виде статической функции класса) School - IsPrime(n) commit3db5709101Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 10:56:18 2024 +0300 ZipCartesianFuncs.pas commitc4fd47128bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Jul 30 22:56:03 2024 +0300 Zip, Cartesian - сделаны внешние функции до 5 параметров, в т.ч. с проекцией Zip, Cartesian - методы расширения дополнены чтобы было как во внешних Перегенерирована справка commit7d66f26d4fAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Mon Jul 1 00:16:43 2024 +0300 cleanup and more tests commit464dc794a8Author: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 23:31:28 2024 +0300 cleanup and more comments commit32f126370cAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 21:35:06 2024 +0300 attempt to fix GetEnumerator resolving for Pascal types commitfb3eeeb28bAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 16:26:35 2024 +0300 fix tests commit84b0dfe537Author: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 15:49:13 2024 +0300 fix getting MethodInfo commit5fa4d9fce7Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:45:07 2024 +0300 cold fix set of T resolving commit460ce636abAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:21:06 2024 +0300 hot fix set of T resolving commit83c2f29ac6Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:53:11 2024 +0300 fix method filtering again commitc840a1a47aAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:32:41 2024 +0300 fix type recovery commit2436627fddAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 19:18:32 2024 +0300 fixing method filtering commit15a05360a4Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:25:39 2024 +0300 attempt to fix GetEnumerator resolving for compiled types commit4fd020d084Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:21:00 2024 +0300 adding tests * Add result Variable Name to Local Variables * Add node for SPython method call * Add SPythonMethodCallVisitor * Fix usage of currentFileName field * Squashed commit of the following: commit53b3fd0881Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Oct 9 14:09:01 2024 +0300 Добавил временное преобразование от array of T в set of T commit271d5792ceAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Tue Oct 8 10:00:14 2024 +0300 Documentation (#3211) * Add Compiler documentation * Add Intellisense documentation * Move documentation folder to root directory commit79f9ab73a0Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Oct 5 15:33:20 2024 +0300 PT4_32 commit0a20c8d32cAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Sep 26 09:02:31 2024 +0200 Add `.DistinctBy` (#3122) commit11981dbf47Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Sep 25 11:53:02 2024 +0300 IndexMinBy, IndexMaxBy MinBy, MaxBy - более эффективная реализация GraphWPF - SaveToClipboard commit3eb1d2bd85Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 17:42:09 2024 +0200 #3197 commit20edd487e3Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 12:39:03 2024 +0200 #3204 commit7261231c9cMerge:7debbe7029ab932977Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 09:49:58 2024 +0200 Merge pull request #3207 from AlexanderZemlyak/fix_linux_version Fix linux version commit9ab9329771Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Sun Sep 22 10:23:18 2024 +0300 Add new projects in PascalACBNETLinux.sln commit7debbe702aAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 21 14:29:38 2024 +0300 Критическое обновление LightPT commit40335b873eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Sep 20 22:58:46 2024 +0300 LightPT - OutputListIsClearedFromSpaces := False; Coords - DrawLine commit078281db17Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Sep 19 22:42:44 2024 +0300 coords suite commit8d51f999a5Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Sep 19 20:28:28 2024 +0300 Автоклассы - разрешение наследования от классов без полей Модуль Coords commit8f7e92d418Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Sep 16 08:25:43 2024 +0300 Turtle переделал на паттерн Команда commita6f6d8a90bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 23:11:54 2024 +0300 Правки рейтинга в TeacherPlugin commit2365eb3633Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 15:54:15 2024 +0300 LinkLabel в TeacherControlPlugin commit1835b811efAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:51:44 2024 +0300 MathNet Signed commitb23d6df9e9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:16:15 2024 +0300 MathNet.Numerics.dll commit790fba67b8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 27 17:56:09 2024 +0300 3.10.0 commit1ec4204fd2Author: Sun Serega <sunserega2@gmail.com> Date: Mon Aug 26 09:20:27 2024 +0300 `.Batch` cleanup (#3108) commitb5e674c311Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:12:14 2024 +0300 3_10_0 commit7face043cfAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:11:08 2024 +0300 ToSet commite456ad528eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 23:13:57 2024 +0300 3.9.0.3530 commit3247469e6dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 22:55:27 2024 +0300 Добавлен DrawPoints в Turtle Исправлена ошибка с отображением подписей в Y-координате commit7548142623Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 14:27:53 2024 +0300 1. Глобально. SetDecimalSeparator(',') SetNumberFormat(DecimalSeparator := ',' и куча других параметров) s.ToReal(nfi) s.ToReals(nfi) StrToReal(nfi) StrToFloat(nfi) FloatToStr(nfi) var nfi := NumberFormat(DecimalSeparator := ',') s.ToReal(DecimalSeparator := ',') s.ToReals(DecimalSeparator := ',') StrToReal(DecimalSeparator := ',') commitd94885b950Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 12:13:09 2024 +0300 randomElement для строк .ToReals - разделителями могут быть пробел табуляция и переход на новую строку NumberFormat - функция, возвращающая nfi commitae2e26acf8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Aug 23 19:33:55 2024 +0300 PT4 - новые dll файлы старых заданий серий A commit0f8aa6fa3cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 17:28:05 2024 +0300 SetOf как основной синоним HSet commitdb4b53be20Merge:86852e0a5b9fd59a84Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:42 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit86852e0a59Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:14 2024 +0300 School - ToBase(number: int64 commitb9fd59a840Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 15:08:44 2024 +0200 #2830 commit4f0b0f8ba0Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 14:43:49 2024 +0200 #3194 commite3ee0fed4cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 13:49:30 2024 +0200 #3097 commitd396c4a9feAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 10:40:23 2024 +0200 #3178 commit0d846d2335Merge:e91e35398a65a86921Author: Ivan Bondarev <ibond84@googlemail.com> Date: Mon Aug 12 15:24:11 2024 +0200 Merge pull request #3170 from samuraiGH/ForeachResolver-rework Foreach resolver rework commita65a869211Author: samuraiGH <anonimajzer3@mail.ru> Date: Mon Aug 12 15:50:42 2024 +0300 increasing pcu file version commite91e353984Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 11 15:21:29 2024 +0300 Обновленный модуль Turtle.pas commitc18238df39Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 20:18:57 2024 +0300 3.9.0.3523 commit1da2b524a6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 19:34:10 2024 +0300 School PrimeDivisors commit47c61d8b14Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:48:07 2024 +0300 New directive to disable linking pascal standard modules (#3186) * Add new 'disable standard units' directive and it's processing * Refactor InitializeNewUnit function * Improve disable standard units directive checks * Add null check in programs.cs to avoid error * Rename error related to disable standard units directive * Add referencing standard net libraries * Add checks for duplicates when injecting references commitfc3ab96caeAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:46:40 2024 +0300 Delete DocumentedUnits option and Exclude HelpBuilder project (#3192) * Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug Достаточно их аналогов из CompilerOptions. * Add recreating CompilerOptions when reloading Compiler * Change Rebuild checkbox logic * Delete documented units fiels from CompilerInternalDebug * Revert "Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug" This reverts commit 25e92b22722b7e251ab0156148fdf28ee3175c27. * Exclude HelpBuilder commit64acde6460Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 18:21:04 2024 +0300 Сделал возможным неявное приведение некоторого типа к array of T (при описании оператора в виде статической функции класса) School - IsPrime(n) commit3db5709101Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 10:56:18 2024 +0300 ZipCartesianFuncs.pas commitc4fd47128bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Jul 30 22:56:03 2024 +0300 Zip, Cartesian - сделаны внешние функции до 5 параметров, в т.ч. с проекцией Zip, Cartesian - методы расширения дополнены чтобы было как во внешних Перегенерирована справка commit7d66f26d4fAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Mon Jul 1 00:16:43 2024 +0300 cleanup and more tests commit464dc794a8Author: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 23:31:28 2024 +0300 cleanup and more comments commit32f126370cAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 21:35:06 2024 +0300 attempt to fix GetEnumerator resolving for Pascal types commitfb3eeeb28bAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 16:26:35 2024 +0300 fix tests commit84b0dfe537Author: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 15:49:13 2024 +0300 fix getting MethodInfo commit5fa4d9fce7Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:45:07 2024 +0300 cold fix set of T resolving commit460ce636abAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:21:06 2024 +0300 hot fix set of T resolving commit83c2f29ac6Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:53:11 2024 +0300 fix method filtering again commitc840a1a47aAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:32:41 2024 +0300 fix type recovery commit2436627fddAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 19:18:32 2024 +0300 fixing method filtering commit15a05360a4Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:25:39 2024 +0300 attempt to fix GetEnumerator resolving for compiled types commit4fd020d084Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:21:00 2024 +0300 adding tests * Add time dot time handle Visitor * Move time dot time handeling to visitor only * Delete test_indented.txt * Create random1.pys * Add Examples * Squashed commit of the following: commit 115ed2e1b7b361b35f0b213688ad0838e0bffa69 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Thu Nov 7 10:21:08 2024 +0300 Add from import Handling commit bdd3eb785e6c719201104497808e89dc20c4eacc Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sun Nov 3 12:59:29 2024 +0300 Add 'Import As' commit e5747aa56e359633be366887d3cf67d1ec054701 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sun Nov 3 11:08:50 2024 +0300 Add Ident_list to import commit 9d16fdb341b329adae45dec2bf6db04d8572675f Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sun Nov 3 10:01:13 2024 +0300 Move Import Handling to Visitor commit d8a0e8f5ee840e3ff15caafd7a456f91e1f2a962 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sat Nov 2 18:36:10 2024 +0300 Rename of Productions Related to Import commit 71282a457ab0c039a2f42c05249336d92ac76e7a Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sat Nov 2 18:33:41 2024 +0300 Move import to Statements * Add new AST visitors call template * Add syntax tree parameter * Add SpecialSyntaxTreeConverter * Add CollectNamesVisitor * Read Symbols from Semantic Tree * Add Visitor Renewaling * Fix Usage of Standard Libraries * Update AssignToVarConverterVisitor.cs * Fix Foreach Node Visitor * Refactor InterpreterVisitor (alpha version) * Add Imports Nodes for Declarations * Rename Method for Sending Object * Fix Remove in interface_node * Add ApplyConversionsAfterUsedModulesCompilation method to ILanguage interface * Rename ApplyConcreteConversions to ApplyConversions * Squashed commit of the following: commita484b0e82dAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Dec 12 13:49:17 2024 +0200 fix (#3231) commit6ef11f249cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 11:05:45 2024 +0300 3.10.2 commitdb9679d89fAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 10:59:20 2024 +0300 Закончил превращение синтаксиса [] по умолчанию в массивы commit45fdde24b4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 18:08:00 2024 +0100 #3229 commit494b47624dMerge:5875b99297906d73daAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:42:07 2024 +0100 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit5875b99296Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:41:53 2024 +0100 platformtarget native - .NET 9.0 commit7906d73da3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 3 14:25:37 2024 +0300 Небольшие изменения в реализации операций с множествами commit087591c7b6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 27 11:37:07 2024 +0300 3.10.1 Coords - доработки Distance, Middle, DrawText с фоном и рамкой. Глобальные переменные настройки commitd268d4f83bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Nov 21 22:24:07 2024 +0300 NSToBytes переделал с исключением commit2bacdc8c28Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 13:20:33 2024 +0300 Комментарии к NewSet commite917ac8ecaAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 12:42:15 2024 +0300 TypeName для set commit206289c6a7Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 20:23:03 2024 +0300 Везде заменил _hs на hs в NewSet Убрал вызовы методов расширений NewSet в PABCSystem.pas Убрал var в operator + commitd8262078f6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 13:56:47 2024 +0300 Исправление мелких ошибок NewSet Все тесты проходят. Проблема, которая остаётся - в режиме ускорения такие программы падают: begin var s: set of byte; Print(s = [1]); end. Причина - из dll не вызывается конструктор записи без параметров, хотя он определён. В C# вообще у записей не может быть конструктора по умолчанию - наверное потому. Но для NewSet надо бы сделать исключение commitf8819665baAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 16 10:56:11 2024 +0300 NS2 commit591d9ebe60Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:34:10 2024 +0100 fix commitc6505634f4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:12:33 2024 +0100 fix commita6564df23cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 20:52:29 2024 +0100 fix in new sets commit03be5bd931Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 13 22:13:41 2024 +0300 Переставил operator:= в NewSet commit96c68f1666Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Nov 12 21:38:07 2024 +0100 #3223 commit82776f3c77Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 9 12:18:19 2024 +0300 NewSet - много мелких исправлений. Все тесты проходят кроме Tests 5 - видимо с pabcrtl.dll commitfbd63efa89Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Nov 3 16:59:48 2024 +0300 NewSets Некоторые тесты надо исправить commit746c4ae2c2Author: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 21:00:42 2024 +0100 #3221 commit350d07326dAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 18:35:51 2024 +0100 #3221 commitaae9ab408bAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 18:25:06 2024 +0100 #3221 commit1e4a811e04Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Oct 30 20:42:59 2024 +0100 test for #3219 commitd1a1247ecdAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Oct 30 20:24:16 2024 +0100 #3219 commit13b3071d80Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Oct 28 22:42:17 2024 +0300 закомментировал extensions преобразования arr to set. Надеюсь в новой реализации всё исправить commit6d5c18f457Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Oct 24 10:17:48 2024 +0300 SF XLSX.pas commit0c773a7ecbAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Oct 16 12:04:33 2024 +0300 tree.xml с парой новых узлов для Питона commit53b3fd0881Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Oct 9 14:09:01 2024 +0300 Добавил временное преобразование от array of T в set of T commit271d5792ceAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Tue Oct 8 10:00:14 2024 +0300 Documentation (#3211) * Add Compiler documentation * Add Intellisense documentation * Move documentation folder to root directory commit79f9ab73a0Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Oct 5 15:33:20 2024 +0300 PT4_32 commit0a20c8d32cAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Sep 26 09:02:31 2024 +0200 Add `.DistinctBy` (#3122) commit11981dbf47Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Sep 25 11:53:02 2024 +0300 IndexMinBy, IndexMaxBy MinBy, MaxBy - более эффективная реализация GraphWPF - SaveToClipboard commit3eb1d2bd85Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 17:42:09 2024 +0200 #3197 commit20edd487e3Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 12:39:03 2024 +0200 #3204 commit7261231c9cMerge:7debbe7029ab932977Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 09:49:58 2024 +0200 Merge pull request #3207 from AlexanderZemlyak/fix_linux_version Fix linux version commit9ab9329771Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Sun Sep 22 10:23:18 2024 +0300 Add new projects in PascalACBNETLinux.sln commit7debbe702aAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 21 14:29:38 2024 +0300 Критическое обновление LightPT commit40335b873eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Sep 20 22:58:46 2024 +0300 LightPT - OutputListIsClearedFromSpaces := False; Coords - DrawLine commit078281db17Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Sep 19 22:42:44 2024 +0300 coords suite commit8d51f999a5Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Sep 19 20:28:28 2024 +0300 Автоклассы - разрешение наследования от классов без полей Модуль Coords commit8f7e92d418Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Sep 16 08:25:43 2024 +0300 Turtle переделал на паттерн Команда commita6f6d8a90bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 23:11:54 2024 +0300 Правки рейтинга в TeacherPlugin commit2365eb3633Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 15:54:15 2024 +0300 LinkLabel в TeacherControlPlugin commit1835b811efAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:51:44 2024 +0300 MathNet Signed commitb23d6df9e9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:16:15 2024 +0300 MathNet.Numerics.dll commit790fba67b8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 27 17:56:09 2024 +0300 3.10.0 commit1ec4204fd2Author: Sun Serega <sunserega2@gmail.com> Date: Mon Aug 26 09:20:27 2024 +0300 `.Batch` cleanup (#3108) commitb5e674c311Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:12:14 2024 +0300 3_10_0 commit7face043cfAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:11:08 2024 +0300 ToSet commite456ad528eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 23:13:57 2024 +0300 3.9.0.3530 commit3247469e6dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 22:55:27 2024 +0300 Добавлен DrawPoints в Turtle Исправлена ошибка с отображением подписей в Y-координате commit7548142623Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 14:27:53 2024 +0300 1. Глобально. SetDecimalSeparator(',') SetNumberFormat(DecimalSeparator := ',' и куча других параметров) s.ToReal(nfi) s.ToReals(nfi) StrToReal(nfi) StrToFloat(nfi) FloatToStr(nfi) var nfi := NumberFormat(DecimalSeparator := ',') s.ToReal(DecimalSeparator := ',') s.ToReals(DecimalSeparator := ',') StrToReal(DecimalSeparator := ',') commitd94885b950Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 12:13:09 2024 +0300 randomElement для строк .ToReals - разделителями могут быть пробел табуляция и переход на новую строку NumberFormat - функция, возвращающая nfi commitae2e26acf8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Aug 23 19:33:55 2024 +0300 PT4 - новые dll файлы старых заданий серий A commit0f8aa6fa3cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 17:28:05 2024 +0300 SetOf как основной синоним HSet commitdb4b53be20Merge:86852e0a5b9fd59a84Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:42 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit86852e0a59Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:14 2024 +0300 School - ToBase(number: int64 commitb9fd59a840Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 15:08:44 2024 +0200 #2830 commit4f0b0f8ba0Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 14:43:49 2024 +0200 #3194 commite3ee0fed4cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 13:49:30 2024 +0200 #3097 commitd396c4a9feAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 10:40:23 2024 +0200 #3178 commit0d846d2335Merge:e91e35398a65a86921Author: Ivan Bondarev <ibond84@googlemail.com> Date: Mon Aug 12 15:24:11 2024 +0200 Merge pull request #3170 from samuraiGH/ForeachResolver-rework Foreach resolver rework commita65a869211Author: samuraiGH <anonimajzer3@mail.ru> Date: Mon Aug 12 15:50:42 2024 +0300 increasing pcu file version commite91e353984Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 11 15:21:29 2024 +0300 Обновленный модуль Turtle.pas commitc18238df39Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 20:18:57 2024 +0300 3.9.0.3523 commit1da2b524a6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 19:34:10 2024 +0300 School PrimeDivisors commit47c61d8b14Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:48:07 2024 +0300 New directive to disable linking pascal standard modules (#3186) * Add new 'disable standard units' directive and it's processing * Refactor InitializeNewUnit function * Improve disable standard units directive checks * Add null check in programs.cs to avoid error * Rename error related to disable standard units directive * Add referencing standard net libraries * Add checks for duplicates when injecting references commitfc3ab96caeAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:46:40 2024 +0300 Delete DocumentedUnits option and Exclude HelpBuilder project (#3192) * Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug Достаточно их аналогов из CompilerOptions. * Add recreating CompilerOptions when reloading Compiler * Change Rebuild checkbox logic * Delete documented units fiels from CompilerInternalDebug * Revert "Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug" This reverts commit 25e92b22722b7e251ab0156148fdf28ee3175c27. * Exclude HelpBuilder commit64acde6460Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 18:21:04 2024 +0300 Сделал возможным неявное приведение некоторого типа к array of T (при описании оператора в виде статической функции класса) School - IsPrime(n) commit3db5709101Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 10:56:18 2024 +0300 ZipCartesianFuncs.pas commitc4fd47128bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Jul 30 22:56:03 2024 +0300 Zip, Cartesian - сделаны внешние функции до 5 параметров, в т.ч. с проекцией Zip, Cartesian - методы расширения дополнены чтобы было как во внешних Перегенерирована справка commit7d66f26d4fAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Mon Jul 1 00:16:43 2024 +0300 cleanup and more tests commit464dc794a8Author: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 23:31:28 2024 +0300 cleanup and more comments commit32f126370cAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 21:35:06 2024 +0300 attempt to fix GetEnumerator resolving for Pascal types commitfb3eeeb28bAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 16:26:35 2024 +0300 fix tests commit84b0dfe537Author: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 15:49:13 2024 +0300 fix getting MethodInfo commit5fa4d9fce7Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:45:07 2024 +0300 cold fix set of T resolving commit460ce636abAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:21:06 2024 +0300 hot fix set of T resolving commit83c2f29ac6Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:53:11 2024 +0300 fix method filtering again commitc840a1a47aAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:32:41 2024 +0300 fix type recovery commit2436627fddAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 19:18:32 2024 +0300 fixing method filtering commit15a05360a4Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:25:39 2024 +0300 attempt to fix GetEnumerator resolving for compiled types commit4fd020d084Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:21:00 2024 +0300 adding tests * Move unitNames dictionary to CompilationUnit class * Implement Spython StringResorces for SyntaxTree Converters * Move post conversion method to ISyntaxTreeConverter interface * Override get_system_module in SpythonSyntaxTreeVisitor * Fix Unit and Function Having Same Name Bug * Add TimeMeasurements Programs * Swap Visitors for Supporting New Imports * Fix Function with Named Parameters Substitution * Add Error for Using Global * Fix yyloc Bug and Add SyntaxVisiters Errors * Move List Desugar from Visiter to Parser (temp) * Move List Generator Desugaring Back to Visitors * Add Args after Kvarg Error Message * Fix Parser and Visitors' Errors Messages * Moved Examples Programs * Update Name Substitution Logic * Squashed commit of the following: commitb68b8da970Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 17 15:52:18 2024 +0300 Примеры Coords1.pas Coords2.pas.pas commit8a9788e6f9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 17 15:06:57 2024 +0300 Перенес проверку set array на уровень парсера Немного поправил Intellisense по наведению для NewSet По точке там что то другое работает commit874ddebad3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 21:00:38 2024 +0300 Поправил грамматику [] Теперь нельзя в режиме ## использовать атрибуты Зато можно [1,2,3].Print commit080fb487e1Merge:a53dcd9eda484b0e82Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 15:25:24 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commita53dcd9ed2Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 15:25:16 2024 +0300 SF Prm Cmb для строк commita484b0e82dAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Dec 12 13:49:17 2024 +0200 fix (#3231) commit6ef11f249cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 11:05:45 2024 +0300 3.10.2 commitdb9679d89fAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 10:59:20 2024 +0300 Закончил превращение синтаксиса [] по умолчанию в массивы commit45fdde24b4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 18:08:00 2024 +0100 #3229 commit494b47624dMerge:5875b99297906d73daAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:42:07 2024 +0100 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit5875b99296Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:41:53 2024 +0100 platformtarget native - .NET 9.0 commit7906d73da3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 3 14:25:37 2024 +0300 Небольшие изменения в реализации операций с множествами commit087591c7b6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 27 11:37:07 2024 +0300 3.10.1 Coords - доработки Distance, Middle, DrawText с фоном и рамкой. Глобальные переменные настройки commitd268d4f83bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Nov 21 22:24:07 2024 +0300 NSToBytes переделал с исключением commit2bacdc8c28Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 13:20:33 2024 +0300 Комментарии к NewSet commite917ac8ecaAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 12:42:15 2024 +0300 TypeName для set commit206289c6a7Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 20:23:03 2024 +0300 Везде заменил _hs на hs в NewSet Убрал вызовы методов расширений NewSet в PABCSystem.pas Убрал var в operator + commitd8262078f6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 13:56:47 2024 +0300 Исправление мелких ошибок NewSet Все тесты проходят. Проблема, которая остаётся - в режиме ускорения такие программы падают: begin var s: set of byte; Print(s = [1]); end. Причина - из dll не вызывается конструктор записи без параметров, хотя он определён. В C# вообще у записей не может быть конструктора по умолчанию - наверное потому. Но для NewSet надо бы сделать исключение commitf8819665baAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 16 10:56:11 2024 +0300 NS2 commit591d9ebe60Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:34:10 2024 +0100 fix commitc6505634f4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:12:33 2024 +0100 fix commita6564df23cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 20:52:29 2024 +0100 fix in new sets commit03be5bd931Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 13 22:13:41 2024 +0300 Переставил operator:= в NewSet commit96c68f1666Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Nov 12 21:38:07 2024 +0100 #3223 commit82776f3c77Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 9 12:18:19 2024 +0300 NewSet - много мелких исправлений. Все тесты проходят кроме Tests 5 - видимо с pabcrtl.dll commitfbd63efa89Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Nov 3 16:59:48 2024 +0300 NewSets Некоторые тесты надо исправить commit746c4ae2c2Author: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 21:00:42 2024 +0100 #3221 commit350d07326dAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 18:35:51 2024 +0100 #3221 commitaae9ab408bAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 18:25:06 2024 +0100 #3221 commit1e4a811e04Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Oct 30 20:42:59 2024 +0100 test for #3219 commitd1a1247ecdAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Oct 30 20:24:16 2024 +0100 #3219 commit13b3071d80Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Oct 28 22:42:17 2024 +0300 закомментировал extensions преобразования arr to set. Надеюсь в новой реализации всё исправить commit6d5c18f457Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Oct 24 10:17:48 2024 +0300 SF XLSX.pas commit0c773a7ecbAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Oct 16 12:04:33 2024 +0300 tree.xml с парой новых узлов для Питона commit53b3fd0881Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Oct 9 14:09:01 2024 +0300 Добавил временное преобразование от array of T в set of T commit271d5792ceAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Tue Oct 8 10:00:14 2024 +0300 Documentation (#3211) * Add Compiler documentation * Add Intellisense documentation * Move documentation folder to root directory commit79f9ab73a0Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Oct 5 15:33:20 2024 +0300 PT4_32 commit0a20c8d32cAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Sep 26 09:02:31 2024 +0200 Add `.DistinctBy` (#3122) commit11981dbf47Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Sep 25 11:53:02 2024 +0300 IndexMinBy, IndexMaxBy MinBy, MaxBy - более эффективная реализация GraphWPF - SaveToClipboard commit3eb1d2bd85Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 17:42:09 2024 +0200 #3197 commit20edd487e3Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 12:39:03 2024 +0200 #3204 commit7261231c9cMerge:7debbe7029ab932977Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 09:49:58 2024 +0200 Merge pull request #3207 from AlexanderZemlyak/fix_linux_version Fix linux version commit9ab9329771Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Sun Sep 22 10:23:18 2024 +0300 Add new projects in PascalACBNETLinux.sln commit7debbe702aAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 21 14:29:38 2024 +0300 Критическое обновление LightPT commit40335b873eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Sep 20 22:58:46 2024 +0300 LightPT - OutputListIsClearedFromSpaces := False; Coords - DrawLine commit078281db17Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Sep 19 22:42:44 2024 +0300 coords suite commit8d51f999a5Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Sep 19 20:28:28 2024 +0300 Автоклассы - разрешение наследования от классов без полей Модуль Coords commit8f7e92d418Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Sep 16 08:25:43 2024 +0300 Turtle переделал на паттерн Команда commita6f6d8a90bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 23:11:54 2024 +0300 Правки рейтинга в TeacherPlugin commit2365eb3633Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 15:54:15 2024 +0300 LinkLabel в TeacherControlPlugin commit1835b811efAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:51:44 2024 +0300 MathNet Signed commitb23d6df9e9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:16:15 2024 +0300 MathNet.Numerics.dll commit790fba67b8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 27 17:56:09 2024 +0300 3.10.0 commit1ec4204fd2Author: Sun Serega <sunserega2@gmail.com> Date: Mon Aug 26 09:20:27 2024 +0300 `.Batch` cleanup (#3108) commitb5e674c311Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:12:14 2024 +0300 3_10_0 commit7face043cfAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:11:08 2024 +0300 ToSet commite456ad528eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 23:13:57 2024 +0300 3.9.0.3530 commit3247469e6dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 22:55:27 2024 +0300 Добавлен DrawPoints в Turtle Исправлена ошибка с отображением подписей в Y-координате commit7548142623Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 14:27:53 2024 +0300 1. Глобально. SetDecimalSeparator(',') SetNumberFormat(DecimalSeparator := ',' и куча других параметров) s.ToReal(nfi) s.ToReals(nfi) StrToReal(nfi) StrToFloat(nfi) FloatToStr(nfi) var nfi := NumberFormat(DecimalSeparator := ',') s.ToReal(DecimalSeparator := ',') s.ToReals(DecimalSeparator := ',') StrToReal(DecimalSeparator := ',') commitd94885b950Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 12:13:09 2024 +0300 randomElement для строк .ToReals - разделителями могут быть пробел табуляция и переход на новую строку NumberFormat - функция, возвращающая nfi commitae2e26acf8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Aug 23 19:33:55 2024 +0300 PT4 - новые dll файлы старых заданий серий A commit0f8aa6fa3cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 17:28:05 2024 +0300 SetOf как основной синоним HSet commitdb4b53be20Merge:86852e0a5b9fd59a84Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:42 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit86852e0a59Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:14 2024 +0300 School - ToBase(number: int64 commitb9fd59a840Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 15:08:44 2024 +0200 #2830 commit4f0b0f8ba0Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 14:43:49 2024 +0200 #3194 commite3ee0fed4cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 13:49:30 2024 +0200 #3097 commitd396c4a9feAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 10:40:23 2024 +0200 #3178 commit0d846d2335Merge:e91e35398a65a86921Author: Ivan Bondarev <ibond84@googlemail.com> Date: Mon Aug 12 15:24:11 2024 +0200 Merge pull request #3170 from samuraiGH/ForeachResolver-rework Foreach resolver rework commita65a869211Author: samuraiGH <anonimajzer3@mail.ru> Date: Mon Aug 12 15:50:42 2024 +0300 increasing pcu file version commite91e353984Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 11 15:21:29 2024 +0300 Обновленный модуль Turtle.pas commitc18238df39Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 20:18:57 2024 +0300 3.9.0.3523 commit1da2b524a6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 19:34:10 2024 +0300 School PrimeDivisors commit47c61d8b14Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:48:07 2024 +0300 New directive to disable linking pascal standard modules (#3186) * Add new 'disable standard units' directive and it's processing * Refactor InitializeNewUnit function * Improve disable standard units directive checks * Add null check in programs.cs to avoid error * Rename error related to disable standard units directive * Add referencing standard net libraries * Add checks for duplicates when injecting references commitfc3ab96caeAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:46:40 2024 +0300 Delete DocumentedUnits option and Exclude HelpBuilder project (#3192) * Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug Достаточно их аналогов из CompilerOptions. * Add recreating CompilerOptions when reloading Compiler * Change Rebuild checkbox logic * Delete documented units fiels from CompilerInternalDebug * Revert "Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug" This reverts commit 25e92b22722b7e251ab0156148fdf28ee3175c27. * Exclude HelpBuilder commit64acde6460Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 18:21:04 2024 +0300 Сделал возможным неявное приведение некоторого типа к array of T (при описании оператора в виде статической функции класса) School - IsPrime(n) commit3db5709101Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 10:56:18 2024 +0300 ZipCartesianFuncs.pas commitc4fd47128bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Jul 30 22:56:03 2024 +0300 Zip, Cartesian - сделаны внешние функции до 5 параметров, в т.ч. с проекцией Zip, Cartesian - методы расширения дополнены чтобы было как во внешних Перегенерирована справка commit7d66f26d4fAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Mon Jul 1 00:16:43 2024 +0300 cleanup and more tests commit464dc794a8Author: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 23:31:28 2024 +0300 cleanup and more comments commit32f126370cAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 21:35:06 2024 +0300 attempt to fix GetEnumerator resolving for Pascal types commitfb3eeeb28bAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 16:26:35 2024 +0300 fix tests commit84b0dfe537Author: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 15:49:13 2024 +0300 fix getting MethodInfo commit5fa4d9fce7Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:45:07 2024 +0300 cold fix set of T resolving commit460ce636abAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:21:06 2024 +0300 hot fix set of T resolving commit83c2f29ac6Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:53:11 2024 +0300 fix method filtering again commitc840a1a47aAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:32:41 2024 +0300 fix type recovery commit2436627fddAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 19:18:32 2024 +0300 fixing method filtering commit15a05360a4Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:25:39 2024 +0300 attempt to fix GetEnumerator resolving for compiled types commit4fd020d084Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:21:00 2024 +0300 adding tests * feat(bin/LanguageKits/SPython): add more things to installer * Change get_system_module method visibility (and some more) * Update SPython language names * Add CaseSensitive boolean saving in pcu * Implement case sensitive symbol table * Fix Create function not found error * Delete try/catch block in CollectNamesFromUsedUnits to make code cleaner * Create languageCaseSensitive field in pcu * Create CompilationArtifacts struct for passing data to ConvertAfterUsedModulesCompilation * Fix GraphWPF importing problem by dirty workaround !!! * Squashed commit of the following: commit 57ff5ef37d04ce8fcac8705c5a693bddf2ecf10e Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Thu Feb 27 12:56:53 2025 +0300 Fix Global Variables Type Definition Основная программа выносится в функцию, определяемой самой первой и first_assignment_defines_type выводит тип глобальных переменных корректно commit 6f93ae8d6afc1c685d602b85ba6d455d862b35af Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Wed Feb 26 17:33:10 2025 +0300 Replace same_type_node, Fix Procedure Assignment commit 52a096394cfdd4d8e4b27ddd36570b45b053c380 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Thu Feb 20 13:59:16 2025 +0300 Fix Local Scope in If Node commit a0be5bed7f110314c0e512d28a76e3bd87328f01 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sat Feb 15 16:40:50 2025 +0300 Fix Bug with same_type_node commit 04fd2b2a6667bf06af02614a2fd30d0b50172a0c Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sat Feb 15 16:09:27 2025 +0300 Fix Assignment for New Variables commit ea591e243a5a458d6d94e665cec50d9ef60e1a08 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sat Feb 15 15:58:45 2025 +0300 Fix Assignment for Imported Variables in Functions commit e5d71be7693c527e6f4cd88671503dafa0ac9777 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sat Feb 15 15:13:21 2025 +0300 Fix SPython's Syntax Node Erasion commit c78649ac7e7883860ce459cb31f9d9e46194f203 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sat Feb 15 14:35:53 2025 +0300 Fix Variables from Module Assignment commit 4890f7f163a2557bc58d6e9c48cb432c6436a3aa Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sat Feb 15 13:36:53 2025 +0300 Return RetainUsedGlobalVariablesVisitor commit e5460edf2fae002ccc64d261bbb8fadb27deec12 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sat Feb 15 13:05:38 2025 +0300 Add Errors for Wrong Global Usage commit e32387e1356cc1e330518c57ab895f89b9de1784 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sat Feb 15 12:33:55 2025 +0300 Update Comments about Syntax Visitors commit 1f6c7ac2d8c891d582cbe957ed2ad6886de27de1 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sat Feb 15 12:27:59 2025 +0300 Fix Global Variables read access for global variables in fuctions by default commit e840610a25718ba12df144948bdda175cbc8d7c5 Merge: e70cb9914 6c81b45c0 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Fri Feb 14 19:51:38 2025 +0300 Merge branch 'SPython' into SPython-Context-Change commit e70cb99145120df29d1ae172d1b00afa8ea5b18f Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Fri Feb 14 19:49:18 2025 +0300 Return Back Global Keyword commit 7cf7a24b8f927cad72645e028f0e0ebc47cae328 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Wed Feb 12 13:15:35 2025 +0300 Fix Merge commit 89cc4551a0bcdb55eb64d244e35035134e5f6e75 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Wed Feb 12 13:02:06 2025 +0300 Squashed commit of the following: commit41dfb6f187Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Feb 7 21:41:01 2025 +0300 [] - преобразование во все контейнеры GraphABCHelper - теперь ABCObjects работает под Линукс School исправлен согласно последним веяниям [] commit79bbbd10ffAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Wed Jan 29 20:18:37 2025 +0300 removing files for support fx4.0 (#3240) commit88d5c409ebAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Tue Jan 28 20:41:55 2025 +0300 Рефакторинг PascalABCNET.xshd (#3237) * refactoring PascalABCNET.xshd * removing extra characters commit8fbd7fdfc3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Jan 26 23:42:48 2025 +0300 3.10.3 faststrings EmptyCollection и преобразование ее в List, Dictionary t: (real,real) := (1,2) commitbba132bd5dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jan 22 09:14:44 2025 +0300 Поправил справку по функции commit1bd21857ccAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jan 8 18:46:51 2025 +0300 Teacher Control Plugin - возможность задать server.dat commit0848a1b796Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 22:54:38 2025 +0300 Исправление автоформатирования [] commitd45b782a7bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 18:45:07 2025 +0300 Rename PABCSistem in test suite commitc2347e604bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 14:44:51 2025 +0300 Примеры - устранил неточности LightPT - имя сервера вынес в публичную секцию commitb68b8da970Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 17 15:52:18 2024 +0300 Примеры Coords1.pas Coords2.pas.pas commit8a9788e6f9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 17 15:06:57 2024 +0300 Перенес проверку set array на уровень парсера Немного поправил Intellisense по наведению для NewSet По точке там что то другое работает commit874ddebad3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 21:00:38 2024 +0300 Поправил грамматику [] Теперь нельзя в режиме ## использовать атрибуты Зато можно [1,2,3].Print commit080fb487e1Merge:a53dcd9eda484b0e82Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 15:25:24 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commita53dcd9ed2Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 15:25:16 2024 +0300 SF Prm Cmb для строк commita484b0e82dAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Dec 12 13:49:17 2024 +0200 fix (#3231) commit6ef11f249cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 11:05:45 2024 +0300 3.10.2 commitdb9679d89fAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 10:59:20 2024 +0300 Закончил превращение синтаксиса [] по умолчанию в массивы commit45fdde24b4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 18:08:00 2024 +0100 #3229 commit494b47624dMerge:5875b99297906d73daAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:42:07 2024 +0100 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit5875b99296Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:41:53 2024 +0100 platformtarget native - .NET 9.0 commit7906d73da3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 3 14:25:37 2024 +0300 Небольшие изменения в реализации операций с множествами commit087591c7b6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 27 11:37:07 2024 +0300 3.10.1 Coords - доработки Distance, Middle, DrawText с фоном и рамкой. Глобальные переменные настройки commitd268d4f83bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Nov 21 22:24:07 2024 +0300 NSToBytes переделал с исключением commit2bacdc8c28Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 13:20:33 2024 +0300 Комментарии к NewSet commite917ac8ecaAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 12:42:15 2024 +0300 TypeName для set commit206289c6a7Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 20:23:03 2024 +0300 Везде заменил _hs на hs в NewSet Убрал вызовы методов расширений NewSet в PABCSystem.pas Убрал var в operator + commitd8262078f6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 13:56:47 2024 +0300 Исправление мелких ошибок NewSet Все тесты проходят. Проблема, которая остаётся - в режиме ускорения такие программы падают: begin var s: set of byte; Print(s = [1]); end. Причина - из dll не вызывается конструктор записи без параметров, хотя он определён. В C# вообще у записей не может быть конструктора по умолчанию - наверное потому. Но для NewSet надо бы сделать исключение commitf8819665baAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 16 10:56:11 2024 +0300 NS2 commit591d9ebe60Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:34:10 2024 +0100 fix commitc6505634f4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:12:33 2024 +0100 fix commita6564df23cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 20:52:29 2024 +0100 fix in new sets commit03be5bd931Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 13 22:13:41 2024 +0300 Переставил operator:= в NewSet commit96c68f1666Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Nov 12 21:38:07 2024 +0100 #3223 commit82776f3c77Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 9 12:18:19 2024 +0300 NewSet - много мелких исправлений. Все тесты проходят кроме Tests 5 - видимо с pabcrtl.dll commitfbd63efa89Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Nov 3 16:59:48 2024 +0300 NewSets Некоторые тесты надо исправить commit746c4ae2c2Author: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 21:00:42 2024 +0100 #3221 commit350d07326dAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 18:35:51 2024 +0100 #3221 commitaae9ab408bAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 18:25:06 2024 +0100 #3221 commit1e4a811e04Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Oct 30 20:42:59 2024 +0100 test for #3219 commitd1a1247ecdAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Oct 30 20:24:16 2024 +0100 #3219 commit13b3071d80Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Oct 28 22:42:17 2024 +0300 закомментировал extensions преобразования arr to set. Надеюсь в новой реализации всё исправить commit6d5c18f457Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Oct 24 10:17:48 2024 +0300 SF XLSX.pas commit0c773a7ecbAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Oct 16 12:04:33 2024 +0300 tree.xml с парой новых узлов для Питона commit53b3fd0881Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Oct 9 14:09:01 2024 +0300 Добавил временное преобразование от array of T в set of T commit271d5792ceAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Tue Oct 8 10:00:14 2024 +0300 Documentation (#3211) * Add Compiler documentation * Add Intellisense documentation * Move documentation folder to root directory commit79f9ab73a0Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Oct 5 15:33:20 2024 +0300 PT4_32 commit0a20c8d32cAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Sep 26 09:02:31 2024 +0200 Add `.DistinctBy` (#3122) commit11981dbf47Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Sep 25 11:53:02 2024 +0300 IndexMinBy, IndexMaxBy MinBy, MaxBy - более эффективная реализация GraphWPF - SaveToClipboard commit3eb1d2bd85Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 17:42:09 2024 +0200 #3197 commit20edd487e3Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 12:39:03 2024 +0200 #3204 commit7261231c9cMerge:7debbe7029ab932977Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 09:49:58 2024 +0200 Merge pull request #3207 from AlexanderZemlyak/fix_linux_version Fix linux version commit9ab9329771Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Sun Sep 22 10:23:18 2024 +0300 Add new projects in PascalACBNETLinux.sln commit7debbe702aAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 21 14:29:38 2024 +0300 Критическое обновление LightPT commit40335b873eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Sep 20 22:58:46 2024 +0300 LightPT - OutputListIsClearedFromSpaces := False; Coords - DrawLine commit078281db17Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Sep 19 22:42:44 2024 +0300 coords suite commit8d51f999a5Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Sep 19 20:28:28 2024 +0300 Автоклассы - разрешение наследования от классов без полей Модуль Coords commit8f7e92d418Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Sep 16 08:25:43 2024 +0300 Turtle переделал на паттерн Команда commita6f6d8a90bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 23:11:54 2024 +0300 Правки рейтинга в TeacherPlugin commit2365eb3633Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 15:54:15 2024 +0300 LinkLabel в TeacherControlPlugin commit1835b811efAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:51:44 2024 +0300 MathNet Signed commitb23d6df9e9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:16:15 2024 +0300 MathNet.Numerics.dll commit790fba67b8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 27 17:56:09 2024 +0300 3.10.0 commit1ec4204fd2Author: Sun Serega <sunserega2@gmail.com> Date: Mon Aug 26 09:20:27 2024 +0300 `.Batch` cleanup (#3108) commitb5e674c311Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:12:14 2024 +0300 3_10_0 commit7face043cfAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:11:08 2024 +0300 ToSet commite456ad528eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 23:13:57 2024 +0300 3.9.0.3530 commit3247469e6dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 22:55:27 2024 +0300 Добавлен DrawPoints в Turtle Исправлена ошибка с отображением подписей в Y-координате commit7548142623Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 14:27:53 2024 +0300 1. Глобально. SetDecimalSeparator(',') SetNumberFormat(DecimalSeparator := ',' и куча других параметров) s.ToReal(nfi) s.ToReals(nfi) StrToReal(nfi) StrToFloat(nfi) FloatToStr(nfi) var nfi := NumberFormat(DecimalSeparator := ',') s.ToReal(DecimalSeparator := ',') s.ToReals(DecimalSeparator := ',') StrToReal(DecimalSeparator := ',') commitd94885b950Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 12:13:09 2024 +0300 randomElement для строк .ToReals - разделителями могут быть пробел табуляция и переход на новую строку NumberFormat - функция, возвращающая nfi commitae2e26acf8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Aug 23 19:33:55 2024 +0300 PT4 - новые dll файлы старых заданий серий A commit0f8aa6fa3cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 17:28:05 2024 +0300 SetOf как основной синоним HSet commitdb4b53be20Merge:86852e0a5b9fd59a84Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:42 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit86852e0a59Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:14 2024 +0300 School - ToBase(number: int64 commitb9fd59a840Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 15:08:44 2024 +0200 #2830 commit4f0b0f8ba0Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 14:43:49 2024 +0200 #3194 commite3ee0fed4cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 13:49:30 2024 +0200 #3097 commitd396c4a9feAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 10:40:23 2024 +0200 #3178 commit0d846d2335Merge:e91e35398a65a86921Author: Ivan Bondarev <ibond84@googlemail.com> Date: Mon Aug 12 15:24:11 2024 +0200 Merge pull request #3170 from samuraiGH/ForeachResolver-rework Foreach resolver rework commita65a869211Author: samuraiGH <anonimajzer3@mail.ru> Date: Mon Aug 12 15:50:42 2024 +0300 increasing pcu file version commite91e353984Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 11 15:21:29 2024 +0300 Обновленный модуль Turtle.pas commitc18238df39Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 20:18:57 2024 +0300 3.9.0.3523 commit1da2b524a6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 19:34:10 2024 +0300 School PrimeDivisors commit47c61d8b14Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:48:07 2024 +0300 New directive to disable linking pascal standard modules (#3186) * Add new 'disable standard units' directive and it's processing * Refactor InitializeNewUnit function * Improve disable standard units directive checks * Add null check in programs.cs to avoid error * Rename error related to disable standard units directive * Add referencing standard net libraries * Add checks for duplicates when injecting references commitfc3ab96caeAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:46:40 2024 +0300 Delete DocumentedUnits option and Exclude HelpBuilder project (#3192) * Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug Достаточно их аналогов из CompilerOptions. * Add recreating CompilerOptions when reloading Compiler * Change Rebuild checkbox logic * Delete documented units fiels from CompilerInternalDebug * Revert "Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug" This reverts commit 25e92b22722b7e251ab0156148fdf28ee3175c27. * Exclude HelpBuilder commit64acde6460Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 18:21:04 2024 +0300 Сделал возможным неявное приведение некоторого типа к array of T (при описании оператора в виде статической функции класса) School - IsPrime(n) commit3db5709101Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 10:56:18 2024 +0300 ZipCartesianFuncs.pas commitc4fd47128bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Jul 30 22:56:03 2024 +0300 Zip, Cartesian - сделаны внешние функции до 5 параметров, в т.ч. с проекцией Zip, Cartesian - методы расширения дополнены чтобы было как во внешних Перегенерирована справка commit7d66f26d4fAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Mon Jul 1 00:16:43 2024 +0300 cleanup and more tests commit464dc794a8Author: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 23:31:28 2024 +0300 cleanup and more comments commit32f126370cAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 21:35:06 2024 +0300 attempt to fix GetEnumerator resolving for Pascal types commitfb3eeeb28bAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 16:26:35 2024 +0300 fix tests commit84b0dfe537Author: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 15:49:13 2024 +0300 fix getting MethodInfo commit5fa4d9fce7Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:45:07 2024 +0300 cold fix set of T resolving commit460ce636abAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:21:06 2024 +0300 hot fix set of T resolving commit83c2f29ac6Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:53:11 2024 +0300 fix method filtering again commitc840a1a47aAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:32:41 2024 +0300 fix type recovery commit2436627fddAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 19:18:32 2024 +0300 fixing method filtering commit15a05360a4Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:25:39 2024 +0300 attempt to fix GetEnumerator resolving for compiled types commit4fd020d084Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:21:00 2024 +0300 adding tests * Squashed commit of the following: commit1fd348ec3cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Feb 23 20:49:26 2025 +0300 NSIS New 3.10 Ярлык в меню Пуск у всех пользователей commit80b7182dc1Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Feb 19 11:50:00 2025 +0300 _ in names commita2b078960bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Feb 19 10:52:25 2025 +0300 cnfc2 commit58f26d469dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Feb 18 22:28:13 2025 +0300 перекомпиляция 3.10.3.3611 commitb78a72977fAuthor: nevermind322 <81963698+nevermind322@users.noreply.github.com> Date: Tue Feb 18 22:02:19 2025 +0300 fix build on mono (#3249) * fix build on mono * remove local func * fix again commitc3557e388cAuthor: Nikolay Kuznetsov <adasoft@gmail.com> Date: Sat Feb 15 20:32:46 2025 +0300 Update GraphABC.pas (#3244) 1. Быстрая реализация функции FloodFill Для этого добавлена процедура BitmapFloodFill, которая вызывается из метода Picture.FloodFill и процедуры FloodFill 2.Добавлена поддержка LockDrawing/UnlockDrawing в процедуру FloodFill commit9dbac389e1Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Wed Feb 12 13:57:14 2025 +0300 Add missing projects to pabcnetc.sln (#3247) commit41dfb6f187Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Feb 7 21:41:01 2025 +0300 [] - преобразование во все контейнеры GraphABCHelper - теперь ABCObjects работает под Линукс School исправлен согласно последним веяниям [] commit79bbbd10ffAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Wed Jan 29 20:18:37 2025 +0300 removing files for support fx4.0 (#3240) commit88d5c409ebAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Tue Jan 28 20:41:55 2025 +0300 Рефакторинг PascalABCNET.xshd (#3237) * refactoring PascalABCNET.xshd * removing extra characters commit8fbd7fdfc3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Jan 26 23:42:48 2025 +0300 3.10.3 faststrings EmptyCollection и преобразование ее в List, Dictionary t: (real,real) := (1,2) commitbba132bd5dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jan 22 09:14:44 2025 +0300 Поправил справку по функции commit1bd21857ccAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jan 8 18:46:51 2025 +0300 Teacher Control Plugin - возможность задать server.dat commit0848a1b796Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 22:54:38 2025 +0300 Исправление автоформатирования [] commitd45b782a7bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 18:45:07 2025 +0300 Rename PABCSistem in test suite commitc2347e604bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 14:44:51 2025 +0300 Примеры - устранил неточности LightPT - имя сервера вынес в публичную секцию commitb68b8da970Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 17 15:52:18 2024 +0300 Примеры Coords1.pas Coords2.pas.pas commit8a9788e6f9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 17 15:06:57 2024 +0300 Перенес проверку set array на уровень парсера Немного поправил Intellisense по наведению для NewSet По точке там что то другое работает commit874ddebad3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 21:00:38 2024 +0300 Поправил грамматику [] Теперь нельзя в режиме ## использовать атрибуты Зато можно [1,2,3].Print commit080fb487e1Merge:a53dcd9eda484b0e82Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 15:25:24 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commita53dcd9ed2Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 15:25:16 2024 +0300 SF Prm Cmb для строк commita484b0e82dAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Dec 12 13:49:17 2024 +0200 fix (#3231) commit6ef11f249cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 11:05:45 2024 +0300 3.10.2 commitdb9679d89fAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 10:59:20 2024 +0300 Закончил превращение синтаксиса [] по умолчанию в массивы commit45fdde24b4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 18:08:00 2024 +0100 #3229 commit494b47624dMerge:5875b99297906d73daAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:42:07 2024 +0100 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit5875b99296Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:41:53 2024 +0100 platformtarget native - .NET 9.0 commit7906d73da3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 3 14:25:37 2024 +0300 Небольшие изменения в реализации операций с множествами commit087591c7b6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 27 11:37:07 2024 +0300 3.10.1 Coords - доработки Distance, Middle, DrawText с фоном и рамкой. Глобальные переменные настройки commitd268d4f83bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Nov 21 22:24:07 2024 +0300 NSToBytes переделал с исключением commit2bacdc8c28Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 13:20:33 2024 +0300 Комментарии к NewSet commite917ac8ecaAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 12:42:15 2024 +0300 TypeName для set commit206289c6a7Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 20:23:03 2024 +0300 Везде заменил _hs на hs в NewSet Убрал вызовы методов расширений NewSet в PABCSystem.pas Убрал var в operator + commitd8262078f6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 13:56:47 2024 +0300 Исправление мелких ошибок NewSet Все тесты проходят. Проблема, которая остаётся - в режиме ускорения такие программы падают: begin var s: set of byte; Print(s = [1]); end. Причина - из dll не вызывается конструктор записи без параметров, хотя он определён. В C# вообще у записей не может быть конструктора по умолчанию - наверное потому. Но для NewSet надо бы сделать исключение commitf8819665baAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 16 10:56:11 2024 +0300 NS2 commit591d9ebe60Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:34:10 2024 +0100 fix commitc6505634f4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:12:33 2024 +0100 fix commita6564df23cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 20:52:29 2024 +0100 fix in new sets commit03be5bd931Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 13 22:13:41 2024 +0300 Переставил operator:= в NewSet commit96c68f1666Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Nov 12 21:38:07 2024 +0100 #3223 commit82776f3c77Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 9 12:18:19 2024 +0300 NewSet - много мелких исправлений. Все тесты проходят кроме Tests 5 - видимо с pabcrtl.dll commitfbd63efa89Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Nov 3 16:59:48 2024 +0300 NewSets Некоторые тесты надо исправить commit746c4ae2c2Author: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 21:00:42 2024 +0100 #3221 commit350d07326dAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 18:35:51 2024 +0100 #3221 commitaae9ab408bAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 18:25:06 2024 +0100 #3221 commit1e4a811e04Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Oct 30 20:42:59 2024 +0100 test for #3219 commitd1a1247ecdAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Oct 30 20:24:16 2024 +0100 #3219 commit13b3071d80Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Oct 28 22:42:17 2024 +0300 закомментировал extensions преобразования arr to set. Надеюсь в новой реализации всё исправить commit6d5c18f457Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Oct 24 10:17:48 2024 +0300 SF XLSX.pas commit0c773a7ecbAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Oct 16 12:04:33 2024 +0300 tree.xml с парой новых узлов для Питона commit53b3fd0881Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Oct 9 14:09:01 2024 +0300 Добавил временное преобразование от array of T в set of T commit271d5792ceAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Tue Oct 8 10:00:14 2024 +0300 Documentation (#3211) * Add Compiler documentation * Add Intellisense documentation * Move documentation folder to root directory commit79f9ab73a0Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Oct 5 15:33:20 2024 +0300 PT4_32 commit0a20c8d32cAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Sep 26 09:02:31 2024 +0200 Add `.DistinctBy` (#3122) commit11981dbf47Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Sep 25 11:53:02 2024 +0300 IndexMinBy, IndexMaxBy MinBy, MaxBy - более эффективная реализация GraphWPF - SaveToClipboard commit3eb1d2bd85Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 17:42:09 2024 +0200 #3197 commit20edd487e3Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 12:39:03 2024 +0200 #3204 commit7261231c9cMerge:7debbe7029ab932977Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 09:49:58 2024 +0200 Merge pull request #3207 from AlexanderZemlyak/fix_linux_version Fix linux version commit9ab9329771Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Sun Sep 22 10:23:18 2024 +0300 Add new projects in PascalACBNETLinux.sln commit7debbe702aAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 21 14:29:38 2024 +0300 Критическое обновление LightPT commit40335b873eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Sep 20 22:58:46 2024 +0300 LightPT - OutputListIsClearedFromSpaces := False; Coords - DrawLine commit078281db17Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Sep 19 22:42:44 2024 +0300 coords suite commit8d51f999a5Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Sep 19 20:28:28 2024 +0300 Автоклассы - разрешение наследования от классов без полей Модуль Coords commit8f7e92d418Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Sep 16 08:25:43 2024 +0300 Turtle переделал на паттерн Команда commita6f6d8a90bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 23:11:54 2024 +0300 Правки рейтинга в TeacherPlugin commit2365eb3633Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 15:54:15 2024 +0300 LinkLabel в TeacherControlPlugin commit1835b811efAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:51:44 2024 +0300 MathNet Signed commitb23d6df9e9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:16:15 2024 +0300 MathNet.Numerics.dll commit790fba67b8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 27 17:56:09 2024 +0300 3.10.0 commit1ec4204fd2Author: Sun Serega <sunserega2@gmail.com> Date: Mon Aug 26 09:20:27 2024 +0300 `.Batch` cleanup (#3108) commitb5e674c311Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:12:14 2024 +0300 3_10_0 commit7face043cfAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:11:08 2024 +0300 ToSet commite456ad528eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 23:13:57 2024 +0300 3.9.0.3530 commit3247469e6dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 22:55:27 2024 +0300 Добавлен DrawPoints в Turtle Исправлена ошибка с отображением подписей в Y-координате commit7548142623Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 14:27:53 2024 +0300 1. Глобально. SetDecimalSeparator(',') SetNumberFormat(DecimalSeparator := ',' и куча других параметров) s.ToReal(nfi) s.ToReals(nfi) StrToReal(nfi) StrToFloat(nfi) FloatToStr(nfi) var nfi := NumberFormat(DecimalSeparator := ',') s.ToReal(DecimalSeparator := ',') s.ToReals(DecimalSeparator := ',') StrToReal(DecimalSeparator := ',') commitd94885b950Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 12:13:09 2024 +0300 randomElement для строк .ToReals - разделителями могут быть пробел табуляция и переход на новую строку NumberFormat - функция, возвращающая nfi commitae2e26acf8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Aug 23 19:33:55 2024 +0300 PT4 - новые dll файлы старых заданий серий A commit0f8aa6fa3cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 17:28:05 2024 +0300 SetOf как основной синоним HSet commitdb4b53be20Merge:86852e0a5b9fd59a84Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:42 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit86852e0a59Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:14 2024 +0300 School - ToBase(number: int64 commitb9fd59a840Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 15:08:44 2024 +0200 #2830 commit4f0b0f8ba0Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 14:43:49 2024 +0200 #3194 commite3ee0fed4cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 13:49:30 2024 +0200 #3097 commitd396c4a9feAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 10:40:23 2024 +0200 #3178 commit0d846d2335Merge:e91e35398a65a86921Author: Ivan Bondarev <ibond84@googlemail.com> Date: Mon Aug 12 15:24:11 2024 +0200 Merge pull request #3170 from samuraiGH/ForeachResolver-rework Foreach resolver rework commita65a869211Author: samuraiGH <anonimajzer3@mail.ru> Date: Mon Aug 12 15:50:42 2024 +0300 increasing pcu file version commite91e353984Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 11 15:21:29 2024 +0300 Обновленный модуль Turtle.pas commitc18238df39Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 20:18:57 2024 +0300 3.9.0.3523 commit1da2b524a6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 19:34:10 2024 +0300 School PrimeDivisors commit47c61d8b14Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:48:07 2024 +0300 New directive to disable linking pascal standard modules (#3186) * Add new 'disable standard units' directive and it's processing * Refactor InitializeNewUnit function * Improve disable standard units directive checks * Add null check in programs.cs to avoid error * Rename error related to disable standard units directive * Add referencing standard net libraries * Add checks for duplicates when injecting references commitfc3ab96caeAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:46:40 2024 +0300 Delete DocumentedUnits option and Exclude HelpBuilder project (#3192) * Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug Достаточно их аналогов из CompilerOptions. * Add recreating CompilerOptions when reloading Compiler * Change Rebuild checkbox logic * Delete documented units fiels from CompilerInternalDebug * Revert "Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug" This reverts commit 25e92b22722b7e251ab0156148fdf28ee3175c27. * Exclude HelpBuilder commit64acde6460Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 18:21:04 2024 +0300 Сделал возможным неявное приведение некоторого типа к array of T (при описании оператора в виде статической функции класса) School - IsPrime(n) commit3db5709101Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 10:56:18 2024 +0300 ZipCartesianFuncs.pas commitc4fd47128bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Jul 30 22:56:03 2024 +0300 Zip, Cartesian - сделаны внешние функции до 5 параметров, в т.ч. с проекцией Zip, Cartesian - методы расширения дополнены чтобы было как во внешних Перегенерирована справка commit7d66f26d4fAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Mon Jul 1 00:16:43 2024 +0300 cleanup and more tests commit464dc794a8Author: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 23:31:28 2024 +0300 cleanup and more comments commit32f126370cAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 21:35:06 2024 +0300 attempt to fix GetEnumerator resolving for Pascal types commitfb3eeeb28bAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 16:26:35 2024 +0300 fix tests commit84b0dfe537Author: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 15:49:13 2024 +0300 fix getting MethodInfo commit5fa4d9fce7Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:45:07 2024 +0300 cold fix set of T resolving commit460ce636abAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:21:06 2024 +0300 hot fix set of T resolving commit83c2f29ac6Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:53:11 2024 +0300 fix method filtering again commitc840a1a47aAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:32:41 2024 +0300 fix type recovery commit2436627fddAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 19:18:32 2024 +0300 fixing method filtering commit15a05360a4Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:25:39 2024 +0300 attempt to fix GetEnumerator resolving for compiled types commit4fd020d084Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:21:00 2024 +0300 adding tests * Fix Merge Commit * Fix Assignment to Imported Variable * Add Compound Comparison (alpha) * Fix Compound Comparison False Positive конструкция '(a == b) == c' теперь не считается CompoundComparison * Reconstruct NameInterpreterVisiter * Parser and Visitors Refactoring 1 * Fix Modules * Parser and Visitors Refactoring 2 * Update RetainUsedGlobalVariablesVisitor * Update RetainUsedGlobalVariablesVisitor 2 * Add Variable Declaration without InitValue a: float a = 1.23 * Add Global Variables in Units In units all variables defined in outermost scope are global * Add Template Types (list[int]) * Add Errors for Using PascalABCnet Types * Add Power Binary Operation * Fix SourceContext in Parser and ImportToUsesVisitor * Add pass Statement * Fix Nested List Generators * Fix NameCorrectVisitors in Complex Cases fix in nested dot_nodes and lambda's inside list generator * Fix IdentArranger for Complex Cases now it handles correctly cases such as follows: print(a, b, c, d, e, f) * Add Ternary Conditional Operator * Fix Lexer and New Line Error * Add End File Token to Fix Errors Positioning * Fix Errors Positioning * Move AddForwardDeclarationsVisitor Lower * Update Comments in StandardSyntaxTreeConverter * Update Examples * Fix CompoundComparisonDesugarVisitor * Update Comments * Create compound_conditions_example.pys * Separate ';' and End_Of_Line Token * Fix Error Line Positioning * Fix Lexer Error Message with COLON * Fix Error Positioning * Fix Colon Error Positionning * Fix Error Next Token Hints * Fix Errors with 'in' and 'import' * Add UnsupportedConstructsVisitor * Add Error for Using class and lambda * Refactor IndentArranger * Add programBeginWithIndentToken * Squashed commit of the following: commit7751fe7e75Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Sun Mar 16 13:28:03 2025 +0300 generating language res file at build time (#3252) commitd1fce63d69Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Mar 4 08:38:09 2025 +0300 Сборка после pr SDK commitd491e88aa7Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Mon Mar 3 20:34:51 2025 +0300 migration to new build system (#3241) * converting project files into sdk style * new build commands * adding new dll into nsis * removing unused .cs files commit1fd348ec3cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Feb 23 20:49:26 2025 +0300 NSIS New 3.10 Ярлык в меню Пуск у всех пользователей commit80b7182dc1Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Feb 19 11:50:00 2025 +0300 _ in names commita2b078960bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Feb 19 10:52:25 2025 +0300 cnfc2 commit58f26d469dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Feb 18 22:28:13 2025 +0300 перекомпиляция 3.10.3.3611 commitb78a72977fAuthor: nevermind322 <81963698+nevermind322@users.noreply.github.com> Date: Tue Feb 18 22:02:19 2025 +0300 fix build on mono (#3249) * fix build on mono * remove local func * fix again commitc3557e388cAuthor: Nikolay Kuznetsov <adasoft@gmail.com> Date: Sat Feb 15 20:32:46 2025 +0300 Update GraphABC.pas (#3244) 1. Быстрая реализация функции FloodFill Для этого добавлена процедура BitmapFloodFill, которая вызывается из метода Picture.FloodFill и процедуры FloodFill 2.Добавлена поддержка LockDrawing/UnlockDrawing в процедуру FloodFill commit9dbac389e1Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Wed Feb 12 13:57:14 2025 +0300 Add missing projects to pabcnetc.sln (#3247) commit41dfb6f187Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Feb 7 21:41:01 2025 +0300 [] - преобразование во все контейнеры GraphABCHelper - теперь ABCObjects работает под Линукс School исправлен согласно последним веяниям [] commit79bbbd10ffAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Wed Jan 29 20:18:37 2025 +0300 removing files for support fx4.0 (#3240) commit88d5c409ebAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Tue Jan 28 20:41:55 2025 +0300 Рефакторинг PascalABCNET.xshd (#3237) * refactoring PascalABCNET.xshd * removing extra characters commit8fbd7fdfc3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Jan 26 23:42:48 2025 +0300 3.10.3 faststrings EmptyCollection и преобразование ее в List, Dictionary t: (real,real) := (1,2) commitbba132bd5dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jan 22 09:14:44 2025 +0300 Поправил справку по функции commit1bd21857ccAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jan 8 18:46:51 2025 +0300 Teacher Control Plugin - возможность задать server.dat commit0848a1b796Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 22:54:38 2025 +0300 Исправление автоформатирования [] commitd45b782a7bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 18:45:07 2025 +0300 Rename PABCSistem in test suite commitc2347e604bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 14:44:51 2025 +0300 Примеры - устранил неточности LightPT - имя сервера вынес в публичную секцию commitb68b8da970Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 17 15:52:18 2024 +0300 Примеры Coords1.pas Coords2.pas.pas commit8a9788e6f9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 17 15:06:57 2024 +0300 Перенес проверку set array на уровень парсера Немного поправил Intellisense по наведению для NewSet По точке там что то другое работает commit874ddebad3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 21:00:38 2024 +0300 Поправил грамматику [] Теперь нельзя в режиме ## использовать атрибуты Зато можно [1,2,3].Print commit080fb487e1Merge:a53dcd9eda484b0e82Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 15:25:24 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commita53dcd9ed2Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 15:25:16 2024 +0300 SF Prm Cmb для строк commita484b0e82dAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Dec 12 13:49:17 2024 +0200 fix (#3231) commit6ef11f249cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 11:05:45 2024 +0300 3.10.2 commitdb9679d89fAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 10:59:20 2024 +0300 Закончил превращение синтаксиса [] по умолчанию в массивы commit45fdde24b4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 18:08:00 2024 +0100 #3229 commit494b47624dMerge:5875b99297906d73daAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:42:07 2024 +0100 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit5875b99296Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:41:53 2024 +0100 platformtarget native - .NET 9.0 commit7906d73da3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 3 14:25:37 2024 +0300 Небольшие изменения в реализации операций с множествами commit087591c7b6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 27 11:37:07 2024 +0300 3.10.1 Coords - доработки Distance, Middle, DrawText с фоном и рамкой. Глобальные переменные настройки commitd268d4f83bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Nov 21 22:24:07 2024 +0300 NSToBytes переделал с исключением commit2bacdc8c28Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 13:20:33 2024 +0300 Комментарии к NewSet commite917ac8ecaAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 12:42:15 2024 +0300 TypeName для set commit206289c6a7Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 20:23:03 2024 +0300 Везде заменил _hs на hs в NewSet Убрал вызовы методов расширений NewSet в PABCSystem.pas Убрал var в operator + commitd8262078f6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 13:56:47 2024 +0300 Исправление мелких ошибок NewSet Все тесты проходят. Проблема, которая остаётся - в режиме ускорения такие программы падают: begin var s: set of byte; Print(s = [1]); end. Причина - из dll не вызывается конструктор записи без параметров, хотя он определён. В C# вообще у записей не может быть конструктора по умолчанию - наверное потому. Но для NewSet надо бы сделать исключение commitf8819665baAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 16 10:56:11 2024 +0300 NS2 commit591d9ebe60Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:34:10 2024 +0100 fix commitc6505634f4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:12:33 2024 +0100 fix commita6564df23cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 20:52:29 2024 +0100 fix in new sets commit03be5bd931Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 13 22:13:41 2024 +0300 Переставил operator:= в NewSet commit96c68f1666Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Nov 12 21:38:07 2024 +0100 #3223 commit82776f3c77Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 9 12:18:19 2024 +0300 NewSet - много мелких исправлений. Все тесты проходят кроме Tests 5 - видимо с pabcrtl.dll commitfbd63efa89Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Nov 3 16:59:48 2024 +0300 NewSets Некоторые тесты надо исправить commit746c4ae2c2Author: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 21:00:42 2024 +0100 #3221 commit350d07326dAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 18:35:51 2024 +0100 #3221 commitaae9ab408bAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 18:25:06 2024 +0100 #3221 commit1e4a811e04Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Oct 30 20:42:59 2024 +0100 test for #3219 commitd1a1247ecdAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Oct 30 20:24:16 2024 +0100 #3219 commit13b3071d80Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Oct 28 22:42:17 2024 +0300 закомментировал extensions преобразования arr to set. Надеюсь в новой реализации всё исправить commit6d5c18f457Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Oct 24 10:17:48 2024 +0300 SF XLSX.pas commit0c773a7ecbAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Oct 16 12:04:33 2024 +0300 tree.xml с парой новых узлов для Питона commit53b3fd0881Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Oct 9 14:09:01 2024 +0300 Добавил временное преобразование от array of T в set of T commit271d5792ceAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Tue Oct 8 10:00:14 2024 +0300 Documentation (#3211) * Add Compiler documentation * Add Intellisense documentation * Move documentation folder to root directory commit79f9ab73a0Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Oct 5 15:33:20 2024 +0300 PT4_32 commit0a20c8d32cAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Sep 26 09:02:31 2024 +0200 Add `.DistinctBy` (#3122) commit11981dbf47Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Sep 25 11:53:02 2024 +0300 IndexMinBy, IndexMaxBy MinBy, MaxBy - более эффективная реализация GraphWPF - SaveToClipboard commit3eb1d2bd85Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 17:42:09 2024 +0200 #3197 commit20edd487e3Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 12:39:03 2024 +0200 #3204 commit7261231c9cMerge:7debbe7029ab932977Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 09:49:58 2024 +0200 Merge pull request #3207 from AlexanderZemlyak/fix_linux_version Fix linux version commit9ab9329771Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Sun Sep 22 10:23:18 2024 +0300 Add new projects in PascalACBNETLinux.sln commit7debbe702aAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 21 14:29:38 2024 +0300 Критическое обновление LightPT commit40335b873eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Sep 20 22:58:46 2024 +0300 LightPT - OutputListIsClearedFromSpaces := False; Coords - DrawLine commit078281db17Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Sep 19 22:42:44 2024 +0300 coords suite commit8d51f999a5Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Sep 19 20:28:28 2024 +0300 Автоклассы - разрешение наследования от классов без полей Модуль Coords commit8f7e92d418Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Sep 16 08:25:43 2024 +0300 Turtle переделал на паттерн Команда commita6f6d8a90bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 23:11:54 2024 +0300 Правки рейтинга в TeacherPlugin commit2365eb3633Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 15:54:15 2024 +0300 LinkLabel в TeacherControlPlugin commit1835b811efAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:51:44 2024 +0300 MathNet Signed commitb23d6df9e9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:16:15 2024 +0300 MathNet.Numerics.dll commit790fba67b8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 27 17:56:09 2024 +0300 3.10.0 commit1ec4204fd2Author: Sun Serega <sunserega2@gmail.com> Date: Mon Aug 26 09:20:27 2024 +0300 `.Batch` cleanup (#3108) commitb5e674c311Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:12:14 2024 +0300 3_10_0 commit7face043cfAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:11:08 2024 +0300 ToSet commite456ad528eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 23:13:57 2024 +0300 3.9.0.3530 commit3247469e6dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 22:55:27 2024 +0300 Добавлен DrawPoints в Turtle Исправлена ошибка с отображением подписей в Y-координате commit7548142623Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 14:27:53 2024 +0300 1. Глобально. SetDecimalSeparator(',') SetNumberFormat(DecimalSeparator := ',' и куча других параметров) s.ToReal(nfi) s.ToReals(nfi) StrToReal(nfi) StrToFloat(nfi) FloatToStr(nfi) var nfi := NumberFormat(DecimalSeparator := ',') s.ToReal(DecimalSeparator := ',') s.ToReals(DecimalSeparator := ',') StrToReal(DecimalSeparator := ',') commitd94885b950Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 12:13:09 2024 +0300 randomElement для строк .ToReals - разделителями могут быть пробел табуляция и переход на новую строку NumberFormat - функция, возвращающая nfi commitae2e26acf8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Aug 23 19:33:55 2024 +0300 PT4 - новые dll файлы старых заданий серий A commit0f8aa6fa3cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 17:28:05 2024 +0300 SetOf как основной синоним HSet commitdb4b53be20Merge:86852e0a5b9fd59a84Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:42 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit86852e0a59Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:14 2024 +0300 School - ToBase(number: int64 commitb9fd59a840Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 15:08:44 2024 +0200 #2830 commit4f0b0f8ba0Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 14:43:49 2024 +0200 #3194 commite3ee0fed4cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 13:49:30 2024 +0200 #3097 commitd396c4a9feAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 10:40:23 2024 +0200 #3178 commit0d846d2335Merge:e91e35398a65a86921Author: Ivan Bondarev <ibond84@googlemail.com> Date: Mon Aug 12 15:24:11 2024 +0200 Merge pull request #3170 from samuraiGH/ForeachResolver-rework Foreach resolver rework commita65a869211Author: samuraiGH <anonimajzer3@mail.ru> Date: Mon Aug 12 15:50:42 2024 +0300 increasing pcu file version commite91e353984Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 11 15:21:29 2024 +0300 Обновленный модуль Turtle.pas commitc18238df39Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 20:18:57 2024 +0300 3.9.0.3523 commit1da2b524a6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 19:34:10 2024 +0300 School PrimeDivisors commit47c61d8b14Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:48:07 2024 +0300 New directive to disable linking pascal standard modules (#3186) * Add new 'disable standard units' directive and it's processing * Refactor InitializeNewUnit function * Improve disable standard units directive checks * Add null check in programs.cs to avoid error * Rename error related to disable standard units directive * Add referencing standard net libraries * Add checks for duplicates when injecting references commitfc3ab96caeAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:46:40 2024 +0300 Delete DocumentedUnits option and Exclude HelpBuilder project (#3192) * Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug Достаточно их аналогов из CompilerOptions. * Add recreating CompilerOptions when reloading Compiler * Change Rebuild checkbox logic * Delete documented units fiels from CompilerInternalDebug * Revert "Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug" This reverts commit 25e92b22722b7e251ab0156148fdf28ee3175c27. * Exclude HelpBuilder commit64acde6460Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 18:21:04 2024 +0300 Сделал возможным неявное приведение некоторого типа к array of T (при описании оператора в виде статической функции класса) School - IsPrime(n) commit3db5709101Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 10:56:18 2024 +0300 ZipCartesianFuncs.pas commitc4fd47128bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Jul 30 22:56:03 2024 +0300 Zip, Cartesian - сделаны внешние функции до 5 параметров, в т.ч. с проекцией Zip, Cartesian - методы расширения дополнены чтобы было как во внешних Перегенерирована справка commit7d66f26d4fAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Mon Jul 1 00:16:43 2024 +0300 cleanup and more tests commit464dc794a8Author: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 23:31:28 2024 +0300 cleanup and more comments commit32f126370cAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 21:35:06 2024 +0300 attempt to fix GetEnumerator resolving for Pascal types commitfb3eeeb28bAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 16:26:35 2024 +0300 fix tests commit84b0dfe537Author: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 15:49:13 2024 +0300 fix getting MethodInfo commit5fa4d9fce7Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:45:07 2024 +0300 cold fix set of T resolving commit460ce636abAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:21:06 2024 +0300 hot fix set of T resolving commit83c2f29ac6Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:53:11 2024 +0300 fix method filtering again commitc840a1a47aAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:32:41 2024 +0300 fix type recovery commit2436627fddAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 19:18:32 2024 +0300 fixing method filtering commit15a05360a4Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:25:39 2024 +0300 attempt to fix GetEnumerator resolving for compiled types commit4fd020d084Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:21:00 2024 +0300 adding tests * Add units case sensitive search (Not implemented in Intellisense) * Fix Functions Forward Declarations * Update Wrong Module Name Error Positionning * Fix Errors with Global Statements * Fix Function Before Declaration Usage Error * Add return_statement * Add Return Wrong Usage Error * Errors Hot Fix * Add Bigint Type * Squashed commit of the following: commit7751fe7e75Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Sun Mar 16 13:28:03 2025 +0300 generating language res file at build time (#3252) commitd1fce63d69Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Mar 4 08:38:09 2025 +0300 Сборка после pr SDK commitd491e88aa7Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Mon Mar 3 20:34:51 2025 +0300 migration to new build system (#3241) * converting project files into sdk style * new build commands * adding new dll into nsis * removing unused .cs files commit1fd348ec3cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Feb 23 20:49:26 2025 +0300 NSIS New 3.10 Ярлык в меню Пуск у всех пользователей commit80b7182dc1Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Feb 19 11:50:00 2025 +0300 _ in names commita2b078960bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Feb 19 10:52:25 2025 +0300 cnfc2 commit58f26d469dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Feb 18 22:28:13 2025 +0300 перекомпиляция 3.10.3.3611 commitb78a72977fAuthor: nevermind322 <81963698+nevermind322@users.noreply.github.com> Date: Tue Feb 18 22:02:19 2025 +0300 fix build on mono (#3249) * fix build on mono * remove local func * fix again commitc3557e388cAuthor: Nikolay Kuznetsov <adasoft@gmail.com> Date: Sat Feb 15 20:32:46 2025 +0300 Update GraphABC.pas (#3244) 1. Быстрая реализация функции FloodFill Для этого добавлена процедура BitmapFloodFill, которая вызывается из метода Picture.FloodFill и процедуры FloodFill 2.Добавлена поддержка LockDrawing/UnlockDrawing в процедуру FloodFill commit9dbac389e1Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Wed Feb 12 13:57:14 2025 +0300 Add missing projects to pabcnetc.sln (#3247) commit41dfb6f187Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Feb 7 21:41:01 2025 +0300 [] - преобразование во все контейнеры GraphABCHelper - теперь ABCObjects работает под Линукс School исправлен согласно последним веяниям [] commit79bbbd10ffAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Wed Jan 29 20:18:37 2025 +0300 removing files for support fx4.0 (#3240) commit88d5c409ebAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Tue Jan 28 20:41:55 2025 +0300 Рефакторинг PascalABCNET.xshd (#3237) * refactoring PascalABCNET.xshd * removing extra characters commit8fbd7fdfc3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Jan 26 23:42:48 2025 +0300 3.10.3 faststrings EmptyCollection и преобразование ее в List, Dictionary t: (real,real) := (1,2) commitbba132bd5dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jan 22 09:14:44 2025 +0300 Поправил справку по функции commit1bd21857ccAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jan 8 18:46:51 2025 +0300 Teacher Control Plugin - возможность задать server.dat commit0848a1b796Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 22:54:38 2025 +0300 Исправление автоформатирования [] commitd45b782a7bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 18:45:07 2025 +0300 Rename PABCSistem in test suite commitc2347e604bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 14:44:51 2025 +0300 Примеры - устранил неточности LightPT - имя сервера вынес в публичную секцию commitb68b8da970Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 17 15:52:18 2024 +0300 Примеры Coords1.pas Coords2.pas.pas commit8a9788e6f9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 17 15:06:57 2024 +0300 Перенес проверку set array на уровень парсера Немного поправил Intellisense по наведению для NewSet По точке там что то другое работает commit874ddebad3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 21:00:38 2024 +0300 Поправил грамматику [] Теперь нельзя в режиме ## использовать атрибуты Зато можно [1,2,3].Print commit080fb487e1Merge:a53dcd9eda484b0e82Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 15:25:24 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commita53dcd9ed2Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 15:25:16 2024 +0300 SF Prm Cmb для строк commita484b0e82dAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Dec 12 13:49:17 2024 +0200 fix (#3231) commit6ef11f249cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 11:05:45 2024 +0300 3.10.2 commitdb9679d89fAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 10:59:20 2024 +0300 Закончил превращение синтаксиса [] по умолчанию в массивы commit45fdde24b4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 18:08:00 2024 +0100 #3229 commit494b47624dMerge:5875b99297906d73daAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:42:07 2024 +0100 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit5875b99296Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:41:53 2024 +0100 platformtarget native - .NET 9.0 commit7906d73da3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 3 14:25:37 2024 +0300 Небольшие изменения в реализации операций с множествами commit087591c7b6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 27 11:37:07 2024 +0300 3.10.1 Coords - доработки Distance, Middle, DrawText с фоном и рамкой. Глобальные переменные настройки commitd268d4f83bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Nov 21 22:24:07 2024 +0300 NSToBytes переделал с исключением commit2bacdc8c28Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 13:20:33 2024 +0300 Комментарии к NewSet commite917ac8ecaAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 12:42:15 2024 +0300 TypeName для set commit206289c6a7Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 20:23:03 2024 +0300 Везде заменил _hs на hs в NewSet Убрал вызовы методов расширений NewSet в PABCSystem.pas Убрал var в operator + commitd8262078f6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 13:56:47 2024 +0300 Исправление мелких ошибок NewSet Все тесты проходят. Проблема, которая остаётся - в режиме ускорения такие программы падают: begin var s: set of byte; Print(s = [1]); end. Причина - из dll не вызывается конструктор записи без параметров, хотя он определён. В C# вообще у записей не может быть конструктора по умолчанию - наверное потому. Но для NewSet надо бы сделать исключение commitf8819665baAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 16 10:56:11 2024 +0300 NS2 commit591d9ebe60Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:34:10 2024 +0100 fix commitc6505634f4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:12:33 2024 +0100 fix commita6564df23cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 20:52:29 2024 +0100 fix in new sets commit03be5bd931Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 13 22:13:41 2024 +0300 Переставил operator:= в NewSet commit96c68f1666Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Nov 12 21:38:07 2024 +0100 #3223 commit82776f3c77Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 9 12:18:19 2024 +0300 NewSet - много мелких исправлений. Все тесты проходят кроме Tests 5 - видимо с pabcrtl.dll commitfbd63efa89Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Nov 3 16:59:48 2024 +0300 NewSets Некоторые тесты надо исправить commit746c4ae2c2Author: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 21:00:42 2024 +0100 #3221 commit350d07326dAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 18:35:51 2024 +0100 #3221 commitaae9ab408bAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 18:25:06 2024 +0100 #3221 commit1e4a811e04Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Oct 30 20:42:59 2024 +0100 test for #3219 commitd1a1247ecdAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Oct 30 20:24:16 2024 +0100 #3219 commit13b3071d80Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Oct 28 22:42:17 2024 +0300 закомментировал extensions преобразования arr to set. Надеюсь в новой реализации всё исправить commit6d5c18f457Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Oct 24 10:17:48 2024 +0300 SF XLSX.pas commit0c773a7ecbAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Oct 16 12:04:33 2024 +0300 tree.xml с парой новых узлов для Питона commit53b3fd0881Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Oct 9 14:09:01 2024 +0300 Добавил временное преобразование от array of T в set of T commit271d5792ceAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Tue Oct 8 10:00:14 2024 +0300 Documentation (#3211) * Add Compiler documentation * Add Intellisense documentation * Move documentation folder to root directory commit79f9ab73a0Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Oct 5 15:33:20 2024 +0300 PT4_32 commit0a20c8d32cAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Sep 26 09:02:31 2024 +0200 Add `.DistinctBy` (#3122) commit11981dbf47Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Sep 25 11:53:02 2024 +0300 IndexMinBy, IndexMaxBy MinBy, MaxBy - более эффективная реализация GraphWPF - SaveToClipboard commit3eb1d2bd85Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 17:42:09 2024 +0200 #3197 commit20edd487e3Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 12:39:03 2024 +0200 #3204 commit7261231c9cMerge:7debbe7029ab932977Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 09:49:58 2024 +0200 Merge pull request #3207 from AlexanderZemlyak/fix_linux_version Fix linux version commit9ab9329771Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Sun Sep 22 10:23:18 2024 +0300 Add new projects in PascalACBNETLinux.sln commit7debbe702aAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 21 14:29:38 2024 +0300 Критическое обновление LightPT commit40335b873eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Sep 20 22:58:46 2024 +0300 LightPT - OutputListIsClearedFromSpaces := False; Coords - DrawLine commit078281db17Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Sep 19 22:42:44 2024 +0300 coords suite commit8d51f999a5Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Sep 19 20:28:28 2024 +0300 Автоклассы - разрешение наследования от классов без полей Модуль Coords commit8f7e92d418Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Sep 16 08:25:43 2024 +0300 Turtle переделал на паттерн Команда commita6f6d8a90bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 23:11:54 2024 +0300 Правки рейтинга в TeacherPlugin commit2365eb3633Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 15:54:15 2024 +0300 LinkLabel в TeacherControlPlugin commit1835b811efAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:51:44 2024 +0300 MathNet Signed commitb23d6df9e9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:16:15 2024 +0300 MathNet.Numerics.dll commit790fba67b8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 27 17:56:09 2024 +0300 3.10.0 commit1ec4204fd2Author: Sun Serega <sunserega2@gmail.com> Date: Mon Aug 26 09:20:27 2024 +0300 `.Batch` cleanup (#3108) commitb5e674c311Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:12:14 2024 +0300 3_10_0 commit7face043cfAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:11:08 2024 +0300 ToSet commite456ad528eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 23:13:57 2024 +0300 3.9.0.3530 commit3247469e6dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 22:55:27 2024 +0300 Добавлен DrawPoints в Turtle Исправлена ошибка с отображением подписей в Y-координате commit7548142623Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 14:27:53 2024 +0300 1. Глобально. SetDecimalSeparator(',') SetNumberFormat(DecimalSeparator := ',' и куча других параметров) s.ToReal(nfi) s.ToReals(nfi) StrToReal(nfi) StrToFloat(nfi) FloatToStr(nfi) var nfi := NumberFormat(DecimalSeparator := ',') s.ToReal(DecimalSeparator := ',') s.ToReals(DecimalSeparator := ',') StrToReal(DecimalSeparator := ',') commitd94885b950Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 12:13:09 2024 +0300 randomElement для строк .ToReals - разделителями могут быть пробел табуляция и переход на новую строку NumberFormat - функция, возвращающая nfi commitae2e26acf8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Aug 23 19:33:55 2024 +0300 PT4 - новые dll файлы старых заданий серий A commit0f8aa6fa3cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 17:28:05 2024 +0300 SetOf как основной синоним HSet commitdb4b53be20Merge:86852e0a5b9fd59a84Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:42 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit86852e0a59Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:14 2024 +0300 School - ToBase(number: int64 commitb9fd59a840Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 15:08:44 2024 +0200 #2830 commit4f0b0f8ba0Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 14:43:49 2024 +0200 #3194 commite3ee0fed4cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 13:49:30 2024 +0200 #3097 commitd396c4a9feAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 10:40:23 2024 +0200 #3178 commit0d846d2335Merge:e91e35398a65a86921Author: Ivan Bondarev <ibond84@googlemail.com> Date: Mon Aug 12 15:24:11 2024 +0200 Merge pull request #3170 from samuraiGH/ForeachResolver-rework Foreach resolver rework commita65a869211Author: samuraiGH <anonimajzer3@mail.ru> Date: Mon Aug 12 15:50:42 2024 +0300 increasing pcu file version commite91e353984Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 11 15:21:29 2024 +0300 Обновленный модуль Turtle.pas commitc18238df39Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 20:18:57 2024 +0300 3.9.0.3523 commit1da2b524a6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 19:34:10 2024 +0300 School PrimeDivisors commit47c61d8b14Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:48:07 2024 +0300 New directive to disable linking pascal standard modules (#3186) * Add new 'disable standard units' directive and it's processing * Refactor InitializeNewUnit function * Improve disable standard units directive checks * Add null check in programs.cs to avoid error * Rename error related to disable standard units directive * Add referencing standard net libraries * Add checks for duplicates when injecting references commitfc3ab96caeAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:46:40 2024 +0300 Delete DocumentedUnits option and Exclude HelpBuilder project (#3192) * Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug Достаточно их аналогов из CompilerOptions. * Add recreating CompilerOptions when reloading Compiler * Change Rebuild checkbox logic * Delete documented units fiels from CompilerInternalDebug * Revert "Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug" This reverts commit 25e92b22722b7e251ab0156148fdf28ee3175c27. * Exclude HelpBuilder commit64acde6460Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 18:21:04 2024 +0300 Сделал возможным неявное приведение некоторого типа к array of T (при описании оператора в виде статической функции класса) School - IsPrime(n) commit3db5709101Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 10:56:18 2024 +0300 ZipCartesianFuncs.pas commitc4fd47128bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Jul 30 22:56:03 2024 +0300 Zip, Cartesian - сделаны внешние функции до 5 параметров, в т.ч. с проекцией Zip, Cartesian - методы расширения дополнены чтобы было как во внешних Перегенерирована справка commit7d66f26d4fAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Mon Jul 1 00:16:43 2024 +0300 cleanup and more tests commit464dc794a8Author: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 23:31:28 2024 +0300 cleanup and more comments commit32f126370cAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 21:35:06 2024 +0300 attempt to fix GetEnumerator resolving for Pascal types commitfb3eeeb28bAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 16:26:35 2024 +0300 fix tests commit84b0dfe537Author: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 15:49:13 2024 +0300 fix getting MethodInfo commit5fa4d9fce7Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:45:07 2024 +0300 cold fix set of T resolving commit460ce636abAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:21:06 2024 +0300 hot fix set of T resolving commit83c2f29ac6Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:53:11 2024 +0300 fix method filtering again commitc840a1a47aAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:32:41 2024 +0300 fix type recovery commit2436627fddAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 19:18:32 2024 +0300 fixing method filtering commit15a05360a4Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:25:39 2024 +0300 attempt to fix GetEnumerator resolving for compiled types commit4fd020d084Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:21:00 2024 +0300 adding tests * Fix Types Names in Errors * Update Examples * Try To Add Python's list[T] * Add BackSlash Support * Add ANIM examples * Fix compilation context instance assigning * Squashed commit of the following: commit771ea7b445Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Apr 6 14:32:17 2025 +0200 #3230 commit28a1a03e8dAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Apr 6 11:35:09 2025 +0200 #3251 commitaf7abc770bAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Sun Apr 6 08:33:34 2025 +0300 synchronization of namespaces and folders for TeacherControlPlugin (#3262) commitaae723b982Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Thu Apr 3 12:00:04 2025 +0300 Create default syntax tree converter class (#3216) Для удобства разработчиков простых языков, которым не требуются дополнительные обходы синтаксического дерева. commitf9cc90e50fAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Apr 3 11:59:46 2025 +0300 fix errors (#3260) commitf85bfad60fAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Thu Apr 3 11:58:19 2025 +0300 Intellisense memory leaks fix (#3257) * Fix memory leaks found for PABCSystem.pas Memory leaks of Interface and Implementation Unit Scopes fixed * Change open_files and recomp_files variables type to be Dictionary (not HashTable) * open_files Check simplification * Move TypeTable.Clear call to CodeCompletion Compile method commit7751fe7e75Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Sun Mar 16 13:28:03 2025 +0300 generating language res file at build time (#3252) commitd1fce63d69Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Mar 4 08:38:09 2025 +0300 Сборка после pr SDK commitd491e88aa7Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Mon Mar 3 20:34:51 2025 +0300 migration to new build system (#3241) * converting project files into sdk style * new build commands * adding new dll into nsis * removing unused .cs files commit1fd348ec3cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Feb 23 20:49:26 2025 +0300 NSIS New 3.10 Ярлык в меню Пуск у всех пользователей commit80b7182dc1Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Feb 19 11:50:00 2025 +0300 _ in names commita2b078960bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Feb 19 10:52:25 2025 +0300 cnfc2 commit58f26d469dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Feb 18 22:28:13 2025 +0300 перекомпиляция 3.10.3.3611 commitb78a72977fAuthor: nevermind322 <81963698+nevermind322@users.noreply.github.com> Date: Tue Feb 18 22:02:19 2025 +0300 fix build on mono (#3249) * fix build on mono * remove local func * fix again commitc3557e388cAuthor: Nikolay Kuznetsov <adasoft@gmail.com> Date: Sat Feb 15 20:32:46 2025 +0300 Update GraphABC.pas (#3244) 1. Быстрая реализация функции FloodFill Для этого добавлена процедура BitmapFloodFill, которая вызывается из метода Picture.FloodFill и процедуры FloodFill 2.Добавлена поддержка LockDrawing/UnlockDrawing в процедуру FloodFill commit9dbac389e1Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Wed Feb 12 13:57:14 2025 +0300 Add missing projects to pabcnetc.sln (#3247) commit41dfb6f187Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Feb 7 21:41:01 2025 +0300 [] - преобразование во все контейнеры GraphABCHelper - теперь ABCObjects работает под Линукс School исправлен согласно последним веяниям [] commit79bbbd10ffAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Wed Jan 29 20:18:37 2025 +0300 removing files for support fx4.0 (#3240) commit88d5c409ebAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Tue Jan 28 20:41:55 2025 +0300 Рефакторинг PascalABCNET.xshd (#3237) * refactoring PascalABCNET.xshd * removing extra characters commit8fbd7fdfc3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Jan 26 23:42:48 2025 +0300 3.10.3 faststrings EmptyCollection и преобразование ее в List, Dictionary t: (real,real) := (1,2) commitbba132bd5dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jan 22 09:14:44 2025 +0300 Поправил справку по функции commit1bd21857ccAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jan 8 18:46:51 2025 +0300 Teacher Control Plugin - возможность задать server.dat commit0848a1b796Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 22:54:38 2025 +0300 Исправление автоформатирования [] commitd45b782a7bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 18:45:07 2025 +0300 Rename PABCSistem in test suite commitc2347e604bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 14:44:51 2025 +0300 Примеры - устранил неточности LightPT - имя сервера вынес в публичную секцию commitb68b8da970Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 17 15:52:18 2024 +0300 Примеры Coords1.pas Coords2.pas.pas commit8a9788e6f9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 17 15:06:57 2024 +0300 Перенес проверку set array на уровень парсера Немного поправил Intellisense по наведению для NewSet По точке там что то другое работает commit874ddebad3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 21:00:38 2024 +0300 Поправил грамматику [] Теперь нельзя в режиме ## использовать атрибуты Зато можно [1,2,3].Print commit080fb487e1Merge:a53dcd9eda484b0e82Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 15:25:24 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commita53dcd9ed2Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 15:25:16 2024 +0300 SF Prm Cmb для строк commita484b0e82dAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Dec 12 13:49:17 2024 +0200 fix (#3231) commit6ef11f249cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 11:05:45 2024 +0300 3.10.2 commitdb9679d89fAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 10:59:20 2024 +0300 Закончил превращение синтаксиса [] по умолчанию в массивы commit45fdde24b4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 18:08:00 2024 +0100 #3229 commit494b47624dMerge:5875b99297906d73daAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:42:07 2024 +0100 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit5875b99296Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:41:53 2024 +0100 platformtarget native - .NET 9.0 commit7906d73da3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 3 14:25:37 2024 +0300 Небольшие изменения в реализации операций с множествами commit087591c7b6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 27 11:37:07 2024 +0300 3.10.1 Coords - доработки Distance, Middle, DrawText с фоном и рамкой. Глобальные переменные настройки commitd268d4f83bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Nov 21 22:24:07 2024 +0300 NSToBytes переделал с исключением commit2bacdc8c28Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 13:20:33 2024 +0300 Комментарии к NewSet commite917ac8ecaAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 12:42:15 2024 +0300 TypeName для set commit206289c6a7Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 20:23:03 2024 +0300 Везде заменил _hs на hs в NewSet Убрал вызовы методов расширений NewSet в PABCSystem.pas Убрал var в operator + commitd8262078f6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 13:56:47 2024 +0300 Исправление мелких ошибок NewSet Все тесты проходят. Проблема, которая остаётся - в режиме ускорения такие программы падают: begin var s: set of byte; Print(s = [1]); end. Причина - из dll не вызывается конструктор записи без параметров, хотя он определён. В C# вообще у записей не может быть конструктора по умолчанию - наверное потому. Но для NewSet надо бы сделать исключение commitf8819665baAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 16 10:56:11 2024 +0300 NS2 commit591d9ebe60Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:34:10 2024 +0100 fix commitc6505634f4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:12:33 2024 +0100 fix commita6564df23cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 20:52:29 2024 +0100 fix in new sets commit03be5bd931Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 13 22:13:41 2024 +0300 Переставил operator:= в NewSet commit96c68f1666Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Nov 12 21:38:07 2024 +0100 #3223 commit82776f3c77Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 9 12:18:19 2024 +0300 NewSet - много мелких исправлений. Все тесты проходят кроме Tests 5 - видимо с pabcrtl.dll commitfbd63efa89Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Nov 3 16:59:48 2024 +0300 NewSets Некоторые тесты надо исправить commit746c4ae2c2Author: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 21:00:42 2024 +0100 #3221 commit350d07326dAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 18:35:51 2024 +0100 #3221 commitaae9ab408bAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 18:25:06 2024 +0100 #3221 commit1e4a811e04Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Oct 30 20:42:59 2024 +0100 test for #3219 commitd1a1247ecdAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Oct 30 20:24:16 2024 +0100 #3219 commit13b3071d80Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Oct 28 22:42:17 2024 +0300 закомментировал extensions преобразования arr to set. Надеюсь в новой реализации всё исправить commit6d5c18f457Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Oct 24 10:17:48 2024 +0300 SF XLSX.pas commit0c773a7ecbAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Oct 16 12:04:33 2024 +0300 tree.xml с парой новых узлов для Питона commit53b3fd0881Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Oct 9 14:09:01 2024 +0300 Добавил временное преобразование от array of T в set of T commit271d5792ceAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Tue Oct 8 10:00:14 2024 +0300 Documentation (#3211) * Add Compiler documentation * Add Intellisense documentation * Move documentation folder to root directory commit79f9ab73a0Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Oct 5 15:33:20 2024 +0300 PT4_32 commit0a20c8d32cAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Sep 26 09:02:31 2024 +0200 Add `.DistinctBy` (#3122) commit11981dbf47Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Sep 25 11:53:02 2024 +0300 IndexMinBy, IndexMaxBy MinBy, MaxBy - более эффективная реализация GraphWPF - SaveToClipboard commit3eb1d2bd85Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 17:42:09 2024 +0200 #3197 commit20edd487e3Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 12:39:03 2024 +0200 #3204 commit7261231c9cMerge:7debbe7029ab932977Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 09:49:58 2024 +0200 Merge pull request #3207 from AlexanderZemlyak/fix_linux_version Fix linux version commit9ab9329771Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Sun Sep 22 10:23:18 2024 +0300 Add new projects in PascalACBNETLinux.sln commit7debbe702aAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 21 14:29:38 2024 +0300 Критическое обновление LightPT commit40335b873eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Sep 20 22:58:46 2024 +0300 LightPT - OutputListIsClearedFromSpaces := False; Coords - DrawLine commit078281db17Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Sep 19 22:42:44 2024 +0300 coords suite commit8d51f999a5Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Sep 19 20:28:28 2024 +0300 Автоклассы - разрешение наследования от классов без полей Модуль Coords commit8f7e92d418Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Sep 16 08:25:43 2024 +0300 Turtle переделал на паттерн Команда commita6f6d8a90bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 23:11:54 2024 +0300 Правки рейтинга в TeacherPlugin commit2365eb3633Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 15:54:15 2024 +0300 LinkLabel в TeacherControlPlugin commit1835b811efAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:51:44 2024 +0300 MathNet Signed commitb23d6df9e9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:16:15 2024 +0300 MathNet.Numerics.dll commit790fba67b8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 27 17:56:09 2024 +0300 3.10.0 commit1ec4204fd2Author: Sun Serega <sunserega2@gmail.com> Date: Mon Aug 26 09:20:27 2024 +0300 `.Batch` cleanup (#3108) commitb5e674c311Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:12:14 2024 +0300 3_10_0 commit7face043cfAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:11:08 2024 +0300 ToSet commite456ad528eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 23:13:57 2024 +0300 3.9.0.3530 commit3247469e6dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 22:55:27 2024 +0300 Добавлен DrawPoints в Turtle Исправлена ошибка с отображением подписей в Y-координате commit7548142623Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 14:27:53 2024 +0300 1. Глобально. SetDecimalSeparator(',') SetNumberFormat(DecimalSeparator := ',' и куча других параметров) s.ToReal(nfi) s.ToReals(nfi) StrToReal(nfi) StrToFloat(nfi) FloatToStr(nfi) var nfi := NumberFormat(DecimalSeparator := ',') s.ToReal(DecimalSeparator := ',') s.ToReals(DecimalSeparator := ',') StrToReal(DecimalSeparator := ',') commitd94885b950Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 12:13:09 2024 +0300 randomElement для строк .ToReals - разделителями могут быть пробел табуляция и переход на новую строку NumberFormat - функция, возвращающая nfi commitae2e26acf8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Aug 23 19:33:55 2024 +0300 PT4 - новые dll файлы старых заданий серий A commit0f8aa6fa3cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 17:28:05 2024 +0300 SetOf как основной синоним HSet commitdb4b53be20Merge:86852e0a5b9fd59a84Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:42 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit86852e0a59Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:14 2024 +0300 School - ToBase(number: int64 commitb9fd59a840Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 15:08:44 2024 +0200 #2830 commit4f0b0f8ba0Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 14:43:49 2024 +0200 #3194 commite3ee0fed4cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 13:49:30 2024 +0200 #3097 commitd396c4a9feAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 10:40:23 2024 +0200 #3178 commit0d846d2335Merge:e91e35398a65a86921Author: Ivan Bondarev <ibond84@googlemail.com> Date: Mon Aug 12 15:24:11 2024 +0200 Merge pull request #3170 from samuraiGH/ForeachResolver-rework Foreach resolver rework commita65a869211Author: samuraiGH <anonimajzer3@mail.ru> Date: Mon Aug 12 15:50:42 2024 +0300 increasing pcu file version commite91e353984Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 11 15:21:29 2024 +0300 Обновленный модуль Turtle.pas commitc18238df39Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 20:18:57 2024 +0300 3.9.0.3523 commit1da2b524a6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 19:34:10 2024 +0300 School PrimeDivisors commit47c61d8b14Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:48:07 2024 +0300 New directive to disable linking pascal standard modules (#3186) * Add new 'disable standard units' directive and it's processing * Refactor InitializeNewUnit function * Improve disable standard units directive checks * Add null check in programs.cs to avoid error * Rename error related to disable standard units directive * Add referencing standard net libraries * Add checks for duplicates when injecting references commitfc3ab96caeAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:46:40 2024 +0300 Delete DocumentedUnits option and Exclude HelpBuilder project (#3192) * Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug Достаточно их аналогов из CompilerOptions. * Add recreating CompilerOptions when reloading Compiler * Change Rebuild checkbox logic * Delete documented units fiels from CompilerInternalDebug * Revert "Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug" This reverts commit 25e92b22722b7e251ab0156148fdf28ee3175c27. * Exclude HelpBuilder commit64acde6460Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 18:21:04 2024 +0300 Сделал возможным неявное приведение некоторого типа к array of T (при описании оператора в виде статической функции класса) School - IsPrime(n) commit3db5709101Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 10:56:18 2024 +0300 ZipCartesianFuncs.pas commitc4fd47128bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Jul 30 22:56:03 2024 +0300 Zip, Cartesian - сделаны внешние функции до 5 параметров, в т.ч. с проекцией Zip, Cartesian - методы расширения дополнены чтобы было как во внешних Перегенерирована справка commit7d66f26d4fAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Mon Jul 1 00:16:43 2024 +0300 cleanup and more tests commit464dc794a8Author: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 23:31:28 2024 +0300 cleanup and more comments commit32f126370cAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 21:35:06 2024 +0300 attempt to fix GetEnumerator resolving for Pascal types commitfb3eeeb28bAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 16:26:35 2024 +0300 fix tests commit84b0dfe537Author: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 15:49:13 2024 +0300 fix getting MethodInfo commit5fa4d9fce7Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:45:07 2024 +0300 cold fix set of T resolving commit460ce636abAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:21:06 2024 +0300 hot fix set of T resolving commit83c2f29ac6Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:53:11 2024 +0300 fix method filtering again commitc840a1a47aAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:32:41 2024 +0300 fix type recovery commit2436627fddAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 19:18:32 2024 +0300 fixing method filtering commit15a05360a4Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:25:39 2024 +0300 attempt to fix GetEnumerator resolving for compiled types commit4fd020d084Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:21:00 2024 +0300 adding tests * Fix DefaultSyntaxTreeConverter * Update some comments in spython_syntax_tree_visitor * Configure Intellisense - first step * DomSyntaxTreeVisitor fixes * Add implementation for parser methods used by Intellisense * Add declarations_as_statement visit in DomSyntaxTreeVisitor implementation * Refactor CodeCompletion.cs * Fix Intellisense case sensitive units search * Squashed commit of the following: commit bb7962ff859946a71ded0df465d024c14559cb04 Merge: 71261ded1aae723b98Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Thu Apr 3 12:23:21 2025 +0300 Merge branch 'master' into intellisense_refactoring commit 71261ded190a40dcf2301f37b4ac70356cfb35af Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Thu Apr 3 12:16:52 2025 +0300 Update comments in PascalABCLanguageInformation commitaae723b982Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Thu Apr 3 12:00:04 2025 +0300 Create default syntax tree converter class (#3216) Для удобства разработчиков простых языков, которым не требуются дополнительные обходы синтаксического дерева. commitf9cc90e50fAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Apr 3 11:59:46 2025 +0300 fix errors (#3260) commitf85bfad60fAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Thu Apr 3 11:58:19 2025 +0300 Intellisense memory leaks fix (#3257) * Fix memory leaks found for PABCSystem.pas Memory leaks of Interface and Implementation Unit Scopes fixed * Change open_files and recomp_files variables type to be Dictionary (not HashTable) * open_files Check simplification * Move TypeTable.Clear call to CodeCompletion Compile method commit d52ce0d4c86ec1fb6962db33a8dc774b69fddd69 Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Thu Apr 3 11:15:02 2025 +0300 Squashed commit of the following: commit7751fe7e75Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Sun Mar 16 13:28:03 2025 +0300 generating language res file at build time (#3252) commitd1fce63d69Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Mar 4 08:38:09 2025 +0300 Сборка после pr SDK commitd491e88aa7Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Mon Mar 3 20:34:51 2025 +0300 migration to new build system (#3241) * converting project files into sdk style * new build commands * adding new dll into nsis * removing unused .cs files commit1fd348ec3cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Feb 23 20:49:26 2025 +0300 NSIS New 3.10 Ярлык в меню Пуск у всех пользователей commit80b7182dc1Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Feb 19 11:50:00 2025 +0300 _ in names commita2b078960bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Feb 19 10:52:25 2025 +0300 cnfc2 commit58f26d469dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Feb 18 22:28:13 2025 +0300 перекомпиляция 3.10.3.3611 commitb78a72977fAuthor: nevermind322 <81963698+nevermind322@users.noreply.github.com> Date: Tue Feb 18 22:02:19 2025 +0300 fix build on mono (#3249) * fix build on mono * remove local func * fix again commitc3557e388cAuthor: Nikolay Kuznetsov <adasoft@gmail.com> Date: Sat Feb 15 20:32:46 2025 +0300 Update GraphABC.pas (#3244) 1. Быстрая реализация функции FloodFill Для этого добавлена процедура BitmapFloodFill, которая вызывается из метода Picture.FloodFill и процедуры FloodFill 2.Добавлена поддержка LockDrawing/UnlockDrawing в процедуру FloodFill commit9dbac389e1Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Wed Feb 12 13:57:14 2025 +0300 Add missing projects to pabcnetc.sln (#3247) commit41dfb6f187Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Feb 7 21:41:01 2025 +0300 [] - преобразование во все контейнеры GraphABCHelper - теперь ABCObjects работает под Линукс School исправлен согласно последним веяниям [] commit79bbbd10ffAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Wed Jan 29 20:18:37 2025 +0300 removing files for support fx4.0 (#3240) commit88d5c409ebAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Tue Jan 28 20:41:55 2025 +0300 Рефакторинг PascalABCNET.xshd (#3237) * refactoring PascalABCNET.xshd * removing extra characters commit8fbd7fdfc3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Jan 26 23:42:48 2025 +0300 3.10.3 faststrings EmptyCollection и преобразование ее в List, Dictionary t: (real,real) := (1,2) commitbba132bd5dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jan 22 09:14:44 2025 +0300 Поправил справку по функции commit1bd21857ccAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jan 8 18:46:51 2025 +0300 Teacher Control Plugin - возможность задать server.dat commit0848a1b796Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 22:54:38 2025 +0300 Исправление автоформатирования [] commitd45b782a7bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 18:45:07 2025 +0300 Rename PABCSistem in test suite commitc2347e604bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 14:44:51 2025 +0300 Примеры - устранил неточности LightPT - имя сервера вынес в публичную секцию commitb68b8da970Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 17 15:52:18 2024 +0300 Примеры Coords1.pas Coords2.pas.pas commit8a9788e6f9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 17 15:06:57 2024 +0300 Перенес проверку set array на уровень парсера Немного поправил Intellisense по наведению для NewSet По точке там что то другое работает commit874ddebad3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 21:00:38 2024 +0300 Поправил грамматику [] Теперь нельзя в режиме ## использовать атрибуты Зато можно [1,2,3].Print commit080fb487e1Merge:a53dcd9eda484b0e82Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 15:25:24 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commita53dcd9ed2Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 15:25:16 2024 +0300 SF Prm Cmb для строк commita484b0e82dAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Dec 12 13:49:17 2024 +0200 fix (#3231) commit6ef11f249cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 11:05:45 2024 +0300 3.10.2 commitdb9679d89fAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 10:59:20 2024 +0300 Закончил превращение синтаксиса [] по умолчанию в массивы commit45fdde24b4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 18:08:00 2024 +0100 #3229 commit494b47624dMerge:5875b99297906d73daAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:42:07 2024 +0100 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit5875b99296Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:41:53 2024 +0100 platformtarget native - .NET 9.0 commit7906d73da3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 3 14:25:37 2024 +0300 Небольшие изменения в реализации операций с множествами commit087591c7b6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 27 11:37:07 2024 +0300 3.10.1 Coords - доработки Distance, Middle, DrawText с фоном и рамкой. Глобальные переменные настройки commitd268d4f83bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Nov 21 22:24:07 2024 +0300 NSToBytes переделал с исключением commit2bacdc8c28Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 13:20:33 2024 +0300 Комментарии к NewSet commite917ac8ecaAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 12:42:15 2024 +0300 TypeName для set commit206289c6a7Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 20:23:03 2024 +0300 Везде заменил _hs на hs в NewSet Убрал вызовы методов расширений NewSet в PABCSystem.pas Убрал var в operator + commitd8262078f6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 13:56:47 2024 +0300 Исправление мелких ошибок NewSet Все тесты проходят. Проблема, которая остаётся - в режиме ускорения такие программы падают: begin var s: set of byte; Print(s = [1]); end. Причина - из dll не вызывается конструктор записи без параметров, хотя он определён. В C# вообще у записей не может быть конструктора по умолчанию - наверное потому. Но для NewSet надо бы сделать исключение commitf8819665baAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 16 10:56:11 2024 +0300 NS2 commit591d9ebe60Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:34:10 2024 +0100 fix commitc6505634f4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:12:33 2024 +0100 fix commita6564df23cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 20:52:29 2024 +0100 fix in new sets commit03be5bd931Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 13 22:13:41 2024 +0300 Переставил operator:= в NewSet commit96c68f1666Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Nov 12 21:38:07 2024 +0100 #3223 commit82776f3c77Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 9 12:18:19 2024 +0300 NewSet - много мелких исправлений. Все тесты проходят кроме Tests 5 - видимо с pabcrtl.dll commit7751fe7e75Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Sun Mar 16 13:28:03 2025 +0300 generating language res file at build time (#3252) commitd1fce63d69Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Mar 4 08:38:09 2025 +0300 Сборка после pr SDK commitd491e88aa7Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Mon Mar 3 20:34:51 2025 +0300 migration to new build system (#3241) * converting project files into sdk style * new build commands * adding new dll into nsis * removing unused .cs files commit1fd348ec3cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Feb 23 20:49:26 2025 +0300 NSIS New 3.10 Ярлык в меню Пуск у всех пользователей commit80b7182dc1Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Feb 19 11:50:00 2025 +0300 _ in names commita2b078960bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Feb 19 10:52:25 2025 +0300 cnfc2 commit58f26d469dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Feb 18 22:28:13 2025 +0300 перекомпиляция 3.10.3.3611 commitb78a72977fAuthor: nevermind322 <81963698+nevermind322@users.noreply.github.com> Date: Tue Feb 18 22:02:19 2025 +0300 fix build on mono (#3249) * fix build on mono * remove local func * fix again commitc3557e388cAuthor: Nikolay Kuznetsov <adasoft@gmail.com> Date: Sat Feb 15 20:32:46 2025 +0300 Update GraphABC.pas (#3244) 1. Быстрая реализация функции FloodFill Для этого добавлена процедура BitmapFloodFill, которая вызывается из метода Picture.FloodFill и процедуры FloodFill 2.Добавлена поддержка LockDrawing/UnlockDrawing в процедуру FloodFill commit9dbac389e1Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Wed Feb 12 13:57:14 2025 +0300 Add missing projects to pabcnetc.sln (#3247) commit41dfb6f187Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Feb 7 21:41:01 2025 +0300 [] - преобразование во все контейнеры GraphABCHelper - теперь ABCObjects работает под Линукс School исправлен согласно последним веяниям [] commit79bbbd10ffAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Wed Jan 29 20:18:37 2025 +0300 removing files for support fx4.0 (#3240) commit88d5c409ebAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Tue Jan 28 20:41:55 2025 +0300 Рефакторинг PascalABCNET.xshd (#3237) * refactoring PascalABCNET.xshd * removing extra characters commit8fbd7fdfc3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Jan 26 23:42:48 2025 +0300 3.10.3 faststrings EmptyCollection и преобразование ее в List, Dictionary t: (real,real) := (1,2) commitbba132bd5dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jan 22 09:14:44 2025 +0300 Поправил справку по функции commit1bd21857ccAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jan 8 18:46:51 2025 +0300 Teacher Control Plugin - возможность задать server.dat commit0848a1b796Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 22:54:38 2025 +0300 Исправление автоформатирования [] commitd45b782a7bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 18:45:07 2025 +0300 Rename PABCSistem in test suite commitc2347e604bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 14:44:51 2025 +0300 Примеры - устранил неточности LightPT - имя сервера вынес в публичную секцию commitb68b8da970Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 17 15:52:18 2024 +0300 Примеры Coords1.pas Coords2.pas.pas commit8a9788e6f9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 17 15:06:57 2024 +0300 Перенес проверку set array на уровень парсера Немного поправил Intellisense по наведению для NewSet По точке там что то другое работает commit874ddebad3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 21:00:38 2024 +0300 Поправил грамматику [] Теперь нельзя в режиме ## использовать атрибуты Зато можно [1,2,3].Print commit080fb487e1Merge:a53dcd9eda484b0e82Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 15:25:24 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commita53dcd9ed2Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 15:25:16 2024 +0300 SF Prm Cmb для строк commita484b0e82dAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Dec 12 13:49:17 2024 +0200 fix (#3231) commit6ef11f249cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 11:05:45 2024 +0300 3.10.2 commitdb9679d89fAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 10:59:20 2024 +0300 Закончил превращение синтаксиса [] по умолчанию в массивы commit45fdde24b4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 18:08:00 2024 +0100 #3229 commit494b47624dMerge:5875b99297906d73daAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:42:07 2024 +0100 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit5875b99296Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:41:53 2024 +0100 platformtarget native - .NET 9.0 commit7906d73da3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 3 14:25:37 2024 +0300 Небольшие изменения в реализации операций с множествами commit087591c7b6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 27 11:37:07 2024 +0300 3.10.1 Coords - доработки Distance, Middle, DrawText с фоном и рамкой. Глобальные переменные настройки commitd268d4f83bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Nov 21 22:24:07 2024 +0300 NSToBytes переделал с исключением commit2bacdc8c28Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 13:20:33 2024 +0300 Комментарии к NewSet commite917ac8ecaAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 12:42:15 2024 +0300 TypeName для set commit206289c6a7Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 20:23:03 2024 +0300 Везде заменил _hs на hs в NewSet Убрал вызовы методов расширений NewSet в PABCSystem.pas Убрал var в operator + commitd8262078f6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 13:56:47 2024 +0300 Исправление мелких ошибок NewSet Все тесты проходят. Проблема, которая остаётся - в режиме ускорения такие программы падают: begin var s: set of byte; Print(s = [1]); end. Причина - из dll не вызывается конструктор записи без параметров, хотя он определён. В C# вообще у записей не может быть конструктора по умолчанию - наверное потому. Но для NewSet надо бы сделать исключение commitf8819665baAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 16 10:56:11 2024 +0300 NS2 commit591d9ebe60Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:34:10 2024 +0100 fix commitc6505634f4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:12:33 2024 +0100 fix commita6564df23cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 20:52:29 2024 +0100 fix in new sets commit03be5bd931Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 13 22:13:41 2024 +0300 Переставил operator:= в NewSet commit96c68f1666Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Nov 12 21:38:07 2024 +0100 #3223 commit a11bb9e9c6271e359fde6050e95d98950e946fbd Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Sun Nov 10 19:43:45 2024 +0300 Fix encoding commit 2c0fba643e45914b8f5350356e1c24b3c3cf3685 Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Sun Nov 10 19:21:54 2024 +0300 Fix build error commit f813a4ff99936dabdcfda40ce5beea2ba41aed53 Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Sun Nov 10 19:08:44 2024 +0300 Update intellisense documentation commit 8414c7ae1d6ed296a86e56975d84949a6e471a25 Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Sun Nov 10 19:08:03 2024 +0300 Another iteration of refactoring in CodeCompletionProvider + comments commit 340ef9a0e9bc40f7bda0cde8dccb86c94dc6c8cb Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Sun Nov 10 14:51:56 2024 +0300 Fix GetCompletionDataByFirst behaviour when getting symInfos after uses keyword commit82776f3c77Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 9 12:18:19 2024 +0300 NewSet - много мелких исправлений. Все тесты проходят кроме Tests 5 - видимо с pabcrtl.dll commit 8e9e7f94d094e528aeb9bd0db322005b08e31ee3 Merge: ea3c878ebfbd63efa8Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Fri Nov 8 14:47:33 2024 +0300 Merge branch 'master' into intellisense_refactoring commitfbd63efa89Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Nov 3 16:59:48 2024 +0300 NewSets Некоторые тесты надо исправить commit746c4ae2c2Author: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 21:00:42 2024 +0100 #3221 commit350d07326dAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 18:35:51 2024 +0100 #3221 commitaae9ab408bAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 18:25:06 2024 +0100 #3221 commit1e4a811e04Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Oct 30 20:42:59 2024 +0100 test for #3219 commitd1a1247ecdAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Oct 30 20:24:16 2024 +0100 #3219 commit13b3071d80Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Oct 28 22:42:17 2024 +0300 закомментировал extensions преобразования arr to set. Надеюсь в новой реализации всё исправить commit ea3c878eb27a268d50272838a36508511f1096ee Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Sun Oct 27 22:40:40 2024 +0300 Refactor GetCompletionDataByFirst method commit6d5c18f457Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Oct 24 10:17:48 2024 +0300 SF XLSX.pas commit 0ae57063a798ec7dc4979a1cea32371034794907 Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Tue Oct 22 12:54:05 2024 +0300 Replace dollar service character in CodeCompletion by separate boolean (ctrlSpaceAfterDot)) commit 89a02c2867b41cb12020a31867667c89f9fbb848 Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Tue Oct 22 10:48:21 2024 +0300 Extract shift space actions in separate class commit cb24d274969f67255c7cb253fbc36d25d6aaa2be Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Sun Oct 20 22:54:32 2024 +0300 Refactor CodeCompletionProvider (first iteration) commit 10b16014b8e19fac339752466b1733359675a052 Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Sun Oct 20 18:14:06 2024 +0300 Add check that we parsing PascalABC.NET in GetPopupHintText Временное решение, нужно будет вынести вторую попытку в интерфейс парсера. commit 4057884d749788726bc095581d1519ff8fec7037 Merge: d95eab7900c773a7ecAuthor: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Sun Oct 20 17:33:07 2024 +0300 Merge branch 'master' into intellisense_refactoring commit0c773a7ecbAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Oct 16 12:04:33 2024 +0300 tree.xml с парой новых узлов для Питона commit d95eab790c41cb2f8ac38be997ca81af30ee22be Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Thu Oct 10 14:14:43 2024 +0300 Delete other cases of ampersend inserting commit b2aaa157c1ae1965ae2a20eb3e5454f4df37b1a8 Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Wed Oct 9 22:48:37 2024 +0300 Basic refactoring of GetPopupHintText + delete ampersend inserting commit 4554bd5581bdf61601e454650a34422c8bf93c0c Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Wed Oct 9 18:56:23 2024 +0300 Move ValidDirectives field to ILanguageInformation commit53b3fd0881Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Oct 9 14:09:01 2024 +0300 Добавил временное преобразование от array of T в set of T commit d8b05d3d80500fc10cb964a5ec62c7244e4993f8 Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Wed Oct 9 09:53:35 2024 +0300 Fix inaccuracy in BaseKeywords.cs commit c45f66baf5a159d07ddc7ded63bad56387799fc1 Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Wed Oct 9 09:47:43 2024 +0300 Manage references in PascalABCLanguageInfo project commit 342cb23f2eb33948cc7d058e04a10fd4b5c1e2a4 Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Wed Oct 9 00:06:25 2024 +0300 Fix string comparisons and null reference exception commit 386f59d5fd5b29f010f59194ef1324d23a5651ca Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Tue Oct 8 23:18:53 2024 +0300 Fix build error commit 851936f02544879644b3284cf472c8c9c2ea8fa9 Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Tue Oct 8 23:12:16 2024 +0300 Refactor keywords managing to avoid repeating them twice commit271d5792ceAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Tue Oct 8 10:00:14 2024 +0300 Documentation (#3211) * Add Compiler documentation * Add Intellisense documentation * Move documentation folder to root directory commit79f9ab73a0Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Oct 5 15:33:20 2024 +0300 PT4_32 commit0a20c8d32cAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Sep 26 09:02:31 2024 +0200 Add `.DistinctBy` (#3122) commit11981dbf47Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Sep 25 11:53:02 2024 +0300 IndexMinBy, IndexMaxBy MinBy, MaxBy - более эффективная реализация GraphWPF - SaveToClipboard commit3eb1d2bd85Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 17:42:09 2024 +0200 #3197 commit20edd487e3Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 12:39:03 2024 +0200 #3204 commit7261231c9cMerge:7debbe7029ab932977Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 09:49:58 2024 +0200 Merge pull request #3207 from AlexanderZemlyak/fix_linux_version Fix linux version commit9ab9329771Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Sun Sep 22 10:23:18 2024 +0300 Add new projects in PascalACBNETLinux.sln commit7debbe702aAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 21 14:29:38 2024 +0300 Критическое обновление LightPT commit40335b873eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Sep 20 22:58:46 2024 +0300 LightPT - OutputListIsClearedFromSpaces := False; Coords - DrawLine commit078281db17Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Sep 19 22:42:44 2024 +0300 coords suite commit8d51f999a5Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Sep 19 20:28:28 2024 +0300 Автоклассы - разрешение наследования от классов без полей Модуль Coords commit8f7e92d418Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Sep 16 08:25:43 2024 +0300 Turtle переделал на паттерн Команда commita6f6d8a90bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 23:11:54 2024 +0300 Правки рейтинга в TeacherPlugin commit2365eb3633Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 15:54:15 2024 +0300 LinkLabel в TeacherControlPlugin commit1835b811efAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:51:44 2024 +0300 MathNet Signed commitb23d6df9e9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:16:15 2024 +0300 MathNet.Numerics.dll commit790fba67b8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 27 17:56:09 2024 +0300 3.10.0 commit1ec4204fd2Author: Sun Serega <sunserega2@gmail.com> Date: Mon Aug 26 09:20:27 2024 +0300 `.Batch` cleanup (#3108) commitb5e674c311Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:12:14 2024 +0300 3_10_0 commit7face043cfAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:11:08 2024 +0300 ToSet commite456ad528eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 23:13:57 2024 +0300 3.9.0.3530 commit3247469e6dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 22:55:27 2024 +0300 Добавлен DrawPoints в Turtle Исправлена ошибка с отображением подписей в Y-координате commit7548142623Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 14:27:53 2024 +0300 1. Глобально. SetDecimalSeparator(',') SetNumberFormat(DecimalSeparator := ',' и куча других параметров) s.ToReal(nfi) s.ToReals(nfi) StrToReal(nfi) StrToFloat(nfi) FloatToStr(nfi) var nfi := NumberFormat(DecimalSeparator := ',') s.ToReal(DecimalSeparator := ',') s.ToReals(DecimalSeparator := ',') StrToReal(DecimalSeparator := ',') commitd94885b950Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 12:13:09 2024 +0300 randomElement для строк .ToReals - разделителями могут быть пробел табуляция и переход на новую строку NumberFormat - функция, возвращающая nfi commitae2e26acf8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Aug 23 19:33:55 2024 +0300 PT4 - новые dll файлы старых заданий серий A commit0f8aa6fa3cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 17:28:05 2024 +0300 SetOf как основной синоним HSet commitdb4b53be20Merge:86852e0a5b9fd59a84Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:42 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit86852e0a59Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:14 2024 +0300 School - ToBase(number: int64 commitb9fd59a840Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 15:08:44 2024 +0200 #2830 commit4f0b0f8ba0Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 14:43:49 2024 +0200 #3194 commite3ee0fed4cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 13:49:30 2024 +0200 #3097 commitd396c4a9feAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 10:40:23 2024 +0200 #3178 commit0d846d2335Merge:e91e35398a65a86921Author: Ivan Bondarev <ibond84@googlemail.com> Date: Mon Aug 12 15:24:11 2024 +0200 Merge pull request #3170 from samuraiGH/ForeachResolver-rework Foreach resolver rework commita65a869211Author: samuraiGH <anonimajzer3@mail.ru> Date: Mon Aug 12 15:50:42 2024 +0300 increasing pcu file version commite91e353984Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 11 15:21:29 2024 +0300 Обновленный модуль Turtle.pas commitc18238df39Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 20:18:57 2024 +0300 3.9.0.3523 commit1da2b524a6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 19:34:10 2024 +0300 School PrimeDivisors commit47c61d8b14Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:48:07 2024 +0300 New directive to disable linking pascal standard modules (#3186) * Add new 'disable standard units' directive and it's processing * Refactor InitializeNewUnit function * Improve disable standard units directive checks * Add null check in programs.cs to avoid error * Rename error related to disable standard units directive * Add referencing standard net libraries * Add checks for duplicates when injecting references commitfc3ab96caeAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:46:40 2024 +0300 Delete DocumentedUnits option and Exclude HelpBuilder project (#3192) * Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug Достаточно их аналогов из CompilerOptions. * Add recreating CompilerOptions when reloading Compiler * Change Rebuild checkbox logic * Delete documented units fiels from CompilerInternalDebug * Revert "Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug" This reverts commit 25e92b22722b7e251ab0156148fdf28ee3175c27. * Exclude HelpBuilder commit64acde6460Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 18:21:04 2024 +0300 Сделал возможным неявное приведение некоторого типа к array of T (при описании оператора в виде статической функции класса) School - IsPrime(n) commit3db5709101Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 10:56:18 2024 +0300 ZipCartesianFuncs.pas commitc4fd47128bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Jul 30 22:56:03 2024 +0300 Zip, Cartesian - сделаны внешние функции до 5 параметров, в т.ч. с проекцией Zip, Cartesian - методы расширения дополнены чтобы было как во внешних Перегенерирована справка commit7d66f26d4fAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Mon Jul 1 00:16:43 2024 +0300 cleanup and more tests commit464dc794a8Author: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 23:31:28 2024 +0300 cleanup and more comments commit32f126370cAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 21:35:06 2024 +0300 attempt to fix GetEnumerator resolving for Pascal types commitfb3eeeb28bAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 16:26:35 2024 +0300 fix tests commit84b0dfe537Author: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 15:49:13 2024 +0300 fix getting MethodInfo commit5fa4d9fce7Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:45:07 2024 +0300 cold fix set of T resolving commit460ce636abAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:21:06 2024 +0300 hot fix set of T resolving commit83c2f29ac6Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:53:11 2024 +0300 fix method filtering again commitc840a1a47aAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:32:41 2024 +0300 fix type recovery commit2436627fddAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 19:18:32 2024 +0300 fixing method filtering commit15a05360a4Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:25:39 2024 +0300 attempt to fix GetEnumerator resolving for compiled types commit4fd020d084Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:21:00 2024 +0300 adding tests * Add BaseLanguageInformation and SPythonLanguageInformation * Delete unnecessary TestSuite files * Remove syntax_tree_visitor inner objects duplicates creation in spython_syntax_tree_visitor * Move CompilationUnit.UnitFileName initialization to InitializeNewUnit function * Override internal_reset method in spython_syntax_tree_visitor to fix pas test error * Delete dll files from git * Add standard SPython modules to compilation samples * Add List Methods Names Mapping * Add Grammar Rules for Intellisense * Configure Intellisense - step 2 * Fix languages loading call position * Change comments check in expression finding for SPython * Add SPython standard types to SPythonSystem (implicitly) * Add syntax tree converters calls for SPython in Intellisense * Squash merge master branch * Adapt SPython project files to new build system * Update FunctionsWithNamedParametersDesugarVisitor.cs * Fix output paths in SPython projects * Update _ReBuild.bat * Fix Main Function source_context * Extract converters for Intellisense only usage * Implement import statements in Intellisense Алиасы пока не поддерживаются * Remove Result varible for SPython in Intellisense * Remove standard modules and net namespaces from user scope * Adjust standard units to achieve not adding PABCSystem and Extenstions names to their scope * Add Set, Operator in/not in * Add Dict * Add len Function and dict/set types * Add list and set Functions * Comment out TypeCorrectVisitor for Intellisense * Fix New Types Names in Error Messages * Add Set Methods * Add special names renaming and excluding function in ILanguageInformation Используется для убирания подсказки PABCSystem, корректирования типа biginteger в SPython. * Add aliases support for import and from import in Intellisense * Fix list_generator Desugaring in Intellisence * Add dict Methods * Fix List Generator * Fix Assignment Declaration * Move math And time Libs to bin\Lib * Rename list_generator to generator_object * Fix Parser to Use generator_object * Add set generator * Add any and all Functions * Add Function Calls for generator objects * Add dict generator * Add empty containers initializations * Fix empty_list/set/dict error message * Fix type(obj) Function in Standard Library * Add Error if Initialize with No Type Specification and Empty Collection * Fix Initialization with Empty Collection for Global Variables * Add round Function * Add map Function * Revert "Add map Function" This reverts commit 4fb787a0122a6f404a4061fb6647561f0117739a. * Fix map Function * Update Visitor Name * Add Bitwise Operators * Add Bitwise Assignment Operations * Fix Set Binary Operations * Fix Global Assignments * Add f-string for Strings without Format * Update SPythonParser.dat * Add Expression-Support in f-string * Fix f-string Inner-Parser Call * Add int and float Formats for f-string ('x', 'X', 'b', 'd', '.[num]f') * Fix f-string regex * Fix result Local Variable * Add cont_int with Underscore * Add Empty itertools.pas Unit * Add args Parameters * Add kvargs Function Declaration (pre-alpha) * Update StandardSyntaxTreeConverter.cs * Fix kvargs-functions Forward Declarations * Add kvargs-functions Call (pre-alpha) * Add kvargs-parameters Usage * Add kvargs-function Call with no kvargs-arguments * Move Standard print Function to Unit Written in SPython * Update .dll's * Hot Fix * Update spython_syntax_tree_visitor.cs * Add Multi-Variables foreach * Fix create Name * Big Kwarg-Update * Change Create name in StringConstants and fix check in syntax_tree_visitor * Update buildandruntests.yml * Squashed commit of the following: commit f7834348258fd70cb34949908f157a37c4e013db Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Thu Jun 12 15:55:53 2025 +0300 Delete language kits directory creation while installing PascalABC.NET commit 78f40b7377fa6c62fbdd9a19754d8c14ae68cf7f Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Thu Jun 12 15:35:30 2025 +0300 Create time1.pas commit ba6cc457366a96efa650eeb2ffb90c5735de13f3 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Thu Jun 12 14:54:36 2025 +0300 Move TypeCorrectVisitor commit f9ae902f0df63aa2916683869ac0cff4dd71bd91 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Thu Jun 12 13:39:42 2025 +0300 Fix Mutual Functions Calls commit da3b502df1b889c0b02a00815aa8a9df1bcbe31e Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Thu Jun 12 13:10:49 2025 +0300 Add Itertools Examples and fix Kwargs commit a6d2f593a0e54b50d8b4b27fb56026b9ede740d0 Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Wed Jun 11 23:23:28 2025 +0300 Add special modules aliases support in Intellisense and switch off unit hints for import statements commit 0d5122eef93cb2dbd9728b1877b0bfb0544ef9b8 Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Wed Jun 11 19:23:36 2025 +0300 Create FindScopeByLocation modification for SPython Для нахождения вложенных в MAIN функций commit af7235ce8bee4b45ffd6c3b479f8e828932f69b4 Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Wed Jun 11 17:59:22 2025 +0300 Add ExitParamVisitor in visitors pipeline commit 3f5a4f4950a3d3f2035ec2b18081a01c734c1a96 Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Wed Jun 11 17:35:30 2025 +0300 Small fixes commit 3f32348b2f4dd66edd372d3989d7651ac56a5d93 Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Wed Jun 11 17:11:07 2025 +0300 Fix merge error commit 684d6a36912ef5c5ad82d4de0807683eac87debf Merge: 8e506f409eeb3116aeAuthor: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Wed Jun 11 17:06:42 2025 +0300 Merge branch 'master' into Spython_refactoring commit 8e506f409e4b34ad81620bf352813ab507e6134e Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Wed Jun 11 16:44:37 2025 +0300 Implement visitors pipeline for PascalABC.NET commit 0e8e4d5c786cbad5257804ce495fe410546ddf4c Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Wed Jun 11 14:10:22 2025 +0300 Refactor SPython StandardSyntaxTreeConverter to use pipeline approach commiteeb3116aeaAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Jun 10 21:30:20 2025 +0300 3.10.3.3634 commitea338d6bfeAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Jun 10 20:30:42 2025 +0300 2025 in GlobalAssemblyInfo.cs commit4dc6bd72efAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Jun 10 20:19:18 2025 +0300 chm восстановил commitfd139b4700Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Tue Jun 10 20:09:10 2025 +0300 fix SemanticTreeConverter.cs encoding (#3273) commitd11674efc2Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Jun 10 19:56:16 2025 +0300 Вернул старый css для справки commit9aee28f4f0Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Jun 10 19:54:57 2025 +0300 2025 commit07370e365fAuthor: Sun Serega <sunserega2@gmail.com> Date: Tue Jun 10 19:18:02 2025 +0300 Upgrade windows runner for CI/CD (#3271) * Try upgrade windows runner for CI/CD * Update names and BOM commit50fd3cb1eeAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Wed May 28 23:01:09 2025 +0300 * adding supports enumeration check for Pascal types in foreach resolver (#3272) * fix naming commit5fec52615aAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat May 24 21:36:36 2025 +0300 Распаковка KeyValuePair| И в foreach commitfbb5dec9a9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat May 17 19:34:33 2025 +0300 Внешний Between commita914ab6ef5Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri May 16 16:57:00 2025 +0300 InRange изменение поведения и внешний commit04059ab235Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed May 14 19:57:30 2025 +0300 Исправлены библиотеки PT4Exam commit40bfc046a8Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Wed May 14 19:40:04 2025 +0300 Fix shift space action in Intellisense (#3269) commite3a64850efAuthor: dmkwketx <dmkwketx@gmail.com> Date: Mon May 12 21:14:21 2025 +0300 Update GraphWPF.pas (#3270) если title больше одной строки, показывалась только последняя. теперь все строки будут показаны. commite9cf278fddAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon May 12 10:24:04 2025 +0300 IsOrdered в разных воплощениях commit255533f407Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri May 9 16:39:12 2025 +0300 IsOrdered метод расширения commit4c56298bfbAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu May 8 22:53:34 2025 +0300 exit(param) commitc22dee65faAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed May 7 10:57:41 2025 +0300 sp2 commit3f37c2cc4fAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed May 7 10:56:51 2025 +0300 sp commitcdfde69281Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri May 2 21:44:57 2025 +0300 2 chars commit2e27beef48Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Thu Apr 10 13:14:04 2025 +0300 Create generic instances cache (#3259) * First attempt to create generic instances cache * Change TypeScope equality check and add instance cache clearing * Move instance cache clearing call to CodeCompletion Compile funciton Шаблонные типы в instance_cache не должны пересекаться для различных модулей. Для улучшения производительности вызов очистки кэша расположен перед вызовом компиляции всех модулей. * Squashed commit of the following: commit771ea7b445Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Apr 6 14:32:17 2025 +0200 #3230 commit28a1a03e8dAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Apr 6 11:35:09 2025 +0200 #3251 commitaf7abc770bAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Sun Apr 6 08:33:34 2025 +0300 synchronization of namespaces and folders for TeacherControlPlugin (#3262) commitaae723b982Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Thu Apr 3 12:00:04 2025 +0300 Create default syntax tree converter class (#3216) Для удобства разработчиков простых языков, которым не требуются дополнительные обходы синтаксического дерева. commitf9cc90e50fAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Apr 3 11:59:46 2025 +0300 fix errors (#3260) commitf85bfad60fAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Thu Apr 3 11:58:19 2025 +0300 Intellisense memory leaks fix (#3257) * Fix memory leaks found for PABCSystem.pas Memory leaks of Interface and Implementation Unit Scopes fixed * Change open_files and recomp_files variables type to be Dictionary (not HashTable) * open_files Check simplification * Move TypeTable.Clear call to CodeCompletion Compile method * Fix incorrect dictionary iteration * Add one more dictionary keys copying commit69149f8c44Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Thu Apr 10 13:13:17 2025 +0300 Refactor intellisense (#3213) * Refactor keywords managing to avoid repeating them twice * Fix build error * Fix string comparisons and null reference exception * Manage references in PascalABCLanguageInfo project * Fix inaccuracy in BaseKeywords.cs * Move ValidDirectives field to ILanguageInformation * Basic refactoring of GetPopupHintText + delete ampersend inserting * Delete other cases of ampersend inserting * Add check that we parsing PascalABC.NET in GetPopupHintText Временное решение, нужно будет вынести вторую попытку в интерфейс парсера. * Refactor CodeCompletionProvider (first iteration) * Extract shift space actions in separate class * Replace dollar service character in CodeCompletion by separate boolean (ctrlSpaceAfterDot)) * Refactor GetCompletionDataByFirst method * Fix GetCompletionDataByFirst behaviour when getting symInfos after uses keyword * Another iteration of refactoring in CodeCompletionProvider + comments * Update intellisense documentation * Fix build error * Fix encoding * Squashed commit of the following: commit7751fe7e75Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Sun Mar 16 13:28:03 2025 +0300 generating language res file at build time (#3252) commitd1fce63d69Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Mar 4 08:38:09 2025 +0300 Сборка после pr SDK commitd491e88aa7Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Mon Mar 3 20:34:51 2025 +0300 migration to new build system (#3241) * converting project files into sdk style * new build commands * adding new dll into nsis * removing unused .cs files commit1fd348ec3cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Feb 23 20:49:26 2025 +0300 NSIS New 3.10 Ярлык в меню Пуск у всех пользователей commit80b7182dc1Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Feb 19 11:50:00 2025 +0300 _ in names commita2b078960bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Feb 19 10:52:25 2025 +0300 cnfc2 commit58f26d469dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Feb 18 22:28:13 2025 +0300 перекомпиляция 3.10.3.3611 commitb78a72977fAuthor: nevermind322 <81963698+nevermind322@users.noreply.github.com> Date: Tue Feb 18 22:02:19 2025 +0300 fix build on mono (#3249) * fix build on mono * remove local func * fix again commitc3557e388cAuthor: Nikolay Kuznetsov <adasoft@gmail.com> Date: Sat Feb 15 20:32:46 2025 +0300 Update GraphABC.pas (#3244) 1. Быстрая реализация функции FloodFill Для этого добавлена процедура BitmapFloodFill, которая вызывается из метода Picture.FloodFill и процедуры FloodFill 2.Добавлена поддержка LockDrawing/UnlockDrawing в процедуру FloodFill commit9dbac389e1Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Wed Feb 12 13:57:14 2025 +0300 Add missing projects to pabcnetc.sln (#3247) commit41dfb6f187Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Feb 7 21:41:01 2025 +0300 [] - преобразование во все контейнеры GraphABCHelper - теперь ABCObjects работает под Линукс School исправлен согласно последним веяниям [] commit79bbbd10ffAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Wed Jan 29 20:18:37 2025 +0300 removing files for support fx4.0 (#3240) commit88d5c409ebAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Tue Jan 28 20:41:55 2025 +0300 Рефакторинг PascalABCNET.xshd (#3237) * refactoring PascalABCNET.xshd * removing extra characters commit8fbd7fdfc3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Jan 26 23:42:48 2025 +0300 3.10.3 faststrings EmptyCollection и преобразование ее в List, Dictionary t: (real,real) := (1,2) commitbba132bd5dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jan 22 09:14:44 2025 +0300 Поправил справку по функции commit1bd21857ccAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jan 8 18:46:51 2025 +0300 Teacher Control Plugin - возможность задать server.dat commit0848a1b796Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 22:54:38 2025 +0300 Исправление автоформатирования [] commitd45b782a7bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 18:45:07 2025 +0300 Rename PABCSistem in test suite commitc2347e604bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 14:44:51 2025 +0300 Примеры - устранил неточности LightPT - имя сервера вынес в публичную секцию commitb68b8da970Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 17 15:52:18 2024 +0300 Примеры Coords1.pas Coords2.pas.pas commit8a9788e6f9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 17 15:06:57 2024 +0300 Перенес проверку set array на уровень парсера Немного поправил Intellisense по наведению для NewSet По точке там что то другое работает commit874ddebad3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 21:00:38 2024 +0300 Поправил грамматику [] Теперь нельзя в режиме ## использовать атрибуты Зато можно [1,2,3].Print commit080fb487e1Merge:a53dcd9eda484b0e82Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 15:25:24 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commita53dcd9ed2Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 15:25:16 2024 +0300 SF Prm Cmb для строк commita484b0e82dAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Dec 12 13:49:17 2024 +0200 fix (#3231) commit6ef11f249cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 11:05:45 2024 +0300 3.10.2 commitdb9679d89fAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 10:59:20 2024 +0300 Закончил превращение синтаксиса [] по умолчанию в массивы commit45fdde24b4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 18:08:00 2024 +0100 #3229 commit494b47624dMerge:5875b99297906d73daAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:42:07 2024 +0100 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit5875b99296Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:41:53 2024 +0100 platformtarget native - .NET 9.0 commit7906d73da3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 3 14:25:37 2024 +0300 Небольшие изменения в реализации операций с множествами commit087591c7b6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 27 11:37:07 2024 +0300 3.10.1 Coords - доработки Distance, Middle, DrawText с фоном и рамкой. Глобальные переменные настройки commitd268d4f83bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Nov 21 22:24:07 2024 +0300 NSToBytes переделал с исключением commit2bacdc8c28Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 13:20:33 2024 +0300 Комментарии к NewSet commite917ac8ecaAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 12:42:15 2024 +0300 TypeName для set commit206289c6a7Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 20:23:03 2024 +0300 Везде заменил _hs на hs в NewSet Убрал вызовы методов расширений NewSet в PABCSystem.pas Убрал var в operator + commitd8262078f6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 13:56:47 2024 +0300 Исправление мелких ошибок NewSet Все тесты проходят. Проблема, которая остаётся - в режиме ускорения такие программы падают: begin var s: set of byte; Print(s = [1]); end. Причина - из dll не вызывается конструктор записи без параметров, хотя он определён. В C# вообще у записей не может быть конструктора по умолчанию - наверное потому. Но для NewSet надо бы сделать исключение commitf8819665baAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 16 10:56:11 2024 +0300 NS2 commit591d9ebe60Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:34:10 2024 +0100 fix commitc6505634f4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:12:33 2024 +0100 fix commita6564df23cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 20:52:29 2024 +0100 fix in new sets commit03be5bd931Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 13 22:13:41 2024 +0300 Переставил operator:= в NewSet commit96c68f1666Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Nov 12 21:38:07 2024 +0100 #3223 commit82776f3c77Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 9 12:18:19 2024 +0300 NewSet - много мелких исправлений. Все тесты проходят кроме Tests 5 - видимо с pabcrtl.dll * Update comments in PascalABCLanguageInformation commitcc7d4472c6Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Thu Apr 10 12:19:31 2025 +0300 Write developer guide for integrating new language (#3264) commit5d842153a5Author: Sun Serega <sunserega2@gmail.com> Date: Thu Apr 10 12:17:52 2025 +0300 Add NSIS binaries to .gitignore exclude (#3265) commitee31ed94b3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Apr 10 12:06:40 2025 +0300 TeacherControlPlugin.cs - шифрованные модули commitba23a01e29Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Apr 9 10:59:16 2025 +0300 Закомментировал неверный обработчик commit3f70700d2bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Apr 7 22:07:13 2025 +0300 nsis новый - папка bin TeacherControlPlugin.cs - добавление обработчика для последующей шифровки Tasks.pas commit0353abf57cAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Mon Apr 7 08:35:22 2025 +0300 fix caching Localization assembly (#3263) commit771ea7b445Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Apr 6 14:32:17 2025 +0200 #3230 commit28a1a03e8dAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Apr 6 11:35:09 2025 +0200 #3251 commitaf7abc770bAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Sun Apr 6 08:33:34 2025 +0300 synchronization of namespaces and folders for TeacherControlPlugin (#3262) commitaae723b982Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Thu Apr 3 12:00:04 2025 +0300 Create default syntax tree converter class (#3216) Для удобства разработчиков простых языков, которым не требуются дополнительные обходы синтаксического дерева. commitf9cc90e50fAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Apr 3 11:59:46 2025 +0300 fix errors (#3260) commitf85bfad60fAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Thu Apr 3 11:58:19 2025 +0300 Intellisense memory leaks fix (#3257) * Fix memory leaks found for PABCSystem.pas Memory leaks of Interface and Implementation Unit Scopes fixed * Change open_files and recomp_files variables type to be Dictionary (not HashTable) * open_files Check simplification * Move TypeTable.Clear call to CodeCompletion Compile method commit7751fe7e75Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Sun Mar 16 13:28:03 2025 +0300 generating language res file at build time (#3252) commitd1fce63d69Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Mar 4 08:38:09 2025 +0300 Сборка после pr SDK commitd491e88aa7Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Mon Mar 3 20:34:51 2025 +0300 migration to new build system (#3241) * converting project files into sdk style * new build commands * adding new dll into nsis * removing unused .cs files commit1fd348ec3cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Feb 23 20:49:26 2025 +0300 NSIS New 3.10 Ярлык в меню Пуск у всех пользователей commit80b7182dc1Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Feb 19 11:50:00 2025 +0300 _ in names commita2b078960bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Feb 19 10:52:25 2025 +0300 cnfc2 commit58f26d469dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Feb 18 22:28:13 2025 +0300 перекомпиляция 3.10.3.3611 commitb78a72977fAuthor: nevermind322 <81963698+nevermind322@users.noreply.github.com> Date: Tue Feb 18 22:02:19 2025 +0300 fix build on mono (#3249) * fix build on mono * remove local func * fix again commitc3557e388cAuthor: Nikolay Kuznetsov <adasoft@gmail.com> Date: Sat Feb 15 20:32:46 2025 +0300 Update GraphABC.pas (#3244) 1. Быстрая реализация функции FloodFill Для этого добавлена процедура BitmapFloodFill, которая вызывается из метода Picture.FloodFill и процедуры FloodFill 2.Добавлена поддержка LockDrawing/UnlockDrawing в процедуру FloodFill commit9dbac389e1Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Wed Feb 12 13:57:14 2025 +0300 Add missing projects to pabcnetc.sln (#3247) commit41dfb6f187Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Feb 7 21:41:01 2025 +0300 [] - преобразование во все контейнеры GraphABCHelper - теперь ABCObjects работает под Линукс School исправлен согласно последним веяниям [] commit79bbbd10ffAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Wed Jan 29 20:18:37 2025 +0300 removing files for support fx4.0 (#3240) commit88d5c409ebAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Tue Jan 28 20:41:55 2025 +0300 Рефакторинг PascalABCNET.xshd (#3237) * refactoring PascalABCNET.xshd * removing extra characters commit8fbd7fdfc3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Jan 26 23:42:48 2025 +0300 3.10.3 faststrings EmptyCollection и преобразование ее в List, Dictionary t: (real,real) := (1,2) commitbba132bd5dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jan 22 09:14:44 2025 +0300 Поправил справку по функции commit1bd21857ccAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jan 8 18:46:51 2025 +0300 Teacher Control Plugin - возможность задать server.dat commit0848a1b796Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 22:54:38 2025 +0300 Исправление автоформатирования [] commitd45b782a7bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 18:45:07 2025 +0300 Rename PABCSistem in test suite commitc2347e604bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 14:44:51 2025 +0300 Примеры - устранил неточности LightPT - имя сервера вынес в публичную секцию commitb68b8da970Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 17 15:52:18 2024 +0300 Примеры Coords1.pas Coords2.pas.pas commit8a9788e6f9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 17 15:06:57 2024 +0300 Перенес проверку set array на уровень парсера Немного поправил Intellisense по наведению для NewSet По точке там что то другое работает commit874ddebad3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 21:00:38 2024 +0300 Поправил грамматику [] Теперь нельзя в режиме ## использовать атрибуты Зато можно [1,2,3].Print commit080fb487e1Merge:a53dcd9eda484b0e82Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 15:25:24 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commita53dcd9ed2Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 15:25:16 2024 +0300 SF Prm Cmb для строк commita484b0e82dAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Dec 12 13:49:17 2024 +0200 fix (#3231) commit6ef11f249cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 11:05:45 2024 +0300 3.10.2 commitdb9679d89fAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 10:59:20 2024 +0300 Закончил превращение синтаксиса [] по умолчанию в массивы commit45fdde24b4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 18:08:00 2024 +0100 #3229 commit494b47624dMerge:5875b99297906d73daAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:42:07 2024 +0100 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit5875b99296Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:41:53 2024 +0100 platformtarget native - .NET 9.0 commit7906d73da3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 3 14:25:37 2024 +0300 Небольшие изменения в реализации операций с множествами commit087591c7b6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 27 11:37:07 2024 +0300 3.10.1 Coords - доработки Distance, Middle, DrawText с фоном и рамкой. Глобальные переменные настройки commitd268d4f83bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Nov 21 22:24:07 2024 +0300 NSToBytes переделал с исключением commit2bacdc8c28Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 13:20:33 2024 +0300 Комментарии к NewSet commite917ac8ecaAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 12:42:15 2024 +0300 TypeName для set commit206289c6a7Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 20:23:03 2024 +0300 Везде заменил _hs на hs в NewSet Убрал вызовы методов расширений NewSet в PABCSystem.pas Убрал var в operator + commitd8262078f6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 13:56:47 2024 +0300 Исправление мелких ошибок NewSet Все тесты проходят. Проблема, которая остаётся - в режиме ускорения такие программы падают: begin var s: set of byte; Print(s = [1]); end. Причина - из dll не вызывается конструктор записи без параметров, хотя он определён. В C# вообще у записей не может быть конструктора по умолчанию - наверное потому. Но для NewSet надо бы сделать исключение commitf8819665baAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 16 10:56:11 2024 +0300 NS2 commit591d9ebe60Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:34:10 2024 +0100 fix commitc6505634f4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:12:33 2024 +0100 fix commita6564df23cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 20:52:29 2024 +0100 fix in new sets commit03be5bd931Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 13 22:13:41 2024 +0300 Переставил operator:= в NewSet commit96c68f1666Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Nov 12 21:38:07 2024 +0100 #3223 commit82776f3c77Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 9 12:18:19 2024 +0300 NewSet - много мелких исправлений. Все тесты проходят кроме Tests 5 - видимо с pabcrtl.dll commitfbd63efa89Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Nov 3 16:59:48 2024 +0300 NewSets Некоторые тесты надо исправить commit746c4ae2c2Author: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 21:00:42 2024 +0100 #3221 commit350d07326dAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 18:35:51 2024 +0100 #3221 commitaae9ab408bAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 18:25:06 2024 +0100 #3221 commit1e4a811e04Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Oct 30 20:42:59 2024 +0100 test for #3219 commitd1a1247ecdAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Oct 30 20:24:16 2024 +0100 #3219 commit13b3071d80Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Oct 28 22:42:17 2024 +0300 закомментировал extensions преобразования arr to set. Надеюсь в новой реализации всё исправить commit6d5c18f457Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Oct 24 10:17:48 2024 +0300 SF XLSX.pas commit0c773a7ecbAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Oct 16 12:04:33 2024 +0300 tree.xml с парой новых узлов для Питона commit53b3fd0881Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Oct 9 14:09:01 2024 +0300 Добавил временное преобразование от array of T в set of T commit271d5792ceAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Tue Oct 8 10:00:14 2024 +0300 Documentation (#3211) * Add Compiler documentation * Add Intellisense documentation * Move documentation folder to root directory commit79f9ab73a0Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Oct 5 15:33:20 2024 +0300 PT4_32 commit0a20c8d32cAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Sep 26 09:02:31 2024 +0200 Add `.DistinctBy` (#3122) commit11981dbf47Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Sep 25 11:53:02 2024 +0300 IndexMinBy, IndexMaxBy MinBy, MaxBy - более эффективная реализация GraphWPF - SaveToClipboard commit3eb1d2bd85Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 17:42:09 2024 +0200 #3197 commit20edd487e3Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 12:39:03 2024 +0200 #3204 commit7261231c9cMerge:7debbe7029ab932977Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 09:49:58 2024 +0200 Merge pull request #3207 from AlexanderZemlyak/fix_linux_version Fix linux version commit9ab9329771Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Sun Sep 22 10:23:18 2024 +0300 Add new projects in PascalACBNETLinux.sln commit7debbe702aAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 21 14:29:38 2024 +0300 Критическое обновление LightPT commit40335b873eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Sep 20 22:58:46 2024 +0300 LightPT - OutputListIsClearedFromSpaces := False; Coords - DrawLine commit078281db17Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Sep 19 22:42:44 2024 +0300 coords suite commit8d51f999a5Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Sep 19 20:28:28 2024 +0300 Автоклассы - разрешение наследования от классов без полей Модуль Coords commit8f7e92d418Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Sep 16 08:25:43 2024 +0300 Turtle переделал на паттерн Команда commita6f6d8a90bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 23:11:54 2024 +0300 Правки рейтинга в TeacherPlugin commit2365eb3633Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 15:54:15 2024 +0300 LinkLabel в TeacherControlPlugin commit1835b811efAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:51:44 2024 +0300 MathNet Signed commitb23d6df9e9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:16:15 2024 +0300 MathNet.Numerics.dll commit790fba67b8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 27 17:56:09 2024 +0300 3.10.0 commit1ec4204fd2Author: Sun Serega <sunserega2@gmail.com> Date: Mon Aug 26 09:20:27 2024 +0300 `.Batch` cleanup (#3108) commitb5e674c311Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:12:14 2024 +0300 3_10_0 commit7face043cfAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:11:08 2024 +0300 ToSet commite456ad528eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 23:13:57 2024 +0300 3.9.0.3530 commit3247469e6dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 22:55:27 2024 +0300 Добавлен DrawPoints в Turtle Исправлена ошибка с отображением подписей в Y-координате commit7548142623Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 14:27:53 2024 +0300 1. Глобально. SetDecimalSeparator(',') SetNumberFormat(DecimalSeparator := ',' и куча других параметров) s.ToReal(nfi) s.ToReals(nfi) StrToReal(nfi) StrToFloat(nfi) FloatToStr(nfi) var nfi := NumberFormat(DecimalSeparator := ',') s.ToReal(DecimalSeparator := ',') s.ToReals(DecimalSeparator := ',') StrToReal(DecimalSeparator := ',') commitd94885b950Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 12:13:09 2024 +0300 randomElement для строк .ToReals - разделителями могут быть пробел табуляция и переход на новую строку NumberFormat - функция, возвращающая nfi commitae2e26acf8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Aug 23 19:33:55 2024 +0300 PT4 - новые dll файлы старых заданий серий A commit0f8aa6fa3cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 17:28:05 2024 +0300 SetOf как основной синоним HSet commitdb4b53be20Merge:86852e0a5b9fd59a84Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:42 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit86852e0a59Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:14 2024 +0300 School - ToBase(number: int64 commitb9fd59a840Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 15:08:44 2024 +0200 #2830 commit4f0b0f8ba0Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 14:43:49 2024 +0200 #3194 commite3ee0fed4cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 13:49:30 2024 +0200 #3097 commitd396c4a9feAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 10:40:23 2024 +0200 #3178 commit0d846d2335Merge:e91e35398a65a86921Author: Ivan Bondarev <ibond84@googlemail.com> Date: Mon Aug 12 15:24:11 2024 +0200 Merge pull request #3170 from samuraiGH/ForeachResolver-rework Foreach resolver rework commita65a869211Author: samuraiGH <anonimajzer3@mail.ru> Date: Mon Aug 12 15:50:42 2024 +0300 increasing pcu file version commite91e353984Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 11 15:21:29 2024 +0300 Обновленный модуль Turtle.pas commitc18238df39Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 20:18:57 2024 +0300 3.9.0.3523 commit1da2b524a6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 19:34:10 2024 +0300 School PrimeDivisors commit47c61d8b14Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:48:07 2024 +0300 New directive to disable linking pascal standard modules (#3186) * Add new 'disable standard units' directive and it's processing * Refactor InitializeNewUnit function * Improve disable standard units directive checks * Add null check in programs.cs to avoid error * Rename error related to disable standard units directive * Add referencing standard net libraries * Add checks for duplicates when injecting references commitfc3ab96caeAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:46:40 2024 +0300 Delete DocumentedUnits option and Exclude HelpBuilder project (#3192) * Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug Достаточно их аналогов из CompilerOptions. * Add recreating CompilerOptions when reloading Compiler * Change Rebuild checkbox logic * Delete documented units fiels from CompilerInternalDebug * Revert "Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug" This reverts commit 25e92b22722b7e251ab0156148fdf28ee3175c27. * Exclude HelpBuilder commit64acde6460Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 18:21:04 2024 +0300 Сделал возможным неявное приведение некоторого типа к array of T (при описании оператора в виде статической функции класса) School - IsPrime(n) commit3db5709101Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 10:56:18 2024 +0300 ZipCartesianFuncs.pas commitc4fd47128bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Jul 30 22:56:03 2024 +0300 Zip, Cartesian - сделаны внешние функции до 5 параметров, в т.ч. с проекцией Zip, Cartesian - методы расширения дополнены чтобы было как во внешних Перегенерирована справка commit7d66f26d4fAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Mon Jul 1 00:16:43 2024 +0300 cleanup and more tests commit464dc794a8Author: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 23:31:28 2024 +0300 cleanup and more comments commit32f126370cAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 21:35:06 2024 +0300 attempt to fix GetEnumerator resolving for Pascal types commitfb3eeeb28bAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 16:26:35 2024 +0300 fix tests commit84b0dfe537Author: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 15:49:13 2024 +0300 fix getting MethodInfo commit5fa4d9fce7Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:45:07 2024 +0300 cold fix set of T resolving commit460ce636abAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:21:06 2024 +0300 hot fix set of T resolving commit83c2f29ac6Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:53:11 2024 +0300 fix method filtering again commitc840a1a47aAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:32:41 2024 +0300 fix type recovery commit2436627fddAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 19:18:32 2024 +0300 fixing method filtering commit15a05360a4Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:25:39 2024 +0300 attempt to fix GetEnumerator resolving for compiled types commit4fd020d084Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:21:00 2024 +0300 adding tests * Fix merge error * Delete extra files * Move Examples to pascalabcnet\PABCNetHelp\Examples\SPython * Update .dll * Move examples to pascalabcnet\CodeExamples\SPython * Revert pipeline visitors architecture for Pascal * Add AssignIntegerDivisionOperation * Revert pipeline visitors architecture for SPython * Add len(str) * Fix inaccuracies * Delete SPython files * Fix case sensitive string comparison in some lambda classes * Small fix in BaseLanguageInformation * Revert changing Create string to constant in Pascal visitors * Resolve some pull request issues * Delete IndentArranger.exe * Delete unused function in DomSyntaxTreeVisitor * Update pabcnetc_clear/CommandConsoleCompiler.cs encoding Co-authored-by: Sun Serega <sunserega2@gmail.com> --------- Co-authored-by: Mikhalkovich Stanislav <miks@math.sfedu.ru> Co-authored-by: Владислав Крылов <krylov@sfedu.ru> Co-authored-by: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Co-authored-by: Sun Serega <sunserega2@gmail.com>
2118 lines
68 KiB
C#
2118 lines
68 KiB
C#
using System;
|
||
using System.Linq;
|
||
using System.Collections.Generic;
|
||
using System.Diagnostics;
|
||
|
||
|
||
// TODO: рефакторинг для многоязычности EVA
|
||
namespace PascalABCCompiler.SyntaxTree
|
||
{
|
||
/// <summary>
|
||
/// Тип обхода дерева
|
||
/// </summary>
|
||
public enum TraversalType
|
||
{
|
||
/// <summary>
|
||
/// Обход в ширину
|
||
/// </summary>
|
||
LevelOrder,
|
||
|
||
/// <summary>
|
||
/// Постфиксный обход
|
||
/// </summary>
|
||
PostOrder,
|
||
|
||
/// <summary>
|
||
/// Префиксный обход
|
||
/// </summary>
|
||
PreOrder
|
||
}
|
||
|
||
public enum Desc
|
||
{
|
||
All,
|
||
DirectDescendants
|
||
}
|
||
|
||
public enum SemanticCheckType
|
||
{
|
||
MatchedExpression,
|
||
MatchedExpressionAndType,
|
||
MatchedExpressionAndExpression,
|
||
MatchedTuple,
|
||
SliceAssignmentTypeCompatibility
|
||
}
|
||
|
||
public partial class syntax_tree_node
|
||
{
|
||
|
||
public syntax_tree_node Parent;
|
||
public int FindIndex(syntax_tree_node node, Desc d = Desc.All)
|
||
{
|
||
int ind = -1;
|
||
|
||
var count = d == Desc.All ? subnodes_count : subnodes_without_list_elements_count;
|
||
|
||
for (var i = 0; i < count; i++)
|
||
if (node == this[i])
|
||
{
|
||
ind = i;
|
||
break;
|
||
}
|
||
if (ind == -1)
|
||
throw new Exception(string.Format("У элемента {0} не найден {1} среди дочерних\n", this, node));
|
||
return ind;
|
||
}
|
||
|
||
/*public void ReplaceDescendant(syntax_tree_node from, syntax_tree_node to, Desc d = Desc.All) // есть риск, что типы не совпадут
|
||
{
|
||
var ind = FindIndex(from,d);
|
||
this[ind] = to;
|
||
}*/
|
||
|
||
// Безопасная версия Replace - не сработает если менять foreach_node на if_node. Плохо
|
||
public void ReplaceDescendant<T, T1>(T from, T1 to, Desc d = Desc.All) where T : syntax_tree_node where T1 : T
|
||
{
|
||
var ind = FindIndex(from, d);
|
||
this[ind] = to;
|
||
to.Parent = from.Parent;
|
||
}
|
||
|
||
public void ReplaceDescendantUnsafe(syntax_tree_node from, syntax_tree_node to, Desc d = Desc.All)
|
||
{
|
||
var ind = FindIndex(from, d);
|
||
this[ind] = to;
|
||
to.Parent = from.Parent;
|
||
}
|
||
|
||
/// <summary>
|
||
/// Находит последнего потомка, удовлетворяющего условию. Возвращает null, если такой не найден.
|
||
/// </summary>
|
||
/// <param name="condition">Условие</param>
|
||
/// <returns>Найденный узел, либо null</returns>
|
||
public syntax_tree_node FindLast(Predicate<syntax_tree_node> condition)
|
||
{
|
||
for (int i = subnodes_count - 1; i >= 0; i--)
|
||
{
|
||
if (condition(this[i]))
|
||
return this[i];
|
||
}
|
||
|
||
return null;
|
||
}
|
||
|
||
/// <summary>
|
||
/// Получает коллекцию предков текущего узла
|
||
/// </summary>
|
||
/// <param name="includeSelf">Включить в список текущий узел</param>
|
||
/// <returns>Коллекция предков узла</returns>
|
||
public IEnumerable<syntax_tree_node> AscendantNodes(bool includeSelf = false)
|
||
{
|
||
if (includeSelf)
|
||
yield return this;
|
||
|
||
var parentNode = Parent;
|
||
while (parentNode != null)
|
||
{
|
||
yield return parentNode;
|
||
parentNode = parentNode.Parent;
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// Получает коллекцию узлов поддерева, в котором корнем является текущий узел.
|
||
/// </summary>
|
||
/// <param name="traversalType">Тип обхода дерева. Определяет порядок добавления узлов в коллекцию</param>
|
||
/// <param name="descendIntoChildren">Опциональная функция, позволяющая указать, нужно ли посещать потомков конкретного узла</param>
|
||
/// <param name="includeSelf">Позволяет включить текущий узел в список</param>
|
||
/// <returns>Коллекция узлов поддерева</returns>
|
||
/// <exception cref="NotImplementedException">Выбрасывается при отсутствии реализации для заданного обхода</exception>
|
||
public IEnumerable<syntax_tree_node> DescendantNodes(
|
||
TraversalType traversalType = TraversalType.PostOrder,
|
||
Func<syntax_tree_node, bool> descendIntoChildren = null,
|
||
bool includeSelf = false)
|
||
{
|
||
switch (traversalType)
|
||
{
|
||
case TraversalType.LevelOrder:
|
||
return DescendantNodesLevelOrder(descendIntoChildren, includeSelf);
|
||
case TraversalType.PostOrder:
|
||
return DescendantNodesPostOrder(descendIntoChildren, includeSelf);
|
||
case TraversalType.PreOrder:
|
||
return DescendantNodesPreOrder(descendIntoChildren, includeSelf);
|
||
default:
|
||
throw new NotImplementedException("Данный вид обхода не поддерживается");
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// Получает список узлов поддерева, в котором корнем является текущий узел.
|
||
/// Порядок добавления в список: родитель, затем потомки.
|
||
/// </summary>
|
||
/// <param name="descendIntoChildren">Опциональная функция, позволяющая указать, нужно ли посещать потомков конкретного узла</param>
|
||
/// <param name="includeSelf">Позволяет включить текущий узел в список</param>
|
||
/// <returns>Список узлов поддерева</returns>
|
||
private IEnumerable<syntax_tree_node> DescendantNodesPreOrder(Func<syntax_tree_node, bool> descendIntoChildren, bool includeSelf)
|
||
{
|
||
var stack = new Stack<syntax_tree_node>();
|
||
|
||
if (includeSelf)
|
||
stack.Push(this);
|
||
else
|
||
for (int childIndex = subnodes_count - 1; childIndex >= 0; childIndex--)
|
||
if (this[childIndex] != null)
|
||
stack.Push(this[childIndex]);
|
||
|
||
while (stack.Count > 0)
|
||
{
|
||
syntax_tree_node node = stack.Pop();
|
||
|
||
if (descendIntoChildren == null || descendIntoChildren(node))
|
||
for (int childIndex = node.subnodes_count - 1; childIndex >= 0; childIndex--)
|
||
{
|
||
var child = node[childIndex];
|
||
|
||
if (child == null)
|
||
continue;
|
||
|
||
stack.Push(child);
|
||
}
|
||
|
||
yield return node;
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// Получает список узлов поддерева, в котором корнем является текущий узел.
|
||
/// Порядок добавления в список: потомки, затем родитель.
|
||
/// </summary>
|
||
/// <param name="descendIntoChildren">Опциональная функция, позволяющая указать, нужно ли посещать потомков конкретного узла</param>
|
||
/// <param name="includeSelf">Позволяет включить текущий узел в список</param>
|
||
/// <returns>Список узлов поддерева</returns>
|
||
private IEnumerable<syntax_tree_node> DescendantNodesPostOrder(Func<syntax_tree_node, bool> descendIntoChildren, bool includeSelf)
|
||
{
|
||
var stack = new Stack<syntax_tree_node>();
|
||
|
||
if (includeSelf)
|
||
stack.Push(this);
|
||
else
|
||
for (int childIndex = subnodes_count - 1; childIndex >= 0; childIndex--)
|
||
if (this[childIndex] != null)
|
||
stack.Push(this[childIndex]);
|
||
|
||
syntax_tree_node lastReturnedNode = null;
|
||
while (stack.Count > 0)
|
||
{
|
||
syntax_tree_node node = stack.Peek();
|
||
bool isLeafNode = true;
|
||
|
||
// Если мы не должны посещать потомков узла или уже добавили их в список,
|
||
// то не кладем их на стек
|
||
if (!ReferenceEquals(lastReturnedNode, node.FindLast(x => x != null)))
|
||
if (descendIntoChildren == null ||
|
||
descendIntoChildren(node))
|
||
for (int childIndex = node.subnodes_count - 1; childIndex >= 0; childIndex--)
|
||
{
|
||
var child = node[childIndex];
|
||
|
||
if (child == null)
|
||
continue;
|
||
|
||
stack.Push(child);
|
||
isLeafNode = false;
|
||
}
|
||
|
||
if (isLeafNode)
|
||
{
|
||
stack.Pop();
|
||
lastReturnedNode = node;
|
||
yield return node;
|
||
}
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// Получает список узлов поддерева, в котором корнем является текущий узел.
|
||
/// Порядок добавления в список: узлы первого уровня, затем второго и т.д.
|
||
/// </summary>
|
||
/// <param name="descendIntoChildren">Опциональная функция, позволяющая указать, нужно ли посещать потомков конкретного узла</param>
|
||
/// <param name="includeSelf">Позволяет включить текущий узел в список</param>
|
||
/// <returns>Список узлов поддерева</returns>
|
||
private IEnumerable<syntax_tree_node> DescendantNodesLevelOrder(Func<syntax_tree_node, bool> descendIntoChildren, bool includeSelf)
|
||
{
|
||
var queue = new Queue<syntax_tree_node>();
|
||
|
||
if (includeSelf)
|
||
queue.Enqueue(this);
|
||
else
|
||
for (int childIndex = 0; childIndex < subnodes_count; childIndex++)
|
||
if (this[childIndex] != null)
|
||
queue.Enqueue(this[childIndex]);
|
||
|
||
while (queue.Count > 0)
|
||
{
|
||
syntax_tree_node node = queue.Dequeue();
|
||
|
||
if (descendIntoChildren == null || descendIntoChildren(node))
|
||
for (int childIndex = 0; childIndex < node.subnodes_count; childIndex++)
|
||
{
|
||
var child = node[childIndex];
|
||
|
||
if (child == null)
|
||
continue;
|
||
|
||
queue.Enqueue(child);
|
||
}
|
||
|
||
yield return node;
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
|
||
//------------------------------
|
||
public class SyntaxList<T> where T : syntax_tree_node // операции для работы с вложенными списками синтаксических узлов. Класс пока не используется
|
||
{
|
||
public List<T> list;
|
||
public SyntaxList(List<T> l)
|
||
{
|
||
list = l;
|
||
}
|
||
public void AddMany(params T[] tt)
|
||
{
|
||
list.AddRange(tt);
|
||
}
|
||
public bool Remove(T t)
|
||
{
|
||
return list.Remove(t);
|
||
}
|
||
public void InsertAfter(T st, T newst)
|
||
{
|
||
var ind = list.FindIndex(x => x == st);
|
||
if (ind == -1)
|
||
throw new Exception(string.Format("У {0} не найден {1} среди дочерних\n", this, st));
|
||
list.Insert(ind + 1, newst);
|
||
}
|
||
public void InsertBefore(T st, T newst)
|
||
{
|
||
var ind = list.FindIndex(x => x == st);
|
||
if (ind == -1)
|
||
throw new Exception(string.Format("У {0} не найден {1} среди дочерних\n", this, st));
|
||
list.Insert(ind, newst);
|
||
}
|
||
public void AddFirst(T st)
|
||
{
|
||
list.Insert(0, st);
|
||
}
|
||
}
|
||
//------------------------------
|
||
|
||
public partial class statement_list
|
||
{
|
||
/// <summary>
|
||
/// IsInternal - statement_list получен на этапе семантики синтаксическим сахаром из одного оператора.
|
||
/// На первом проходе с лямбдами один оператор заменяется на такой Internal statement list
|
||
/// На втором и третьем проходе с лямбдами он обходится как один оператор
|
||
/// </summary>
|
||
public bool IsInternal = false;
|
||
public statement_list(IEnumerable<statement> sts)
|
||
{
|
||
AddMany(sts);
|
||
}
|
||
|
||
public statement_list(params statement[] sts)
|
||
{
|
||
AddMany(sts);
|
||
}
|
||
|
||
|
||
//-- List members begin
|
||
public List<statement> list
|
||
{
|
||
get { return subnodes; }
|
||
}
|
||
|
||
public void AddMany(IEnumerable<statement> els)
|
||
{
|
||
list.AddRange(els);
|
||
foreach (var elem in els)
|
||
if (elem != null)
|
||
elem.Parent = this;
|
||
}
|
||
|
||
public static statement_list Empty
|
||
{
|
||
get { return new statement_list(); }
|
||
}
|
||
|
||
public override string ToString()
|
||
{
|
||
return "begin " + list.Select(st => st is empty_statement ? "" : st.ToString() + "; ").Aggregate((s, x) => s + x) + "end";
|
||
}
|
||
//-- List members end
|
||
}
|
||
|
||
public partial class ident : addressed_value_funcname
|
||
{
|
||
public override string ToString()
|
||
{
|
||
return name;
|
||
}
|
||
public static implicit operator ident(string s)
|
||
{
|
||
return new ident(s);
|
||
}
|
||
}
|
||
|
||
public partial class assign
|
||
{
|
||
public assign(addressed_value left, expression ex, SourceContext sc = null) : this(left, ex, Operators.Assignment, sc)
|
||
{ }
|
||
public assign(string name, expression ex, SourceContext sc = null) : this(new ident(name), ex, sc)
|
||
{ }
|
||
public assign(string name, string id) : this(new ident(name), new ident(id))
|
||
{ }
|
||
public assign(string name, int value) : this(new ident(name), new int32_const(value))
|
||
{ }
|
||
public assign(string name, double value) : this(new ident(name), new double_const(value))
|
||
{ }
|
||
public assign(string name, char value) : this(new ident(name), new char_const(value))
|
||
{ }
|
||
public assign(string name, bool value) : this(new ident(name), new bool_const(value))
|
||
{ }
|
||
public override string ToString()
|
||
{
|
||
return string.Format("{0} {1} {2}", to, OperatorServices.ToString(operator_type, StringConstants.pascalLanguageName), from);
|
||
}
|
||
public bool first_assignment_defines_type = false;
|
||
}
|
||
|
||
public partial class bin_expr
|
||
{
|
||
public static bin_expr Greater(expression left, expression right)
|
||
{
|
||
return new bin_expr(left, right, Operators.Greater);
|
||
}
|
||
public static bin_expr GreaterEqual(expression left, expression right)
|
||
{
|
||
return new bin_expr(left, right, Operators.GreaterEqual);
|
||
}
|
||
public static bin_expr Less(expression left, expression right)
|
||
{
|
||
return new bin_expr(left, right, Operators.Less);
|
||
}
|
||
public static bin_expr LessEqual(expression left, expression right)
|
||
{
|
||
return new bin_expr(left, right, Operators.LessEqual);
|
||
}
|
||
|
||
public static bin_expr LogicalAnd(expression left, expression right)
|
||
{
|
||
return new bin_expr(left, right, Operators.LogicalAND);
|
||
}
|
||
|
||
public static bin_expr LogicalOr(expression left, expression right)
|
||
{
|
||
return new bin_expr(left, right, Operators.LogicalOR);
|
||
}
|
||
|
||
public override string ToString()
|
||
{
|
||
return string.Format("{0} {2} {1}", left, right, OperatorServices.ToString(operation_type, StringConstants.pascalLanguageName));
|
||
}
|
||
}
|
||
|
||
public partial class un_expr
|
||
{
|
||
public static un_expr Not(expression ex)
|
||
{
|
||
return new un_expr(ex, Operators.LogicalNOT);
|
||
}
|
||
public override string ToString()
|
||
{
|
||
return string.Format("{0} {1}", OperatorServices.ToString(operation_type, StringConstants.pascalLanguageName), this.subnode);
|
||
}
|
||
}
|
||
|
||
public partial class bool_const
|
||
{
|
||
public override string ToString()
|
||
{
|
||
if (val)
|
||
return "True";
|
||
else return "False";
|
||
}
|
||
}
|
||
|
||
public partial class int32_const
|
||
{
|
||
public override string ToString()
|
||
{
|
||
return val.ToString();
|
||
}
|
||
}
|
||
|
||
public partial class double_const
|
||
{
|
||
public override string ToString()
|
||
{
|
||
return val.ToString(System.Globalization.CultureInfo.InvariantCulture);
|
||
}
|
||
}
|
||
|
||
public partial class roof_dereference
|
||
{
|
||
public override string ToString()
|
||
{
|
||
return base.ToString() + "^";
|
||
}
|
||
}
|
||
|
||
public partial class named_type_reference
|
||
{
|
||
public named_type_reference(string name)
|
||
{
|
||
this.names = name.Split('.').Select(s => new ident(s)).ToList();
|
||
}
|
||
|
||
public override string ToString()
|
||
{
|
||
var sb = new System.Text.StringBuilder();
|
||
sb.Append(names[0].ToString());
|
||
for (int i = 1; i < names.Count; i++)
|
||
sb.Append("." + names[i].ToString());
|
||
return sb.ToString();
|
||
}
|
||
|
||
public ident FirstIdent
|
||
{
|
||
get { return names[0]; }
|
||
}
|
||
|
||
public static named_type_reference Boolean => new named_type_reference("boolean");
|
||
}
|
||
|
||
public partial class template_type_reference
|
||
{
|
||
public template_type_reference(string name, template_param_list params_list) : this(new named_type_reference(name), params_list)
|
||
{ }
|
||
public override string ToString()
|
||
{
|
||
var sb = new System.Text.StringBuilder();
|
||
sb.Append(this.name.ToString());
|
||
sb.Append("<");
|
||
sb.Append(params_list.params_list[0].ToString());
|
||
for (int i = 1; i < params_list.params_list.Count; i++)
|
||
sb.Append("," + params_list.params_list[i].ToString());
|
||
sb.Append(">");
|
||
return sb.ToString();
|
||
}
|
||
}
|
||
|
||
|
||
public partial class variable_definitions
|
||
{
|
||
//-- List members begin
|
||
public List<var_def_statement> list
|
||
{
|
||
get { return var_definitions; }
|
||
}
|
||
|
||
//-- List members end
|
||
}
|
||
|
||
public partial class ident_list
|
||
{
|
||
public ident_list(params ident[] idents)
|
||
{
|
||
this.idents = idents.ToList();
|
||
}
|
||
|
||
public override string ToString()
|
||
{
|
||
if (idents.Count == 0)
|
||
return "";
|
||
|
||
var sb = new System.Text.StringBuilder();
|
||
sb.Append(idents[0].ToString());
|
||
for (int i = 1; i < idents.Count; i++)
|
||
sb.Append("," + idents[i].ToString());
|
||
return sb.ToString();
|
||
}
|
||
//-- List members begin
|
||
public List<ident> list
|
||
{
|
||
get { return idents; }
|
||
}
|
||
|
||
//-- List members end
|
||
}
|
||
|
||
public partial class var_def_statement
|
||
{
|
||
public var_def_statement(ident_list vars, type_definition vars_type, SourceContext sc = null) : this(vars, vars_type, null, definition_attribute.None, false, sc)
|
||
{ }
|
||
|
||
public var_def_statement(ident_list vars, type_definition vars_type, expression iv, SourceContext sc = null) : this(vars, vars_type, iv, definition_attribute.None, false, sc)
|
||
{ }
|
||
|
||
public var_def_statement(ident id, type_definition type, SourceContext sc = null) : this(new ident_list(id), type, sc)
|
||
{ }
|
||
|
||
public var_def_statement(ident id, type_definition type, expression iv, SourceContext sc = null) : this(new ident_list(id), type, iv, sc)
|
||
{ }
|
||
|
||
public var_def_statement(ident id, expression iv, SourceContext sc = null) : this(new ident_list(id), null, iv, sc)
|
||
{ }
|
||
|
||
public var_def_statement(ident id, string type) : this(new ident_list(id), new named_type_reference(type))
|
||
{ }
|
||
|
||
public override string ToString()
|
||
{
|
||
var sb = new System.Text.StringBuilder();
|
||
sb.Append(vars.ToString());
|
||
if (vars_type != null)
|
||
{
|
||
sb.Append(": ");
|
||
sb.Append(vars_type.ToString());
|
||
}
|
||
if (inital_value != null)
|
||
{
|
||
sb.Append(" := ");
|
||
sb.Append(inital_value.ToString());
|
||
}
|
||
//sb.Append("; ");
|
||
return sb.ToString();
|
||
}
|
||
}
|
||
|
||
public partial class var_tuple_def_statement
|
||
{
|
||
public var_tuple_def_statement(ident_list vars, expression iv, SourceContext sc = null) : this(vars, null, iv, definition_attribute.None, false, sc)
|
||
{ }
|
||
}
|
||
|
||
public partial class declarations
|
||
{
|
||
|
||
//-- List members begin
|
||
public List<declaration> list
|
||
{
|
||
get { return defs; }
|
||
}
|
||
|
||
public static statement_list Empty
|
||
{
|
||
get { return new statement_list(); }
|
||
}
|
||
//-- List members end
|
||
}
|
||
|
||
public partial class program_tree
|
||
{
|
||
|
||
}
|
||
|
||
public partial class program_name
|
||
{
|
||
public override string ToString()
|
||
{
|
||
return prog_name.ToString();
|
||
}
|
||
}
|
||
|
||
public partial class string_const
|
||
{
|
||
public override string ToString()
|
||
{
|
||
return "'" + Value + "'";
|
||
}
|
||
public bool IsInterpolated = false;
|
||
public bool IsMultiline = false;
|
||
}
|
||
|
||
public partial class expression_list
|
||
{
|
||
public static expression_list Empty
|
||
{
|
||
get { return new expression_list(); }
|
||
}
|
||
public override string ToString()
|
||
{
|
||
if (expressions.Count == 0)
|
||
return "";
|
||
var sb = new System.Text.StringBuilder();
|
||
sb.Append(expressions[0].ToString());
|
||
for (int i = 1; i < expressions.Count; i++)
|
||
{
|
||
sb.Append(",");
|
||
sb.Append(expressions[i].ToString());
|
||
}
|
||
return sb.ToString();
|
||
}
|
||
}
|
||
|
||
public partial class dereference
|
||
{
|
||
public override string ToString()
|
||
{
|
||
return dereferencing_value.ToString();
|
||
}
|
||
}
|
||
|
||
public partial class indexer
|
||
{
|
||
public indexer(addressed_value av, expression ex, SourceContext sc = null)
|
||
{
|
||
this.dereferencing_value = av;
|
||
this.indexes = new expression_list(ex);
|
||
this.source_context = sc;
|
||
}
|
||
|
||
|
||
public override string ToString()
|
||
{
|
||
return base.ToString() + "[" + indexes.ToString() + "]";
|
||
}
|
||
}
|
||
|
||
public partial class indexers_types
|
||
{
|
||
|
||
}
|
||
|
||
public partial class label_definitions
|
||
{
|
||
public label_definitions(params ident[] ids) : this(new ident_list(ids))
|
||
{
|
||
}
|
||
public override string ToString()
|
||
{
|
||
return "label " + labels.ToString() + ";";
|
||
}
|
||
}
|
||
|
||
public partial class procedure_attribute
|
||
{
|
||
public override string ToString()
|
||
{
|
||
return attribute_type.ToString();
|
||
}
|
||
}
|
||
|
||
public partial class typed_parameters
|
||
{
|
||
public typed_parameters(ident_list idents, type_definition type, SourceContext sc = null) : this(idents, type, parametr_kind.none, null)
|
||
{
|
||
this.source_context = sc;
|
||
}
|
||
public typed_parameters(ident id, type_definition type, SourceContext sc = null) : this(new ident_list(id), type)
|
||
{
|
||
this.source_context = sc;
|
||
}
|
||
public override string ToString()
|
||
{
|
||
var s = this.idents.ToString() + ": " + this.vars_type.ToString();
|
||
if (this.inital_value != null)
|
||
s += " := " + this.inital_value.ToString();
|
||
return s;
|
||
}
|
||
}
|
||
|
||
public partial class formal_parameters
|
||
{
|
||
public override string ToString()
|
||
{
|
||
return string.Join(",", params_list.Select(p => p.ToString()));
|
||
}
|
||
public static formal_parameters Empty
|
||
{
|
||
get { return new formal_parameters(); }
|
||
}
|
||
}
|
||
///
|
||
public partial class procedure_attributes_list
|
||
{
|
||
public procedure_attributes_list(proc_attribute attr, SourceContext sc = null) : this(new procedure_attribute(attr), sc)
|
||
{ }
|
||
}
|
||
|
||
public partial class procedure_header
|
||
{
|
||
// frninja 20/05/16 - для методов хелперов yield
|
||
public bool is_yield_helper = false;
|
||
// end frninja
|
||
public bool IsAsync { get; set; } = false;
|
||
|
||
public procedure_header(formal_parameters _parameters, procedure_attributes_list _proc_attributes, method_name _name, where_definition_list _where_defs, SourceContext sc)
|
||
{
|
||
this._parameters = _parameters;
|
||
this._proc_attributes = _proc_attributes;
|
||
this._name = _name;
|
||
this._of_object = false;
|
||
this._class_keyword = false;
|
||
this._template_args = null;
|
||
this._where_defs = _where_defs;
|
||
source_context = sc;
|
||
if (name != null)
|
||
if (name.meth_name is template_type_name)
|
||
{
|
||
var t = name.meth_name as template_type_name;
|
||
template_args = t.template_args;
|
||
if (name.meth_name is template_operator_name)
|
||
{
|
||
name.meth_name = new operator_name_ident((name.meth_name as template_operator_name).opname.operator_type, name.meth_name.source_context);
|
||
}
|
||
else
|
||
name.meth_name = new ident(name.meth_name.name, name.meth_name.source_context);
|
||
}
|
||
}
|
||
|
||
//for sugar
|
||
public procedure_header(string name, formal_parameters fp, procedure_attributes_list pal) : this(fp, pal, new method_name(name), null, null)
|
||
{ }
|
||
|
||
public procedure_header(string name, formal_parameters fp) : this(name, fp, new procedure_attributes_list())
|
||
{ }
|
||
|
||
public procedure_header(string name) : this(name, new formal_parameters())
|
||
{ }
|
||
|
||
public override string ToString()
|
||
{
|
||
var sb = new System.Text.StringBuilder();
|
||
sb.Append("procedure ");
|
||
if (name != null)
|
||
sb.Append(name.ToString());
|
||
else
|
||
sb.Append("");
|
||
|
||
if (template_args != null)
|
||
sb.Append("<" + template_args.ToString() + ">");
|
||
|
||
if (parameters != null)
|
||
sb.Append("(" + parameters.ToString() + ")");
|
||
if (name != null)
|
||
sb.Append(";");
|
||
if (this.proc_attributes != null)
|
||
foreach (var pa in this.proc_attributes.proc_attributes)
|
||
sb.Append(" " + pa.ToString() + " ");
|
||
return sb.ToString();
|
||
}
|
||
|
||
public bool is_extension()
|
||
{
|
||
if (proc_attributes?.proc_attributes != null)
|
||
return proc_attributes.proc_attributes.FindIndex(attr => attr.attribute_type == proc_attribute.attr_extension) >= 0;
|
||
else return false;
|
||
}
|
||
}
|
||
|
||
public partial class function_header
|
||
{
|
||
public function_header(formal_parameters _parameters, procedure_attributes_list _proc_attributes, method_name _name, where_definition_list _where_defs, type_definition _return_type, SourceContext sc)
|
||
: base(_parameters, _proc_attributes, _name, _where_defs, sc)
|
||
{
|
||
this._return_type = _return_type;
|
||
}
|
||
|
||
//for sugar
|
||
public function_header(string name, type_definition returntype, formal_parameters fp) : this(fp, new procedure_attributes_list(), new method_name(name), null, returntype, null)
|
||
{ }
|
||
|
||
public function_header(string name, type_definition returntype) : this(new formal_parameters(), new procedure_attributes_list(), new method_name(name), null, returntype, null)
|
||
{ }
|
||
|
||
public function_header(string name, string returntype, formal_parameters fp, procedure_attributes_list pal) : this(fp, pal, new method_name(name), null, new named_type_reference(returntype), null)
|
||
{ }
|
||
|
||
public function_header(string name, string returntype, formal_parameters fp) : this(fp, new procedure_attributes_list(), new method_name(name), null, new named_type_reference(returntype), null)
|
||
{ }
|
||
|
||
public function_header(string name, string returntype) : this(new formal_parameters(), new procedure_attributes_list(), new method_name(name), null, new named_type_reference(returntype), null)
|
||
{ }
|
||
|
||
public override string ToString()
|
||
{
|
||
var sb = new System.Text.StringBuilder();
|
||
sb.Append(base.ToString());
|
||
sb.Remove(0, 9);
|
||
sb.Remove(sb.Length - 1, 1);
|
||
sb.Insert(0, "function");
|
||
if (return_type != null)
|
||
sb.Append(": " + return_type.ToString() + ";");
|
||
return sb.ToString();
|
||
}
|
||
}
|
||
|
||
public partial class procedure_definition
|
||
{
|
||
public bool has_yield = false;
|
||
public procedure_definition(procedure_header proc_header, proc_block proc_body, SourceContext sc)
|
||
{
|
||
this.proc_header = proc_header;
|
||
this.proc_body = proc_body;
|
||
source_context = sc;
|
||
is_short_definition = false;
|
||
FillParentsInDirectChilds();
|
||
}
|
||
public procedure_definition(procedure_header proc_header, proc_block proc_body)
|
||
{
|
||
this.proc_header = proc_header;
|
||
this.proc_body = proc_body;
|
||
source_context = null;
|
||
is_short_definition = false;
|
||
FillParentsInDirectChilds();
|
||
}
|
||
|
||
public static procedure_definition EmptyDefaultConstructor
|
||
{
|
||
get { return new procedure_definition(new constructor(null), block.Empty, null); }
|
||
}
|
||
|
||
public procedure_definition(string name, formal_parameters fp, declarations defs, statement_list code) : this(new procedure_header(name, fp), new block(defs, code))
|
||
{ }
|
||
|
||
public procedure_definition(string name, formal_parameters fp, statement_list code) : this(new procedure_header(name, fp), new block(null, code))
|
||
{ }
|
||
|
||
public procedure_definition(string name, formal_parameters fp, statement st) : this(new procedure_header(name, fp), new block(null, new statement_list(st)))
|
||
{ }
|
||
|
||
public procedure_definition(string name, declarations defs, statement_list code) : this(new procedure_header(name), new block(defs, code))
|
||
{ }
|
||
|
||
public procedure_definition(string name, statement_list code, proc_block b) : this(new procedure_header(name), b)
|
||
{ }
|
||
|
||
public procedure_definition(string name, statement_list code) : this(new procedure_header(name), new block(null, code))
|
||
{ }
|
||
|
||
public procedure_definition(procedure_header proc_header, statement_list code) : this(proc_header, new block(null, code))
|
||
{ }
|
||
|
||
public procedure_definition(string name) : this(new procedure_header(name), new block(null, statement_list.Empty))
|
||
{ }
|
||
|
||
public procedure_definition(string name, statement st) : this(new procedure_header(name), new block(null, new statement_list(st)))
|
||
{ }
|
||
|
||
public procedure_definition(procedure_header proc_header, statement st) : this(proc_header, new block(null, new statement_list(st)))
|
||
{ }
|
||
|
||
public procedure_definition(string name, string rettype, formal_parameters fp, declarations defs, statement_list code) : this(new function_header(name, rettype, fp), new block(defs, code))
|
||
{ }
|
||
|
||
public procedure_definition(string name, string rettype, formal_parameters fp, statement_list code) : this(new function_header(name, rettype, fp), new block(null, code))
|
||
{ }
|
||
|
||
public procedure_definition(string name, string rettype, formal_parameters fp, statement st) : this(new function_header(name, rettype, fp), new block(null, new statement_list(st)))
|
||
{ }
|
||
|
||
public procedure_definition(string name, string rettype, declarations defs, statement_list code) : this(new function_header(name, rettype), new block(defs, code))
|
||
{ }
|
||
|
||
public procedure_definition(string name, string rettype, proc_block b) : this(new function_header(name, rettype), b)
|
||
{ }
|
||
|
||
public procedure_definition(string name, string rettype, statement_list code) : this(new function_header(name, rettype), new block(null, code))
|
||
{ }
|
||
|
||
public procedure_definition(string name, string rettype, statement st) : this(new function_header(name, rettype), new block(null, new statement_list(st)))
|
||
{ }
|
||
|
||
public void AssignAttrList(attribute_list al)
|
||
{
|
||
if (proc_header != null)
|
||
proc_header.attributes = al;
|
||
}
|
||
}
|
||
|
||
public partial class type_declarations
|
||
{
|
||
|
||
}
|
||
|
||
public partial class consts_definitions_list
|
||
{
|
||
|
||
}
|
||
|
||
public partial class unit_or_namespace
|
||
{
|
||
public unit_or_namespace(string name, SourceContext sc = null)
|
||
{
|
||
this.name = new ident_list(name, sc);
|
||
}
|
||
// имя модуля в случае обычного uses
|
||
// или путь к модулю в случае uses-in
|
||
public virtual string UsesPath() => name.idents[0].name;
|
||
}
|
||
|
||
public partial class uses_list
|
||
{
|
||
public uses_list(string name, SourceContext sc = null)
|
||
{
|
||
Add(new unit_or_namespace(name), sc);
|
||
}
|
||
|
||
public uses_list AddUsesList(uses_list ul, SourceContext sc = null)
|
||
{
|
||
foreach (var un in ul.units)
|
||
units.Add(un);
|
||
if (sc != null)
|
||
source_context = sc;
|
||
return this;
|
||
}
|
||
}
|
||
|
||
public partial class unit_module
|
||
{
|
||
public unit_module(string _Language, unit_name _unit_name, interface_node _interface_part, implementation_node _implementation_part, statement_list _initialization_part, statement_list _finalization_part, SourceContext sc)
|
||
{
|
||
this._Language = _Language;
|
||
this._unit_name = _unit_name;
|
||
this._interface_part = _interface_part;
|
||
this._implementation_part = _implementation_part;
|
||
this._initialization_part = _initialization_part;
|
||
this._finalization_part = _finalization_part;
|
||
source_context = sc;
|
||
}
|
||
}
|
||
|
||
/*public partial class program_module
|
||
{
|
||
public static program_module create(ident id, uses_list _used_units, block _program_block, using_list _using_namespaces, SourceContext sc = null)
|
||
{
|
||
var r = new program_module(new program_name(id), _used_units, _program_block, _using_namespaces, sc);
|
||
r.Language = LanguageId.CommonLanguage;
|
||
return r;
|
||
}
|
||
public static program_module create(ident id, uses_list _used_units, block _program_block)
|
||
{
|
||
var r = new program_module(new program_name(id), _used_units, _program_block, null);
|
||
r.Language = LanguageId.CommonLanguage;
|
||
return r;
|
||
}
|
||
public static program_module create(ident id, uses_list _used_units, block _program_block, SourceContext sc = null)
|
||
{
|
||
var r = new program_module(new program_name(id), _used_units, _program_block, null, sc);
|
||
r.Language = LanguageId.CommonLanguage;
|
||
return r;
|
||
}
|
||
}*/
|
||
|
||
public partial class method_name
|
||
{
|
||
public method_name(string name, SourceContext sc = null) : this(null, null, new ident(name), null, sc)
|
||
{
|
||
}
|
||
public override string ToString()
|
||
{
|
||
return meth_name.ToString();
|
||
}
|
||
}
|
||
|
||
public partial class dot_node
|
||
{
|
||
public dot_node(ident left, ident right, SourceContext sc = null)
|
||
{
|
||
this.left = left;
|
||
this.right = right;
|
||
this.source_context = sc;
|
||
}
|
||
public override string ToString()
|
||
{
|
||
return left.ToString() + "." + right.ToString();
|
||
}
|
||
}
|
||
|
||
public partial class goto_statement
|
||
{
|
||
static int lbnum = 0;
|
||
|
||
static public string newLabelName()
|
||
{
|
||
lbnum++;
|
||
return "lb#" + lbnum.ToString();
|
||
}
|
||
|
||
public override string ToString()
|
||
{
|
||
return "goto " + label;
|
||
}
|
||
|
||
public static goto_statement New
|
||
{
|
||
get { return new goto_statement(newLabelName()); }
|
||
}
|
||
}
|
||
|
||
public partial class dot_node
|
||
{
|
||
public static dot_node NewP(addressed_value avl, addressed_value avr, SourceContext sc)
|
||
{
|
||
var dn = new dot_node(avl, avr, sc);
|
||
if (avl != null) avl.Parent = dn;
|
||
if (avr != null) avr.Parent = dn;
|
||
return dn;
|
||
}
|
||
}
|
||
|
||
|
||
public partial class method_call
|
||
{
|
||
public static method_call NewP(addressed_value av, expression_list el, SourceContext sc)
|
||
{
|
||
var mc = new method_call(av, el, sc);
|
||
if (av != null) av.Parent = mc;
|
||
if (el != null) el.Parent = mc;
|
||
return mc;
|
||
}
|
||
|
||
/// <summary>
|
||
/// Простое имя метода. Возвращает null, если не удалось такое получить.
|
||
/// </summary>
|
||
public string SimpleName
|
||
{
|
||
get
|
||
{
|
||
var dv = dereferencing_value as ident;
|
||
if (dv == null)
|
||
return null;
|
||
else return dv.name;
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// Количество параметров метода
|
||
/// </summary>
|
||
public int ParametersCount
|
||
{
|
||
get
|
||
{
|
||
if (parameters != null)
|
||
return parameters.subnodes_count;
|
||
else
|
||
return 0;
|
||
}
|
||
}
|
||
|
||
public override string ToString()
|
||
{
|
||
string s = dereferencing_value.ToString();
|
||
if (parameters != null)
|
||
s += "(" + parameters.ToString() + ")";
|
||
else s += "()";
|
||
return s;
|
||
}
|
||
}
|
||
|
||
public partial class pascal_set_constant
|
||
{
|
||
//Добавляет во множество элемент
|
||
public void Add(expression value)
|
||
{
|
||
values.Add(value);
|
||
}
|
||
}
|
||
|
||
public partial class property_accessors
|
||
{
|
||
public property_accessors(ident read_accessor, ident write_accessor, SourceContext sc = null)
|
||
: this(new read_accessor_name(read_accessor, null, null), new write_accessor_name(write_accessor, null, null), sc)
|
||
{ }
|
||
}
|
||
|
||
public partial class simple_property
|
||
{
|
||
public simple_property(property_ident name, type_definition type, property_accessors accessors, SourceContext sc = null)
|
||
: this(name, type, null, accessors, null, null, definition_attribute.None, proc_attribute.attr_none, false, null, sc)
|
||
{ }
|
||
}
|
||
|
||
public partial class class_members
|
||
{
|
||
public static class_members Public
|
||
{
|
||
get { return new class_members(access_modifer.public_modifer); }
|
||
}
|
||
public static class_members Private
|
||
{
|
||
get { return new class_members(access_modifer.private_modifer); }
|
||
}
|
||
|
||
public class_members(access_modifer access)
|
||
{
|
||
access_mod = new access_modifer_node(access);
|
||
}
|
||
|
||
public class_members Add(params declaration[] decls)
|
||
{
|
||
foreach (var d in decls)
|
||
members.Add(d);
|
||
return this;
|
||
}
|
||
}
|
||
|
||
public partial class class_body_list
|
||
{
|
||
|
||
}
|
||
|
||
public partial class class_definition
|
||
{
|
||
public class_definition(named_type_reference_list parents, class_body_list body, SourceContext sc = null) : this(parents, body, class_keyword.Class, null, null, class_attribute.None, false, sc)
|
||
{ is_auto = false; }
|
||
public class_definition(class_body_list body, SourceContext sc = null) : this(null, body, sc)
|
||
{ is_auto = false; }
|
||
|
||
public bool IsAutoClass()
|
||
{
|
||
return (attribute & class_attribute.Auto) == class_attribute.Auto;
|
||
}
|
||
|
||
}
|
||
|
||
public partial class record_const
|
||
{
|
||
|
||
}
|
||
|
||
public partial class literal_const_line
|
||
{
|
||
|
||
}
|
||
|
||
public partial class variant_list
|
||
{
|
||
|
||
}
|
||
|
||
public partial class variant_types
|
||
{
|
||
|
||
}
|
||
|
||
public partial class procedure_call
|
||
{
|
||
public procedure_call(addressed_value _func_name, SourceContext sc = null) : this(_func_name, false, sc) { }
|
||
|
||
public procedure_call(ident name)
|
||
{
|
||
this._func_name = name;
|
||
}
|
||
|
||
public override string ToString()
|
||
{
|
||
return func_name.ToString();
|
||
}
|
||
}
|
||
|
||
public partial class constructor
|
||
{
|
||
public constructor(formal_parameters fp, SourceContext sc = null) : this(null, fp, new procedure_attributes_list(), new method_name(StringConstants.default_constructor_name), false, false, null, null, sc)
|
||
{ }
|
||
public override string ToString()
|
||
{
|
||
var sb = new System.Text.StringBuilder();
|
||
sb.Append("constructor ");
|
||
if (parameters != null)
|
||
sb.Append("(" + parameters.ToString() + ")");
|
||
else
|
||
sb.Append("()");
|
||
sb.Append(";");
|
||
return sb.ToString();
|
||
}
|
||
}
|
||
|
||
public partial class block
|
||
{
|
||
public block(statement_list code) : this(null, code, null)
|
||
{ }
|
||
|
||
public static block Empty
|
||
{
|
||
get { return new block(null, new statement_list()); }
|
||
}
|
||
}
|
||
|
||
public partial class case_variants
|
||
{
|
||
|
||
}
|
||
|
||
public partial class var_def_list_for_record
|
||
{
|
||
|
||
}
|
||
|
||
public partial class property_parameter_list
|
||
{
|
||
|
||
}
|
||
|
||
public partial class initfinal_part
|
||
{
|
||
public initfinal_part(token_info stn1, statement_list init, token_info stn2, statement_list fin, token_info stn3, SourceContext sc)
|
||
{
|
||
_initialization_sect = init;
|
||
_finalization_sect = fin;
|
||
source_context = sc;
|
||
init.left_logical_bracket = stn1;
|
||
init.right_logical_bracket = stn2;
|
||
if (fin != null)
|
||
{
|
||
fin.left_logical_bracket = stn2;
|
||
fin.right_logical_bracket = stn3;
|
||
}
|
||
}
|
||
}
|
||
|
||
public partial class token_info
|
||
{
|
||
public override string ToString()
|
||
{
|
||
return text.ToLower();
|
||
}
|
||
}
|
||
|
||
public partial class exception_handler_list
|
||
{
|
||
|
||
}
|
||
|
||
public partial class named_type_reference_list
|
||
{
|
||
public named_type_reference_list(string name)
|
||
{
|
||
Add(new named_type_reference(name));
|
||
}
|
||
public named_type_reference_list(string name1, string name2)
|
||
{
|
||
Add(new named_type_reference(name1));
|
||
Add(new named_type_reference(name2));
|
||
}
|
||
|
||
public override string ToString()
|
||
{
|
||
return string.Join(",", this.types.Select(x => x.ToString()).ToArray());
|
||
}
|
||
}
|
||
|
||
public partial class template_param_list
|
||
{
|
||
public template_param_list(IEnumerable<string> names)
|
||
{
|
||
foreach (var s in names)
|
||
Add(new named_type_reference(s));
|
||
}
|
||
public template_param_list(string names)
|
||
{
|
||
foreach (var ntr in names.Split(',').Select(s => new named_type_reference(s)))
|
||
Add(ntr);
|
||
}
|
||
}
|
||
|
||
public partial class int64_const
|
||
{
|
||
public override string ToString()
|
||
{
|
||
return val.ToString();
|
||
}
|
||
}
|
||
|
||
public partial class uint64_const
|
||
{
|
||
public override string ToString()
|
||
{
|
||
return val.ToString();
|
||
}
|
||
}
|
||
|
||
public partial class new_expr
|
||
{
|
||
public new_expr(type_definition type, expression_list pars, SourceContext sc = null) : this(type, pars, false, null, sc)
|
||
{ }
|
||
public new_expr(string type, expression_list pars) : this(new named_type_reference(type), pars, false, null)
|
||
{ }
|
||
public new_expr(string type) : this(new named_type_reference(type), expression_list.Empty, false, null)
|
||
{ }
|
||
public override string ToString()
|
||
{
|
||
return "new " + (this.type != null ? this.type.ToString() : "NOTYPE") + "(" + (this.params_list != null ? this.params_list.ToString() : "NOPARAMS") + ")";
|
||
}
|
||
}
|
||
|
||
public partial class where_type_specificator_list
|
||
{
|
||
|
||
}
|
||
|
||
public partial class where_definition_list
|
||
{
|
||
|
||
}
|
||
|
||
public partial class var_statement
|
||
{
|
||
public var_statement(ident_list vars, type_definition type, expression iv) : this(new var_def_statement(vars, type, iv))
|
||
{
|
||
}
|
||
|
||
public var_statement(ident_list vars, type_definition type) : this(new var_def_statement(vars, type))
|
||
{
|
||
}
|
||
|
||
public var_statement(ident id, type_definition type, expression iv) : this(new var_def_statement(new ident_list(id, id.source_context), type, iv))
|
||
{
|
||
}
|
||
|
||
public var_statement(ident id, type_definition type) : this(new var_def_statement(new ident_list(id, id.source_context), type))
|
||
{
|
||
}
|
||
public var_statement(ident id, type_definition type, SourceContext sc) : this(new var_def_statement(new ident_list(id, id.source_context), type, sc),sc)
|
||
{
|
||
}
|
||
|
||
public var_statement(ident id, string type) : this(new var_def_statement(new ident_list(id, id.source_context), new named_type_reference(type)))
|
||
{
|
||
}
|
||
|
||
public var_statement(ident id, expression iv) : this(new var_def_statement(new ident_list(id,id.source_context), null, iv))
|
||
{
|
||
}
|
||
|
||
public var_statement(ident id, expression iv, SourceContext sc) : this(new var_def_statement(new ident_list(id,id.source_context), null, iv, sc),sc)
|
||
{
|
||
}
|
||
|
||
public var_statement(ident id, string type, expression iv, SourceContext sc) : this(new var_def_statement(new ident_list(id, id.source_context), new named_type_reference(type), iv, sc), sc)
|
||
{
|
||
}
|
||
|
||
public override string ToString()
|
||
{
|
||
return "var " + var_def.ToString();
|
||
}
|
||
}
|
||
|
||
public partial class enumerator_list
|
||
{
|
||
|
||
}
|
||
|
||
public partial class type_definition_attr_list
|
||
{
|
||
|
||
}
|
||
|
||
public partial class compiler_directive_list
|
||
{
|
||
|
||
}
|
||
|
||
public partial class documentation_comment_list
|
||
{
|
||
|
||
}
|
||
|
||
public partial class documentation_comment_section
|
||
{
|
||
|
||
}
|
||
|
||
public partial class bracket_expr
|
||
{
|
||
public override string ToString()
|
||
{
|
||
return "(" + expr.ToString() + ")";
|
||
}
|
||
}
|
||
|
||
public partial class simple_attribute_list
|
||
{
|
||
|
||
}
|
||
|
||
public partial class attribute_list
|
||
{
|
||
|
||
}
|
||
|
||
public partial class function_lambda_definition
|
||
{
|
||
public object RealSemTypeOfResExpr = null; // Result := ex; - семантический тип ex - нужно для лучшего выбора среди перегруженных методов с параметрами-лямбдами
|
||
public object RealSemTypeOfResult = null;
|
||
public List<expression> unpacked_params = null; // SSM 04/03/21 - сахарный узел, содержащий параметры, которые необходимо распаковать: (\(x,y,z),\(a,b)))
|
||
|
||
public function_lambda_definition(string name, formal_parameters formalPars, type_definition returnType, statement_list body, int usedkw, SourceContext sc)
|
||
{
|
||
statement_list _statement_list = body;
|
||
expression_list _expression_list = new expression_list();
|
||
ident_list identList = new ident_list();
|
||
lambda_visit_mode = LambdaVisitMode.None;
|
||
|
||
if (formalPars != null)
|
||
{
|
||
for (int i = 0; i < formalPars.params_list.Count; i++)
|
||
{
|
||
for (int j = 0; j < formalPars.params_list[i].idents.idents.Count; j++)
|
||
{
|
||
identList.idents.Add(formalPars.params_list[i].idents.idents[j]);
|
||
_expression_list.expressions.Add(formalPars.params_list[i].idents.idents[j]);
|
||
}
|
||
}
|
||
}
|
||
|
||
formal_parameters = formalPars;
|
||
return_type = returnType;
|
||
ident_list = identList;
|
||
parameters = _expression_list;
|
||
lambda_name = name;
|
||
proc_body = _statement_list;
|
||
usedkeyword = usedkw;
|
||
source_context = sc;
|
||
}
|
||
public function_lambda_definition(string name, formal_parameters formalPars, type_definition returnType, statement_list body, SourceContext sc) :
|
||
this(name, formalPars, returnType, body, 0, sc)
|
||
{
|
||
}
|
||
}
|
||
|
||
|
||
public partial class semantic_check
|
||
{
|
||
public semantic_check(string name, params syntax_tree_node[] pars)
|
||
{
|
||
CheckName = name;
|
||
param.AddRange(pars);
|
||
}
|
||
}
|
||
|
||
public partial class name_assign_expr_list
|
||
{
|
||
|
||
}
|
||
|
||
public partial class unnamed_type_object
|
||
{
|
||
public string name()
|
||
{
|
||
return (new_ex.type as SyntaxTree.named_type_reference).names[0].name;
|
||
}
|
||
|
||
public void set_name(string nm)
|
||
{
|
||
var ntr = new_ex.type as SyntaxTree.named_type_reference;
|
||
ntr.names[0].name = nm;
|
||
}
|
||
}
|
||
|
||
public partial class yield_node
|
||
{
|
||
public override string ToString()
|
||
{
|
||
return "yield " + ex.ToString();
|
||
}
|
||
}
|
||
public partial class sequence_type
|
||
{
|
||
public override string ToString()
|
||
{
|
||
return "sequence of " + this.elements_type.ToString();
|
||
}
|
||
}
|
||
|
||
public partial class if_node
|
||
{
|
||
public if_node(expression _condition, statement _then_body)
|
||
{
|
||
this._condition = _condition;
|
||
this._then_body = _then_body;
|
||
this._else_body = null;
|
||
}
|
||
}
|
||
public partial class empty_statement
|
||
{
|
||
public static empty_statement New
|
||
{
|
||
get { return new empty_statement(); }
|
||
}
|
||
}
|
||
|
||
public partial class case_node
|
||
{
|
||
public case_node(expression _param, case_variants _conditions)
|
||
{
|
||
this._param = _param;
|
||
this._conditions = _conditions;
|
||
this._else_statement = null;
|
||
}
|
||
public case_node(expression _param)
|
||
{
|
||
this._param = _param;
|
||
this._conditions = new case_variants();
|
||
this._else_statement = null;
|
||
}
|
||
}
|
||
|
||
public partial class labeled_statement
|
||
{
|
||
public labeled_statement(ident label_name)
|
||
{
|
||
this._label_name = label_name;
|
||
this._to_statement = empty_statement.New;
|
||
}
|
||
}
|
||
|
||
public partial class uses_closure
|
||
{
|
||
|
||
}
|
||
|
||
// frninja 12/05/16 - хелперы для yield
|
||
public partial class yield_unknown_expression_type : type_definition
|
||
{
|
||
protected var_def_statement _Vds;
|
||
|
||
public var_def_statement Vds
|
||
{
|
||
get { return _Vds; }
|
||
set { _Vds = value; }
|
||
}
|
||
|
||
public yield_unknown_expression_type(var_def_statement vds)
|
||
{
|
||
this.Vds = vds;
|
||
}
|
||
}
|
||
|
||
public partial class yield_unknown_ident : ident
|
||
{
|
||
//protected ident _UnknownID;
|
||
protected ident _ClassName;
|
||
protected bool _IsYieldInStaticMethod;
|
||
|
||
/*public ident UnknownID
|
||
{
|
||
get { return _UnknownID; }
|
||
set { _UnknownID = value; }
|
||
}*/
|
||
|
||
public ident ClassName
|
||
{
|
||
get { return _ClassName; }
|
||
set { _ClassName = value; }
|
||
}
|
||
|
||
public bool IsYieldInStaticMethod
|
||
{
|
||
get { return _IsYieldInStaticMethod; }
|
||
set { _IsYieldInStaticMethod = value; }
|
||
}
|
||
|
||
///<summary>
|
||
///Конструктор с параметрами.
|
||
///</summary>
|
||
public yield_unknown_ident(ident _UnknownID, ident _ClassName, bool isYieldInStaticMethod = false)
|
||
{
|
||
this._name = _UnknownID.name;
|
||
this._UnknownID = _UnknownID;
|
||
this._ClassName = _ClassName;
|
||
this._IsYieldInStaticMethod = isYieldInStaticMethod;
|
||
}
|
||
|
||
///<summary>
|
||
///Конструктор с параметрами.
|
||
///</summary>
|
||
public yield_unknown_ident(ident _UnknownID, ident _ClassName, bool isYieldInStaticMethod, SourceContext sc)
|
||
{
|
||
this._name = _UnknownID.name;
|
||
this._UnknownID = _UnknownID;
|
||
this._ClassName = _ClassName;
|
||
this._IsYieldInStaticMethod = isYieldInStaticMethod;
|
||
source_context = sc;
|
||
}
|
||
public override string ToString()
|
||
{
|
||
return "yui(обраб.на сем.)"+this.ClassName+" "+this.UnknownID.ToString();
|
||
}
|
||
|
||
}
|
||
|
||
public partial class yield_unknown_foreach_type : type_definition
|
||
{
|
||
protected foreach_stmt _unknown_foreach;
|
||
|
||
public foreach_stmt unknown_foreach
|
||
{
|
||
get { return _unknown_foreach; }
|
||
set { _unknown_foreach = value; }
|
||
}
|
||
|
||
///<summary>
|
||
///Конструктор с параметрами.
|
||
///</summary>
|
||
public yield_unknown_foreach_type(foreach_stmt _unknown_foreach)
|
||
{
|
||
this._unknown_foreach = _unknown_foreach;
|
||
}
|
||
|
||
///<summary>
|
||
///Конструктор с параметрами.
|
||
///</summary>
|
||
public yield_unknown_foreach_type(foreach_stmt _unknown_foreach, SourceContext sc)
|
||
{
|
||
this._unknown_foreach = _unknown_foreach;
|
||
source_context = sc;
|
||
}
|
||
|
||
}
|
||
|
||
public partial class yield_unknown_foreach_type_ident : ident
|
||
{
|
||
protected foreach_stmt _unknown_foreach;
|
||
|
||
public foreach_stmt unknown_foreach
|
||
{
|
||
get { return _unknown_foreach; }
|
||
set { _unknown_foreach = value; }
|
||
}
|
||
|
||
///<summary>
|
||
///Конструктор с параметрами.
|
||
///</summary>
|
||
public yield_unknown_foreach_type_ident(foreach_stmt _unknown_foreach)
|
||
{
|
||
this._unknown_foreach = _unknown_foreach;
|
||
}
|
||
|
||
///<summary>
|
||
///Конструктор с параметрами.
|
||
///</summary>
|
||
public yield_unknown_foreach_type_ident(foreach_stmt _unknown_foreach, SourceContext sc)
|
||
{
|
||
this._unknown_foreach = _unknown_foreach;
|
||
source_context = sc;
|
||
}
|
||
}
|
||
|
||
public partial class array_type
|
||
{
|
||
public override string ToString()
|
||
{
|
||
return "array of " + this.elements_type.ToString();
|
||
}
|
||
}
|
||
|
||
public partial class function_lambda_definition
|
||
{
|
||
public override string ToString()
|
||
{
|
||
var s = this._ident_list.ToString();
|
||
if (_ident_list.Count != 1)
|
||
s = "(" + s + ")";
|
||
var b = this.proc_body.ToString();
|
||
return "" + s + " -> " + b;
|
||
}
|
||
}
|
||
|
||
public partial class nil_const
|
||
{
|
||
public override string ToString()
|
||
{
|
||
return "nil";
|
||
}
|
||
}
|
||
|
||
public partial class access_modifer_node
|
||
{
|
||
public override string ToString()
|
||
{
|
||
return this.access_level.ToString().Replace("_modifier", "");
|
||
}
|
||
}
|
||
|
||
public partial class statement
|
||
{
|
||
public statement_list ToStatementList()
|
||
{
|
||
var stl = this as statement_list;
|
||
if (stl != null)
|
||
return stl;
|
||
else return new statement_list(this);
|
||
}
|
||
}
|
||
|
||
public partial class addressed_value
|
||
{
|
||
public indexer indexer(expression ex, SourceContext sc = null)
|
||
{
|
||
return new SyntaxTree.indexer(this, ex, sc);
|
||
}
|
||
public dot_node dot_node(ident id, SourceContext sc = null)
|
||
{
|
||
return new SyntaxTree.dot_node(this, id, sc);
|
||
}
|
||
/// <summary>
|
||
/// Сервисное поле для реализации механизма ?. Оно - типа question_colon_expression
|
||
/// </summary>
|
||
public object ExprToQCE = null;
|
||
}
|
||
|
||
public partial class expression
|
||
{
|
||
//public object semantic_ex;
|
||
public expression Plus(expression e)
|
||
{
|
||
return new bin_expr(this, e, Operators.Plus);
|
||
}
|
||
public expression Minus(expression e)
|
||
{
|
||
return new bin_expr(this, e, Operators.Minus);
|
||
}
|
||
public static implicit operator expression(int i)
|
||
{
|
||
return new int32_const(i);
|
||
}
|
||
}
|
||
|
||
public partial class slice_expr
|
||
{
|
||
public List<System.Tuple<expression, expression, expression>> slices; // = new List<Tuple<expression, expression, expression>>();
|
||
public override string ToString() => this.v + "[" + this.from + ":" + this.to + ":" + this.step + "]";
|
||
}
|
||
|
||
public partial class slice_expr_question
|
||
{
|
||
public slice_expr_question(addressed_value v, expression from, expression to, expression step) : base(v, from, to, step)
|
||
{ }
|
||
public slice_expr_question(addressed_value v, expression from, expression to, expression step, SourceContext sc) : base(v, from, to, step, sc)
|
||
{ }
|
||
}
|
||
|
||
public partial class sugared_addressed_value
|
||
{
|
||
public static sugared_addressed_value NewP(object sug, addressed_value av, SourceContext sc)
|
||
{
|
||
var res = new sugared_addressed_value(sug, av, sc);
|
||
av.Parent = res;
|
||
return res;
|
||
}
|
||
public override string ToString()
|
||
{
|
||
return "{sug}" + this.new_addr_value;
|
||
}
|
||
|
||
}
|
||
|
||
public partial class question_colon_expression
|
||
{
|
||
public override string ToString() => this.condition + "?" + this.ret_if_true + ":" + this.ret_if_false;
|
||
}
|
||
|
||
public partial class dot_question_node
|
||
{
|
||
public override string ToString() => left.ToString() + "?." + right.ToString();
|
||
}
|
||
|
||
public partial class for_node
|
||
{
|
||
public for_node(ident loop_variable, expression init_value, expression finish_value, statement stmt, SourceContext sc) :
|
||
this(loop_variable, init_value, finish_value, stmt, for_cycle_type.to, null, null, true)
|
||
{
|
||
|
||
}
|
||
public override string ToString() => "for var " + this.loop_variable.ToString() + " := " + this.initial_value.ToString() + " to " + this.finish_value.ToString() + " do \n" + this.statements.ToString();
|
||
}
|
||
|
||
public partial class loop_stmt
|
||
{
|
||
public override string ToString() => "loop " + this.count.ToString() + " do \n" + this.stmt.ToString();
|
||
}
|
||
|
||
public partial class lambda_inferred_type
|
||
{
|
||
public override string ToString() => "lam_inferred";
|
||
}
|
||
|
||
public partial class desugared_deconstruction
|
||
{
|
||
public bool HasAllExplicitTypes => variables.definitions.All(x => x.vars_type != null);
|
||
|
||
public desugared_deconstruction(List<var_def_statement> variables, expression target, SourceContext context = null)
|
||
: this(new deconstruction_variables_definition(variables), target, context)
|
||
{ }
|
||
|
||
public var_statement[] WithTypes(type_definition[] types)
|
||
{
|
||
var_statement[] result = new var_statement[types.Length];
|
||
Debug.Assert(types.Length == variables.definitions.Count, "Inconsistent types count");
|
||
|
||
for (int i = 0; i < variables.definitions.Count; i++)
|
||
{
|
||
variables.definitions[i].vars_type = types[i];
|
||
result[i] = new var_statement(variables.definitions[i]);
|
||
}
|
||
|
||
return result;
|
||
}
|
||
|
||
public override string ToString() => $"var {string.Join(", ", variables.definitions)}";
|
||
}
|
||
|
||
public partial class is_pattern_expr
|
||
{
|
||
public override string ToString() => $"{left} is {right}";
|
||
}
|
||
|
||
public partial class deconstructor_pattern
|
||
{
|
||
public override string ToString() => $"{type}({string.Join(", ", parameters.Select(x => x.ToString()))})";
|
||
}
|
||
|
||
public partial class pattern_node
|
||
{
|
||
public bool IsRecursive => parameters.Any(x => x is recursive_pattern_parameter);
|
||
}
|
||
|
||
public partial class typecast_node
|
||
{
|
||
public override string ToString()
|
||
{
|
||
return "" + this.expr + " " + this.cast_op + " " + this.type_def;
|
||
}
|
||
}
|
||
|
||
public partial class semantic_check_sugared_statement_node
|
||
{
|
||
public bool visited = false;
|
||
public override string ToString() => "semantic_check_sugared(" + string.Join(", ",lst) + ")";
|
||
}
|
||
|
||
public partial class var_deconstructor_parameter
|
||
{
|
||
public override string ToString() => identifier.ToString() + (type == null ? "" : $": {type}");
|
||
}
|
||
|
||
public partial class recursive_deconstructor_parameter
|
||
{
|
||
public override string ToString() => pattern.ToString();
|
||
}
|
||
|
||
public partial class tuple_pattern_wild_card
|
||
{
|
||
///<summary>
|
||
///Конструктор c параметрами
|
||
///</summary>
|
||
public tuple_pattern_wild_card(SourceContext sc)
|
||
{
|
||
this.source_context = sc;
|
||
}
|
||
}
|
||
|
||
public partial class collection_pattern_wild_card
|
||
{
|
||
///<summary>
|
||
///Конструктор c параметрами
|
||
///</summary>
|
||
public collection_pattern_wild_card(SourceContext sc)
|
||
{
|
||
this.source_context = sc;
|
||
}
|
||
}
|
||
|
||
public partial class collection_pattern_gap_parameter
|
||
{
|
||
///<summary>
|
||
///Конструктор c параметрами
|
||
///</summary>
|
||
public collection_pattern_gap_parameter(SourceContext sc)
|
||
{
|
||
this.source_context = sc;
|
||
}
|
||
}
|
||
|
||
public partial class wild_card_deconstructor_parameter
|
||
{
|
||
///<summary>
|
||
///Конструктор c параметрами
|
||
///</summary>
|
||
public wild_card_deconstructor_parameter(SourceContext sc)
|
||
{
|
||
this.source_context = sc;
|
||
}
|
||
}
|
||
|
||
public partial class const_pattern
|
||
{
|
||
///<summary>
|
||
///Конструктор c параметрами
|
||
///</summary>
|
||
public const_pattern(List<syntax_tree_node> pattern_nodes, SourceContext sc)
|
||
{
|
||
source_context = sc;
|
||
pattern_expressions = new expression_list();
|
||
pattern_expressions.source_context = sc;
|
||
|
||
foreach (var elem in pattern_nodes)
|
||
{
|
||
if (elem is named_type_reference type)
|
||
{
|
||
expression pattern_expr = null;
|
||
if (type.names.Count == 1)
|
||
{
|
||
pattern_expr = type.names[0];
|
||
}
|
||
else
|
||
{
|
||
pattern_expr = new dot_node(null, type.names[type.names.Count - 1], sc);
|
||
var curr_dot_node = pattern_expr as dot_node;
|
||
|
||
for (var i = type.names.Count - 2; i >= 1; --i)
|
||
{
|
||
curr_dot_node.left = new dot_node(null, type.names[i], sc);
|
||
curr_dot_node = curr_dot_node.left as dot_node;
|
||
}
|
||
curr_dot_node.left = type.names[0];
|
||
}
|
||
pattern_expressions.Add(pattern_expr, type.source_context);
|
||
}
|
||
else if (elem is expression expr)
|
||
{
|
||
pattern_expressions.Add(expr, elem.source_context);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
public partial class empty_statement
|
||
{
|
||
public override string ToString() => "<>";
|
||
}
|
||
public partial class modern_proc_type
|
||
{
|
||
public override string ToString() => "<proc_type>";
|
||
}
|
||
|
||
public partial class ident_with_templateparams
|
||
{
|
||
public override string ToString() => $"{this.name}{this.template_params}";
|
||
}
|
||
public partial class template_param_list
|
||
{
|
||
public override string ToString() => "<"+string.Join(",",this.params_list.Select(td=>td.ToString()))+">";
|
||
}
|
||
|
||
/*
|
||
public partial class slice_expr : dereference
|
||
{
|
||
///<summary>
|
||
///Конструктор с параметрами.
|
||
///</summary>
|
||
public slice_expr(addressed_value _v, expression _from, expression _to, expression _step)
|
||
: this(_v, _from, _to, _step, false, false) { }
|
||
|
||
///<summary>
|
||
///Конструктор с параметрами.
|
||
///</summary>
|
||
public slice_expr(addressed_value _v, expression _from, expression _to, expression _step, SourceContext sc)
|
||
: this(_v, _from, _to, _step, false, false, sc) { }
|
||
|
||
///<summary>
|
||
///Конструктор с параметрами.
|
||
///</summary>
|
||
public slice_expr(addressed_value _dereferencing_value, addressed_value _v, expression _from, expression _to, expression _step)
|
||
: this(_dereferencing_value, _v, _from, _to, _step, false, false) { }
|
||
|
||
///<summary>
|
||
///Конструктор с параметрами.
|
||
///</summary>
|
||
public slice_expr(addressed_value _dereferencing_value, addressed_value _v, expression _from, expression _to, expression _step, SourceContext sc)
|
||
: this(_dereferencing_value, _v, _from, _to, _step, false, false, sc) { }
|
||
}*/
|
||
|
||
public partial class assign_var_tuple
|
||
{
|
||
public object sl = null;
|
||
}
|
||
|
||
public partial class foreach_stmt
|
||
{
|
||
public object ext = null;
|
||
}
|
||
|
||
public partial class uses_unit_in
|
||
{
|
||
public override string UsesPath() => in_file.Value;
|
||
}
|
||
|
||
public class ident_or_list : expression // Это для распаковки параметров в лямбдах \(x,y)
|
||
{
|
||
// только одно поле - ненулевое!
|
||
public ident id;
|
||
public unpacked_list_of_ident_or_list lst;
|
||
public ident_or_list(ident id)
|
||
{
|
||
this.id = id;
|
||
this.source_context = id.source_context;
|
||
}
|
||
public ident_or_list(unpacked_list_of_ident_or_list lst)
|
||
{
|
||
this.lst = lst;
|
||
this.source_context = lst.source_context;
|
||
}
|
||
}
|
||
|
||
public class unpacked_list_of_ident_or_list: expression // это для самого верхнего уровня
|
||
{
|
||
public List<ident_or_list> lst;
|
||
public unpacked_list_of_ident_or_list(List<ident_or_list> lst)
|
||
{
|
||
this.lst = lst;
|
||
if (lst != null && lst.Count > 0)
|
||
this.source_context = lst[0].source_context;
|
||
}
|
||
public unpacked_list_of_ident_or_list()
|
||
{
|
||
lst = new List<ident_or_list>();
|
||
}
|
||
public void Add(ident_or_list il)
|
||
{
|
||
lst.Add(il);
|
||
if (source_context == null)
|
||
source_context = il.source_context;
|
||
else source_context = source_context.Merge(il.source_context);
|
||
}
|
||
}
|
||
|
||
public partial class class_definition
|
||
{
|
||
public bool IsDataClass { get ; set; }
|
||
}
|
||
|
||
public partial class procedure_definition
|
||
{
|
||
/*public procedure_definition(procedure_header _proc_header, proc_block _proc_body,
|
||
bool _is_short_definition)
|
||
{
|
||
this._proc_header = _proc_header;
|
||
this._proc_body = _proc_body;
|
||
this._is_short_definition = _is_short_definition;
|
||
FillParentsInDirectChilds();
|
||
}*/
|
||
|
||
}
|
||
|
||
public class semantic_check_delegates_pointers_in_cached_function // класс - маркер семантической проверки
|
||
{ }
|
||
|
||
public partial class let_var_expr
|
||
{
|
||
public bool visit_var = true;
|
||
}
|
||
}
|