* 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:
commit a484b0e82d
Author: Sun Serega <sunserega2@gmail.com>
Date: Thu Dec 12 13:49:17 2024 +0200
fix (#3231)
commit 6ef11f249c
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 10 11:05:45 2024 +0300
3.10.2
commit db9679d89f
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 10 10:59:20 2024 +0300
Закончил превращение синтаксиса [] по умолчанию в массивы
commit 45fdde24b4
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Dec 8 18:08:00 2024 +0100
#3229
commit 494b47624d
Merge: 5875b9929 7906d73da
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Dec 8 10:42:07 2024 +0100
Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
commit 5875b99296
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Dec 8 10:41:53 2024 +0100
platformtarget native - .NET 9.0
commit 7906d73da3
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 3 14:25:37 2024 +0300
Небольшие изменения в реализации операций с множествами
commit 087591c7b6
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 27 11:37:07 2024 +0300
3.10.1
Coords - доработки
Distance, Middle, DrawText с фоном и рамкой. Глобальные переменные настройки
commit d268d4f83b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Thu Nov 21 22:24:07 2024 +0300
NSToBytes переделал с исключением
commit 2bacdc8c28
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 20 13:20:33 2024 +0300
Комментарии к NewSet
commit e917ac8eca
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 20 12:42:15 2024 +0300
TypeName для set
commit 206289c6a7
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Nov 19 20:23:03 2024 +0300
Везде заменил _hs на hs в NewSet
Убрал вызовы методов расширений NewSet в PABCSystem.pas
Убрал var в operator +
commit d8262078f6
Author: 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 надо бы сделать исключение
commit f8819665ba
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Nov 16 10:56:11 2024 +0300
NS2
commit 591d9ebe60
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Nov 13 21:34:10 2024 +0100
fix
commit c6505634f4
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Nov 13 21:12:33 2024 +0100
fix
commit a6564df23c
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Nov 13 20:52:29 2024 +0100
fix in new sets
commit 03be5bd931
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 13 22:13:41 2024 +0300
Переставил operator:= в NewSet
commit 96c68f1666
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Nov 12 21:38:07 2024 +0100
#3223
commit 82776f3c77
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Nov 9 12:18:19 2024 +0300
NewSet - много мелких исправлений.
Все тесты проходят кроме Tests 5 - видимо с pabcrtl.dll
commit fbd63efa89
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Nov 3 16:59:48 2024 +0300
NewSets
Некоторые тесты надо исправить
commit 746c4ae2c2
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Thu Oct 31 21:00:42 2024 +0100
#3221
commit 350d07326d
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Thu Oct 31 18:35:51 2024 +0100
#3221
commit aae9ab408b
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Thu Oct 31 18:25:06 2024 +0100
#3221
commit 1e4a811e04
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Oct 30 20:42:59 2024 +0100
test for #3219
commit d1a1247ecd
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Oct 30 20:24:16 2024 +0100
#3219
commit 13b3071d80
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Mon Oct 28 22:42:17 2024 +0300
закомментировал extensions преобразования arr to set. Надеюсь в новой реализации всё исправить
commit 6d5c18f457
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Thu Oct 24 10:17:48 2024 +0300
SF XLSX.pas
commit 0c773a7ecb
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Oct 16 12:04:33 2024 +0300
tree.xml с парой новых узлов для Питона
commit 53b3fd0881
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Oct 9 14:09:01 2024 +0300
Добавил временное преобразование от array of T в set of T
commit 271d5792ce
Author: 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
commit 79f9ab73a0
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Oct 5 15:33:20 2024 +0300
PT4_32
commit 0a20c8d32c
Author: Sun Serega <sunserega2@gmail.com>
Date: Thu Sep 26 09:02:31 2024 +0200
Add `.DistinctBy` (#3122)
commit 11981dbf47
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Sep 25 11:53:02 2024 +0300
IndexMinBy, IndexMaxBy
MinBy, MaxBy - более эффективная реализация
GraphWPF - SaveToClipboard
commit 3eb1d2bd85
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Sep 22 17:42:09 2024 +0200
#3197
commit 20edd487e3
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Sep 22 12:39:03 2024 +0200
#3204
commit 7261231c9c
Merge: 7debbe702 9ab932977
Author: 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
commit 9ab9329771
Author: AlexanderZemlyak <zemlyaksanya@mail.ru>
Date: Sun Sep 22 10:23:18 2024 +0300
Add new projects in PascalACBNETLinux.sln
commit 7debbe702a
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Sep 21 14:29:38 2024 +0300
Критическое обновление LightPT
commit 40335b873e
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Fri Sep 20 22:58:46 2024 +0300
LightPT - OutputListIsClearedFromSpaces := False;
Coords - DrawLine
commit 078281db17
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Thu Sep 19 22:42:44 2024 +0300
coords suite
commit 8d51f999a5
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Thu Sep 19 20:28:28 2024 +0300
Автоклассы - разрешение наследования от классов без полей
Модуль Coords
commit 8f7e92d418
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Mon Sep 16 08:25:43 2024 +0300
Turtle переделал на паттерн Команда
commit a6f6d8a90b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Sep 7 23:11:54 2024 +0300
Правки рейтинга в TeacherPlugin
commit 2365eb3633
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Sep 7 15:54:15 2024 +0300
LinkLabel в TeacherControlPlugin
commit 1835b811ef
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Sep 3 23:51:44 2024 +0300
MathNet Signed
commit b23d6df9e9
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Sep 3 23:16:15 2024 +0300
MathNet.Numerics.dll
commit 790fba67b8
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Aug 27 17:56:09 2024 +0300
3.10.0
commit 1ec4204fd2
Author: Sun Serega <sunserega2@gmail.com>
Date: Mon Aug 26 09:20:27 2024 +0300
`.Batch` cleanup (#3108)
commit b5e674c311
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Mon Aug 26 09:12:14 2024 +0300
3_10_0
commit 7face043cf
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Mon Aug 26 09:11:08 2024 +0300
ToSet
commit e456ad528e
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Aug 24 23:13:57 2024 +0300
3.9.0.3530
commit 3247469e6d
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Aug 24 22:55:27 2024 +0300
Добавлен DrawPoints в Turtle
Исправлена ошибка с отображением подписей в Y-координате
commit 7548142623
Author: 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 := ',')
commit d94885b950
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Aug 24 12:13:09 2024 +0300
randomElement для строк
.ToReals - разделителями могут быть пробел табуляция и переход на новую строку
NumberFormat - функция, возвращающая nfi
commit ae2e26acf8
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Fri Aug 23 19:33:55 2024 +0300
PT4 - новые dll файлы старых заданий серий A
commit 0f8aa6fa3c
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Aug 18 17:28:05 2024 +0300
SetOf как основной синоним HSet
commit db4b53be20
Merge: 86852e0a5 b9fd59a84
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Aug 18 16:05:42 2024 +0300
Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
commit 86852e0a59
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Aug 18 16:05:14 2024 +0300
School - ToBase(number: int64
commit b9fd59a840
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Aug 13 15:08:44 2024 +0200
#2830
commit 4f0b0f8ba0
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Aug 13 14:43:49 2024 +0200
#3194
commit e3ee0fed4c
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Aug 13 13:49:30 2024 +0200
#3097
commit d396c4a9fe
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Aug 13 10:40:23 2024 +0200
#3178
commit 0d846d2335
Merge: e91e35398 a65a86921
Author: 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
commit a65a869211
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Mon Aug 12 15:50:42 2024 +0300
increasing pcu file version
commit e91e353984
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Aug 11 15:21:29 2024 +0300
Обновленный модуль Turtle.pas
commit c18238df39
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Aug 6 20:18:57 2024 +0300
3.9.0.3523
commit 1da2b524a6
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Aug 6 19:34:10 2024 +0300
School PrimeDivisors
commit 47c61d8b14
Author: 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
commit fc3ab96cae
Author: 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
commit 64acde6460
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Jul 31 18:21:04 2024 +0300
Сделал возможным неявное приведение некоторого типа к array of T (при описании оператора в виде статической функции класса)
School - IsPrime(n)
commit 3db5709101
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Jul 31 10:56:18 2024 +0300
ZipCartesianFuncs.pas
commit c4fd47128b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Jul 30 22:56:03 2024 +0300
Zip, Cartesian - сделаны внешние функции до 5 параметров, в т.ч. с проекцией
Zip, Cartesian - методы расширения дополнены чтобы было как во внешних
Перегенерирована справка
commit 7d66f26d4f
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Mon Jul 1 00:16:43 2024 +0300
cleanup and more tests
commit 464dc794a8
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Sun Jun 30 23:31:28 2024 +0300
cleanup and more comments
commit 32f126370c
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Sun Jun 30 21:35:06 2024 +0300
attempt to fix GetEnumerator resolving for Pascal types
commit fb3eeeb28b
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Sat Jun 29 16:26:35 2024 +0300
fix tests
commit 84b0dfe537
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Sat Jun 29 15:49:13 2024 +0300
fix getting MethodInfo
commit 5fa4d9fce7
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 22:45:07 2024 +0300
cold fix set of T resolving
commit 460ce636ab
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 22:21:06 2024 +0300
hot fix set of T resolving
commit 83c2f29ac6
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 21:53:11 2024 +0300
fix method filtering again
commit c840a1a47a
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 21:32:41 2024 +0300
fix type recovery
commit 2436627fdd
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 19:18:32 2024 +0300
fixing method filtering
commit 15a05360a4
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 17:25:39 2024 +0300
attempt to fix GetEnumerator resolving for compiled types
commit 4fd020d084
Author: 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:
commit b68b8da970
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 17 15:52:18 2024 +0300
Примеры Coords1.pas Coords2.pas.pas
commit 8a9788e6f9
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 17 15:06:57 2024 +0300
Перенес проверку set array на уровень парсера
Немного поправил Intellisense по наведению для NewSet
По точке там что то другое работает
commit 874ddebad3
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Dec 14 21:00:38 2024 +0300
Поправил грамматику []
Теперь нельзя в режиме ## использовать атрибуты
Зато можно [1,2,3].Print
commit 080fb487e1
Merge: a53dcd9ed a484b0e82
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Dec 14 15:25:24 2024 +0300
Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
commit a53dcd9ed2
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Dec 14 15:25:16 2024 +0300
SF Prm Cmb для строк
commit a484b0e82d
Author: Sun Serega <sunserega2@gmail.com>
Date: Thu Dec 12 13:49:17 2024 +0200
fix (#3231)
commit 6ef11f249c
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 10 11:05:45 2024 +0300
3.10.2
commit db9679d89f
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 10 10:59:20 2024 +0300
Закончил превращение синтаксиса [] по умолчанию в массивы
commit 45fdde24b4
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Dec 8 18:08:00 2024 +0100
#3229
commit 494b47624d
Merge: 5875b9929 7906d73da
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Dec 8 10:42:07 2024 +0100
Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
commit 5875b99296
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Dec 8 10:41:53 2024 +0100
platformtarget native - .NET 9.0
commit 7906d73da3
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 3 14:25:37 2024 +0300
Небольшие изменения в реализации операций с множествами
commit 087591c7b6
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 27 11:37:07 2024 +0300
3.10.1
Coords - доработки
Distance, Middle, DrawText с фоном и рамкой. Глобальные переменные настройки
commit d268d4f83b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Thu Nov 21 22:24:07 2024 +0300
NSToBytes переделал с исключением
commit 2bacdc8c28
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 20 13:20:33 2024 +0300
Комментарии к NewSet
commit e917ac8eca
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 20 12:42:15 2024 +0300
TypeName для set
commit 206289c6a7
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Nov 19 20:23:03 2024 +0300
Везде заменил _hs на hs в NewSet
Убрал вызовы методов расширений NewSet в PABCSystem.pas
Убрал var в operator +
commit d8262078f6
Author: 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 надо бы сделать исключение
commit f8819665ba
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Nov 16 10:56:11 2024 +0300
NS2
commit 591d9ebe60
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Nov 13 21:34:10 2024 +0100
fix
commit c6505634f4
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Nov 13 21:12:33 2024 +0100
fix
commit a6564df23c
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Nov 13 20:52:29 2024 +0100
fix in new sets
commit 03be5bd931
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 13 22:13:41 2024 +0300
Переставил operator:= в NewSet
commit 96c68f1666
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Nov 12 21:38:07 2024 +0100
#3223
commit 82776f3c77
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Nov 9 12:18:19 2024 +0300
NewSet - много мелких исправлений.
Все тесты проходят кроме Tests 5 - видимо с pabcrtl.dll
commit fbd63efa89
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Nov 3 16:59:48 2024 +0300
NewSets
Некоторые тесты надо исправить
commit 746c4ae2c2
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Thu Oct 31 21:00:42 2024 +0100
#3221
commit 350d07326d
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Thu Oct 31 18:35:51 2024 +0100
#3221
commit aae9ab408b
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Thu Oct 31 18:25:06 2024 +0100
#3221
commit 1e4a811e04
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Oct 30 20:42:59 2024 +0100
test for #3219
commit d1a1247ecd
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Oct 30 20:24:16 2024 +0100
#3219
commit 13b3071d80
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Mon Oct 28 22:42:17 2024 +0300
закомментировал extensions преобразования arr to set. Надеюсь в новой реализации всё исправить
commit 6d5c18f457
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Thu Oct 24 10:17:48 2024 +0300
SF XLSX.pas
commit 0c773a7ecb
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Oct 16 12:04:33 2024 +0300
tree.xml с парой новых узлов для Питона
commit 53b3fd0881
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Oct 9 14:09:01 2024 +0300
Добавил временное преобразование от array of T в set of T
commit 271d5792ce
Author: 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
commit 79f9ab73a0
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Oct 5 15:33:20 2024 +0300
PT4_32
commit 0a20c8d32c
Author: Sun Serega <sunserega2@gmail.com>
Date: Thu Sep 26 09:02:31 2024 +0200
Add `.DistinctBy` (#3122)
commit 11981dbf47
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Sep 25 11:53:02 2024 +0300
IndexMinBy, IndexMaxBy
MinBy, MaxBy - более эффективная реализация
GraphWPF - SaveToClipboard
commit 3eb1d2bd85
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Sep 22 17:42:09 2024 +0200
#3197
commit 20edd487e3
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Sep 22 12:39:03 2024 +0200
#3204
commit 7261231c9c
Merge: 7debbe702 9ab932977
Author: 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
commit 9ab9329771
Author: AlexanderZemlyak <zemlyaksanya@mail.ru>
Date: Sun Sep 22 10:23:18 2024 +0300
Add new projects in PascalACBNETLinux.sln
commit 7debbe702a
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Sep 21 14:29:38 2024 +0300
Критическое обновление LightPT
commit 40335b873e
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Fri Sep 20 22:58:46 2024 +0300
LightPT - OutputListIsClearedFromSpaces := False;
Coords - DrawLine
commit 078281db17
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Thu Sep 19 22:42:44 2024 +0300
coords suite
commit 8d51f999a5
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Thu Sep 19 20:28:28 2024 +0300
Автоклассы - разрешение наследования от классов без полей
Модуль Coords
commit 8f7e92d418
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Mon Sep 16 08:25:43 2024 +0300
Turtle переделал на паттерн Команда
commit a6f6d8a90b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Sep 7 23:11:54 2024 +0300
Правки рейтинга в TeacherPlugin
commit 2365eb3633
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Sep 7 15:54:15 2024 +0300
LinkLabel в TeacherControlPlugin
commit 1835b811ef
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Sep 3 23:51:44 2024 +0300
MathNet Signed
commit b23d6df9e9
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Sep 3 23:16:15 2024 +0300
MathNet.Numerics.dll
commit 790fba67b8
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Aug 27 17:56:09 2024 +0300
3.10.0
commit 1ec4204fd2
Author: Sun Serega <sunserega2@gmail.com>
Date: Mon Aug 26 09:20:27 2024 +0300
`.Batch` cleanup (#3108)
commit b5e674c311
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Mon Aug 26 09:12:14 2024 +0300
3_10_0
commit 7face043cf
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Mon Aug 26 09:11:08 2024 +0300
ToSet
commit e456ad528e
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Aug 24 23:13:57 2024 +0300
3.9.0.3530
commit 3247469e6d
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Aug 24 22:55:27 2024 +0300
Добавлен DrawPoints в Turtle
Исправлена ошибка с отображением подписей в Y-координате
commit 7548142623
Author: 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 := ',')
commit d94885b950
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Aug 24 12:13:09 2024 +0300
randomElement для строк
.ToReals - разделителями могут быть пробел табуляция и переход на новую строку
NumberFormat - функция, возвращающая nfi
commit ae2e26acf8
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Fri Aug 23 19:33:55 2024 +0300
PT4 - новые dll файлы старых заданий серий A
commit 0f8aa6fa3c
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Aug 18 17:28:05 2024 +0300
SetOf как основной синоним HSet
commit db4b53be20
Merge: 86852e0a5 b9fd59a84
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Aug 18 16:05:42 2024 +0300
Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
commit 86852e0a59
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Aug 18 16:05:14 2024 +0300
School - ToBase(number: int64
commit b9fd59a840
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Aug 13 15:08:44 2024 +0200
#2830
commit 4f0b0f8ba0
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Aug 13 14:43:49 2024 +0200
#3194
commit e3ee0fed4c
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Aug 13 13:49:30 2024 +0200
#3097
commit d396c4a9fe
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Aug 13 10:40:23 2024 +0200
#3178
commit 0d846d2335
Merge: e91e35398 a65a86921
Author: 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
commit a65a869211
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Mon Aug 12 15:50:42 2024 +0300
increasing pcu file version
commit e91e353984
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Aug 11 15:21:29 2024 +0300
Обновленный модуль Turtle.pas
commit c18238df39
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Aug 6 20:18:57 2024 +0300
3.9.0.3523
commit 1da2b524a6
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Aug 6 19:34:10 2024 +0300
School PrimeDivisors
commit 47c61d8b14
Author: 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
commit fc3ab96cae
Author: 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
commit 64acde6460
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Jul 31 18:21:04 2024 +0300
Сделал возможным неявное приведение некоторого типа к array of T (при описании оператора в виде статической функции класса)
School - IsPrime(n)
commit 3db5709101
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Jul 31 10:56:18 2024 +0300
ZipCartesianFuncs.pas
commit c4fd47128b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Jul 30 22:56:03 2024 +0300
Zip, Cartesian - сделаны внешние функции до 5 параметров, в т.ч. с проекцией
Zip, Cartesian - методы расширения дополнены чтобы было как во внешних
Перегенерирована справка
commit 7d66f26d4f
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Mon Jul 1 00:16:43 2024 +0300
cleanup and more tests
commit 464dc794a8
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Sun Jun 30 23:31:28 2024 +0300
cleanup and more comments
commit 32f126370c
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Sun Jun 30 21:35:06 2024 +0300
attempt to fix GetEnumerator resolving for Pascal types
commit fb3eeeb28b
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Sat Jun 29 16:26:35 2024 +0300
fix tests
commit 84b0dfe537
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Sat Jun 29 15:49:13 2024 +0300
fix getting MethodInfo
commit 5fa4d9fce7
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 22:45:07 2024 +0300
cold fix set of T resolving
commit 460ce636ab
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 22:21:06 2024 +0300
hot fix set of T resolving
commit 83c2f29ac6
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 21:53:11 2024 +0300
fix method filtering again
commit c840a1a47a
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 21:32:41 2024 +0300
fix type recovery
commit 2436627fdd
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 19:18:32 2024 +0300
fixing method filtering
commit 15a05360a4
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 17:25:39 2024 +0300
attempt to fix GetEnumerator resolving for compiled types
commit 4fd020d084
Author: 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:
commit 41dfb6f187
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Fri Feb 7 21:41:01 2025 +0300
[] - преобразование во все контейнеры
GraphABCHelper - теперь ABCObjects работает под Линукс
School исправлен согласно последним веяниям []
commit 79bbbd10ff
Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com>
Date: Wed Jan 29 20:18:37 2025 +0300
removing files for support fx4.0 (#3240)
commit 88d5c409eb
Author: 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
commit 8fbd7fdfc3
Author: 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)
commit bba132bd5d
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Jan 22 09:14:44 2025 +0300
Поправил справку по функции
commit 1bd21857cc
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Jan 8 18:46:51 2025 +0300
Teacher Control Plugin - возможность задать server.dat
commit 0848a1b796
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Jan 4 22:54:38 2025 +0300
Исправление автоформатирования []
commit d45b782a7b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Jan 4 18:45:07 2025 +0300
Rename PABCSistem in test suite
commit c2347e604b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Jan 4 14:44:51 2025 +0300
Примеры - устранил неточности
LightPT - имя сервера вынес в публичную секцию
commit b68b8da970
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 17 15:52:18 2024 +0300
Примеры Coords1.pas Coords2.pas.pas
commit 8a9788e6f9
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 17 15:06:57 2024 +0300
Перенес проверку set array на уровень парсера
Немного поправил Intellisense по наведению для NewSet
По точке там что то другое работает
commit 874ddebad3
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Dec 14 21:00:38 2024 +0300
Поправил грамматику []
Теперь нельзя в режиме ## использовать атрибуты
Зато можно [1,2,3].Print
commit 080fb487e1
Merge: a53dcd9ed a484b0e82
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Dec 14 15:25:24 2024 +0300
Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
commit a53dcd9ed2
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Dec 14 15:25:16 2024 +0300
SF Prm Cmb для строк
commit a484b0e82d
Author: Sun Serega <sunserega2@gmail.com>
Date: Thu Dec 12 13:49:17 2024 +0200
fix (#3231)
commit 6ef11f249c
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 10 11:05:45 2024 +0300
3.10.2
commit db9679d89f
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 10 10:59:20 2024 +0300
Закончил превращение синтаксиса [] по умолчанию в массивы
commit 45fdde24b4
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Dec 8 18:08:00 2024 +0100
#3229
commit 494b47624d
Merge: 5875b9929 7906d73da
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Dec 8 10:42:07 2024 +0100
Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
commit 5875b99296
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Dec 8 10:41:53 2024 +0100
platformtarget native - .NET 9.0
commit 7906d73da3
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 3 14:25:37 2024 +0300
Небольшие изменения в реализации операций с множествами
commit 087591c7b6
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 27 11:37:07 2024 +0300
3.10.1
Coords - доработки
Distance, Middle, DrawText с фоном и рамкой. Глобальные переменные настройки
commit d268d4f83b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Thu Nov 21 22:24:07 2024 +0300
NSToBytes переделал с исключением
commit 2bacdc8c28
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 20 13:20:33 2024 +0300
Комментарии к NewSet
commit e917ac8eca
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 20 12:42:15 2024 +0300
TypeName для set
commit 206289c6a7
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Nov 19 20:23:03 2024 +0300
Везде заменил _hs на hs в NewSet
Убрал вызовы методов расширений NewSet в PABCSystem.pas
Убрал var в operator +
commit d8262078f6
Author: 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 надо бы сделать исключение
commit f8819665ba
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Nov 16 10:56:11 2024 +0300
NS2
commit 591d9ebe60
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Nov 13 21:34:10 2024 +0100
fix
commit c6505634f4
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Nov 13 21:12:33 2024 +0100
fix
commit a6564df23c
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Nov 13 20:52:29 2024 +0100
fix in new sets
commit 03be5bd931
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 13 22:13:41 2024 +0300
Переставил operator:= в NewSet
commit 96c68f1666
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Nov 12 21:38:07 2024 +0100
#3223
commit 82776f3c77
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Nov 9 12:18:19 2024 +0300
NewSet - много мелких исправлений.
Все тесты проходят кроме Tests 5 - видимо с pabcrtl.dll
commit fbd63efa89
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Nov 3 16:59:48 2024 +0300
NewSets
Некоторые тесты надо исправить
commit 746c4ae2c2
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Thu Oct 31 21:00:42 2024 +0100
#3221
commit 350d07326d
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Thu Oct 31 18:35:51 2024 +0100
#3221
commit aae9ab408b
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Thu Oct 31 18:25:06 2024 +0100
#3221
commit 1e4a811e04
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Oct 30 20:42:59 2024 +0100
test for #3219
commit d1a1247ecd
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Oct 30 20:24:16 2024 +0100
#3219
commit 13b3071d80
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Mon Oct 28 22:42:17 2024 +0300
закомментировал extensions преобразования arr to set. Надеюсь в новой реализации всё исправить
commit 6d5c18f457
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Thu Oct 24 10:17:48 2024 +0300
SF XLSX.pas
commit 0c773a7ecb
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Oct 16 12:04:33 2024 +0300
tree.xml с парой новых узлов для Питона
commit 53b3fd0881
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Oct 9 14:09:01 2024 +0300
Добавил временное преобразование от array of T в set of T
commit 271d5792ce
Author: 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
commit 79f9ab73a0
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Oct 5 15:33:20 2024 +0300
PT4_32
commit 0a20c8d32c
Author: Sun Serega <sunserega2@gmail.com>
Date: Thu Sep 26 09:02:31 2024 +0200
Add `.DistinctBy` (#3122)
commit 11981dbf47
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Sep 25 11:53:02 2024 +0300
IndexMinBy, IndexMaxBy
MinBy, MaxBy - более эффективная реализация
GraphWPF - SaveToClipboard
commit 3eb1d2bd85
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Sep 22 17:42:09 2024 +0200
#3197
commit 20edd487e3
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Sep 22 12:39:03 2024 +0200
#3204
commit 7261231c9c
Merge: 7debbe702 9ab932977
Author: 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
commit 9ab9329771
Author: AlexanderZemlyak <zemlyaksanya@mail.ru>
Date: Sun Sep 22 10:23:18 2024 +0300
Add new projects in PascalACBNETLinux.sln
commit 7debbe702a
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Sep 21 14:29:38 2024 +0300
Критическое обновление LightPT
commit 40335b873e
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Fri Sep 20 22:58:46 2024 +0300
LightPT - OutputListIsClearedFromSpaces := False;
Coords - DrawLine
commit 078281db17
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Thu Sep 19 22:42:44 2024 +0300
coords suite
commit 8d51f999a5
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Thu Sep 19 20:28:28 2024 +0300
Автоклассы - разрешение наследования от классов без полей
Модуль Coords
commit 8f7e92d418
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Mon Sep 16 08:25:43 2024 +0300
Turtle переделал на паттерн Команда
commit a6f6d8a90b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Sep 7 23:11:54 2024 +0300
Правки рейтинга в TeacherPlugin
commit 2365eb3633
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Sep 7 15:54:15 2024 +0300
LinkLabel в TeacherControlPlugin
commit 1835b811ef
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Sep 3 23:51:44 2024 +0300
MathNet Signed
commit b23d6df9e9
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Sep 3 23:16:15 2024 +0300
MathNet.Numerics.dll
commit 790fba67b8
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Aug 27 17:56:09 2024 +0300
3.10.0
commit 1ec4204fd2
Author: Sun Serega <sunserega2@gmail.com>
Date: Mon Aug 26 09:20:27 2024 +0300
`.Batch` cleanup (#3108)
commit b5e674c311
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Mon Aug 26 09:12:14 2024 +0300
3_10_0
commit 7face043cf
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Mon Aug 26 09:11:08 2024 +0300
ToSet
commit e456ad528e
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Aug 24 23:13:57 2024 +0300
3.9.0.3530
commit 3247469e6d
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Aug 24 22:55:27 2024 +0300
Добавлен DrawPoints в Turtle
Исправлена ошибка с отображением подписей в Y-координате
commit 7548142623
Author: 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 := ',')
commit d94885b950
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Aug 24 12:13:09 2024 +0300
randomElement для строк
.ToReals - разделителями могут быть пробел табуляция и переход на новую строку
NumberFormat - функция, возвращающая nfi
commit ae2e26acf8
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Fri Aug 23 19:33:55 2024 +0300
PT4 - новые dll файлы старых заданий серий A
commit 0f8aa6fa3c
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Aug 18 17:28:05 2024 +0300
SetOf как основной синоним HSet
commit db4b53be20
Merge: 86852e0a5 b9fd59a84
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Aug 18 16:05:42 2024 +0300
Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
commit 86852e0a59
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Aug 18 16:05:14 2024 +0300
School - ToBase(number: int64
commit b9fd59a840
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Aug 13 15:08:44 2024 +0200
#2830
commit 4f0b0f8ba0
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Aug 13 14:43:49 2024 +0200
#3194
commit e3ee0fed4c
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Aug 13 13:49:30 2024 +0200
#3097
commit d396c4a9fe
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Aug 13 10:40:23 2024 +0200
#3178
commit 0d846d2335
Merge: e91e35398 a65a86921
Author: 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
commit a65a869211
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Mon Aug 12 15:50:42 2024 +0300
increasing pcu file version
commit e91e353984
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Aug 11 15:21:29 2024 +0300
Обновленный модуль Turtle.pas
commit c18238df39
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Aug 6 20:18:57 2024 +0300
3.9.0.3523
commit 1da2b524a6
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Aug 6 19:34:10 2024 +0300
School PrimeDivisors
commit 47c61d8b14
Author: 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
commit fc3ab96cae
Author: 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
commit 64acde6460
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Jul 31 18:21:04 2024 +0300
Сделал возможным неявное приведение некоторого типа к array of T (при описании оператора в виде статической функции класса)
School - IsPrime(n)
commit 3db5709101
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Jul 31 10:56:18 2024 +0300
ZipCartesianFuncs.pas
commit c4fd47128b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Jul 30 22:56:03 2024 +0300
Zip, Cartesian - сделаны внешние функции до 5 параметров, в т.ч. с проекцией
Zip, Cartesian - методы расширения дополнены чтобы было как во внешних
Перегенерирована справка
commit 7d66f26d4f
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Mon Jul 1 00:16:43 2024 +0300
cleanup and more tests
commit 464dc794a8
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Sun Jun 30 23:31:28 2024 +0300
cleanup and more comments
commit 32f126370c
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Sun Jun 30 21:35:06 2024 +0300
attempt to fix GetEnumerator resolving for Pascal types
commit fb3eeeb28b
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Sat Jun 29 16:26:35 2024 +0300
fix tests
commit 84b0dfe537
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Sat Jun 29 15:49:13 2024 +0300
fix getting MethodInfo
commit 5fa4d9fce7
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 22:45:07 2024 +0300
cold fix set of T resolving
commit 460ce636ab
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 22:21:06 2024 +0300
hot fix set of T resolving
commit 83c2f29ac6
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 21:53:11 2024 +0300
fix method filtering again
commit c840a1a47a
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 21:32:41 2024 +0300
fix type recovery
commit 2436627fdd
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 19:18:32 2024 +0300
fixing method filtering
commit 15a05360a4
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 17:25:39 2024 +0300
attempt to fix GetEnumerator resolving for compiled types
commit 4fd020d084
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 17:21:00 2024 +0300
adding tests
* Squashed commit of the following:
commit 1fd348ec3c
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Feb 23 20:49:26 2025 +0300
NSIS New 3.10
Ярлык в меню Пуск у всех пользователей
commit 80b7182dc1
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Feb 19 11:50:00 2025 +0300
_ in names
commit a2b078960b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Feb 19 10:52:25 2025 +0300
cnfc2
commit 58f26d469d
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Feb 18 22:28:13 2025 +0300
перекомпиляция 3.10.3.3611
commit b78a72977f
Author: 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
commit c3557e388c
Author: 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
commit 9dbac389e1
Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com>
Date: Wed Feb 12 13:57:14 2025 +0300
Add missing projects to pabcnetc.sln (#3247)
commit 41dfb6f187
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Fri Feb 7 21:41:01 2025 +0300
[] - преобразование во все контейнеры
GraphABCHelper - теперь ABCObjects работает под Линукс
School исправлен согласно последним веяниям []
commit 79bbbd10ff
Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com>
Date: Wed Jan 29 20:18:37 2025 +0300
removing files for support fx4.0 (#3240)
commit 88d5c409eb
Author: 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
commit 8fbd7fdfc3
Author: 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)
commit bba132bd5d
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Jan 22 09:14:44 2025 +0300
Поправил справку по функции
commit 1bd21857cc
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Jan 8 18:46:51 2025 +0300
Teacher Control Plugin - возможность задать server.dat
commit 0848a1b796
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Jan 4 22:54:38 2025 +0300
Исправление автоформатирования []
commit d45b782a7b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Jan 4 18:45:07 2025 +0300
Rename PABCSistem in test suite
commit c2347e604b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Jan 4 14:44:51 2025 +0300
Примеры - устранил неточности
LightPT - имя сервера вынес в публичную секцию
commit b68b8da970
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 17 15:52:18 2024 +0300
Примеры Coords1.pas Coords2.pas.pas
commit 8a9788e6f9
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 17 15:06:57 2024 +0300
Перенес проверку set array на уровень парсера
Немного поправил Intellisense по наведению для NewSet
По точке там что то другое работает
commit 874ddebad3
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Dec 14 21:00:38 2024 +0300
Поправил грамматику []
Теперь нельзя в режиме ## использовать атрибуты
Зато можно [1,2,3].Print
commit 080fb487e1
Merge: a53dcd9ed a484b0e82
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Dec 14 15:25:24 2024 +0300
Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
commit a53dcd9ed2
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Dec 14 15:25:16 2024 +0300
SF Prm Cmb для строк
commit a484b0e82d
Author: Sun Serega <sunserega2@gmail.com>
Date: Thu Dec 12 13:49:17 2024 +0200
fix (#3231)
commit 6ef11f249c
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 10 11:05:45 2024 +0300
3.10.2
commit db9679d89f
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 10 10:59:20 2024 +0300
Закончил превращение синтаксиса [] по умолчанию в массивы
commit 45fdde24b4
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Dec 8 18:08:00 2024 +0100
#3229
commit 494b47624d
Merge: 5875b9929 7906d73da
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Dec 8 10:42:07 2024 +0100
Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
commit 5875b99296
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Dec 8 10:41:53 2024 +0100
platformtarget native - .NET 9.0
commit 7906d73da3
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 3 14:25:37 2024 +0300
Небольшие изменения в реализации операций с множествами
commit 087591c7b6
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 27 11:37:07 2024 +0300
3.10.1
Coords - доработки
Distance, Middle, DrawText с фоном и рамкой. Глобальные переменные настройки
commit d268d4f83b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Thu Nov 21 22:24:07 2024 +0300
NSToBytes переделал с исключением
commit 2bacdc8c28
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 20 13:20:33 2024 +0300
Комментарии к NewSet
commit e917ac8eca
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 20 12:42:15 2024 +0300
TypeName для set
commit 206289c6a7
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Nov 19 20:23:03 2024 +0300
Везде заменил _hs на hs в NewSet
Убрал вызовы методов расширений NewSet в PABCSystem.pas
Убрал var в operator +
commit d8262078f6
Author: 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 надо бы сделать исключение
commit f8819665ba
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Nov 16 10:56:11 2024 +0300
NS2
commit 591d9ebe60
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Nov 13 21:34:10 2024 +0100
fix
commit c6505634f4
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Nov 13 21:12:33 2024 +0100
fix
commit a6564df23c
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Nov 13 20:52:29 2024 +0100
fix in new sets
commit 03be5bd931
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 13 22:13:41 2024 +0300
Переставил operator:= в NewSet
commit 96c68f1666
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Nov 12 21:38:07 2024 +0100
#3223
commit 82776f3c77
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Nov 9 12:18:19 2024 +0300
NewSet - много мелких исправлений.
Все тесты проходят кроме Tests 5 - видимо с pabcrtl.dll
commit fbd63efa89
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Nov 3 16:59:48 2024 +0300
NewSets
Некоторые тесты надо исправить
commit 746c4ae2c2
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Thu Oct 31 21:00:42 2024 +0100
#3221
commit 350d07326d
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Thu Oct 31 18:35:51 2024 +0100
#3221
commit aae9ab408b
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Thu Oct 31 18:25:06 2024 +0100
#3221
commit 1e4a811e04
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Oct 30 20:42:59 2024 +0100
test for #3219
commit d1a1247ecd
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Oct 30 20:24:16 2024 +0100
#3219
commit 13b3071d80
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Mon Oct 28 22:42:17 2024 +0300
закомментировал extensions преобразования arr to set. Надеюсь в новой реализации всё исправить
commit 6d5c18f457
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Thu Oct 24 10:17:48 2024 +0300
SF XLSX.pas
commit 0c773a7ecb
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Oct 16 12:04:33 2024 +0300
tree.xml с парой новых узлов для Питона
commit 53b3fd0881
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Oct 9 14:09:01 2024 +0300
Добавил временное преобразование от array of T в set of T
commit 271d5792ce
Author: 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
commit 79f9ab73a0
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Oct 5 15:33:20 2024 +0300
PT4_32
commit 0a20c8d32c
Author: Sun Serega <sunserega2@gmail.com>
Date: Thu Sep 26 09:02:31 2024 +0200
Add `.DistinctBy` (#3122)
commit 11981dbf47
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Sep 25 11:53:02 2024 +0300
IndexMinBy, IndexMaxBy
MinBy, MaxBy - более эффективная реализация
GraphWPF - SaveToClipboard
commit 3eb1d2bd85
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Sep 22 17:42:09 2024 +0200
#3197
commit 20edd487e3
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Sep 22 12:39:03 2024 +0200
#3204
commit 7261231c9c
Merge: 7debbe702 9ab932977
Author: 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
commit 9ab9329771
Author: AlexanderZemlyak <zemlyaksanya@mail.ru>
Date: Sun Sep 22 10:23:18 2024 +0300
Add new projects in PascalACBNETLinux.sln
commit 7debbe702a
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Sep 21 14:29:38 2024 +0300
Критическое обновление LightPT
commit 40335b873e
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Fri Sep 20 22:58:46 2024 +0300
LightPT - OutputListIsClearedFromSpaces := False;
Coords - DrawLine
commit 078281db17
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Thu Sep 19 22:42:44 2024 +0300
coords suite
commit 8d51f999a5
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Thu Sep 19 20:28:28 2024 +0300
Автоклассы - разрешение наследования от классов без полей
Модуль Coords
commit 8f7e92d418
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Mon Sep 16 08:25:43 2024 +0300
Turtle переделал на паттерн Команда
commit a6f6d8a90b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Sep 7 23:11:54 2024 +0300
Правки рейтинга в TeacherPlugin
commit 2365eb3633
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Sep 7 15:54:15 2024 +0300
LinkLabel в TeacherControlPlugin
commit 1835b811ef
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Sep 3 23:51:44 2024 +0300
MathNet Signed
commit b23d6df9e9
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Sep 3 23:16:15 2024 +0300
MathNet.Numerics.dll
commit 790fba67b8
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Aug 27 17:56:09 2024 +0300
3.10.0
commit 1ec4204fd2
Author: Sun Serega <sunserega2@gmail.com>
Date: Mon Aug 26 09:20:27 2024 +0300
`.Batch` cleanup (#3108)
commit b5e674c311
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Mon Aug 26 09:12:14 2024 +0300
3_10_0
commit 7face043cf
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Mon Aug 26 09:11:08 2024 +0300
ToSet
commit e456ad528e
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Aug 24 23:13:57 2024 +0300
3.9.0.3530
commit 3247469e6d
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Aug 24 22:55:27 2024 +0300
Добавлен DrawPoints в Turtle
Исправлена ошибка с отображением подписей в Y-координате
commit 7548142623
Author: 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 := ',')
commit d94885b950
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Aug 24 12:13:09 2024 +0300
randomElement для строк
.ToReals - разделителями могут быть пробел табуляция и переход на новую строку
NumberFormat - функция, возвращающая nfi
commit ae2e26acf8
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Fri Aug 23 19:33:55 2024 +0300
PT4 - новые dll файлы старых заданий серий A
commit 0f8aa6fa3c
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Aug 18 17:28:05 2024 +0300
SetOf как основной синоним HSet
commit db4b53be20
Merge: 86852e0a5 b9fd59a84
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Aug 18 16:05:42 2024 +0300
Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
commit 86852e0a59
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Aug 18 16:05:14 2024 +0300
School - ToBase(number: int64
commit b9fd59a840
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Aug 13 15:08:44 2024 +0200
#2830
commit 4f0b0f8ba0
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Aug 13 14:43:49 2024 +0200
#3194
commit e3ee0fed4c
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Aug 13 13:49:30 2024 +0200
#3097
commit d396c4a9fe
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Aug 13 10:40:23 2024 +0200
#3178
commit 0d846d2335
Merge: e91e35398 a65a86921
Author: 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
commit a65a869211
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Mon Aug 12 15:50:42 2024 +0300
increasing pcu file version
commit e91e353984
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Aug 11 15:21:29 2024 +0300
Обновленный модуль Turtle.pas
commit c18238df39
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Aug 6 20:18:57 2024 +0300
3.9.0.3523
commit 1da2b524a6
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Aug 6 19:34:10 2024 +0300
School PrimeDivisors
commit 47c61d8b14
Author: 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
commit fc3ab96cae
Author: 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
commit 64acde6460
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Jul 31 18:21:04 2024 +0300
Сделал возможным неявное приведение некоторого типа к array of T (при описании оператора в виде статической функции класса)
School - IsPrime(n)
commit 3db5709101
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Jul 31 10:56:18 2024 +0300
ZipCartesianFuncs.pas
commit c4fd47128b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Jul 30 22:56:03 2024 +0300
Zip, Cartesian - сделаны внешние функции до 5 параметров, в т.ч. с проекцией
Zip, Cartesian - методы расширения дополнены чтобы было как во внешних
Перегенерирована справка
commit 7d66f26d4f
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Mon Jul 1 00:16:43 2024 +0300
cleanup and more tests
commit 464dc794a8
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Sun Jun 30 23:31:28 2024 +0300
cleanup and more comments
commit 32f126370c
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Sun Jun 30 21:35:06 2024 +0300
attempt to fix GetEnumerator resolving for Pascal types
commit fb3eeeb28b
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Sat Jun 29 16:26:35 2024 +0300
fix tests
commit 84b0dfe537
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Sat Jun 29 15:49:13 2024 +0300
fix getting MethodInfo
commit 5fa4d9fce7
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 22:45:07 2024 +0300
cold fix set of T resolving
commit 460ce636ab
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 22:21:06 2024 +0300
hot fix set of T resolving
commit 83c2f29ac6
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 21:53:11 2024 +0300
fix method filtering again
commit c840a1a47a
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 21:32:41 2024 +0300
fix type recovery
commit 2436627fdd
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 19:18:32 2024 +0300
fixing method filtering
commit 15a05360a4
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 17:25:39 2024 +0300
attempt to fix GetEnumerator resolving for compiled types
commit 4fd020d084
Author: 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:
commit 7751fe7e75
Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com>
Date: Sun Mar 16 13:28:03 2025 +0300
generating language res file at build time (#3252)
commit d1fce63d69
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Mar 4 08:38:09 2025 +0300
Сборка после pr SDK
commit d491e88aa7
Author: 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
commit 1fd348ec3c
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Feb 23 20:49:26 2025 +0300
NSIS New 3.10
Ярлык в меню Пуск у всех пользователей
commit 80b7182dc1
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Feb 19 11:50:00 2025 +0300
_ in names
commit a2b078960b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Feb 19 10:52:25 2025 +0300
cnfc2
commit 58f26d469d
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Feb 18 22:28:13 2025 +0300
перекомпиляция 3.10.3.3611
commit b78a72977f
Author: 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
commit c3557e388c
Author: 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
commit 9dbac389e1
Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com>
Date: Wed Feb 12 13:57:14 2025 +0300
Add missing projects to pabcnetc.sln (#3247)
commit 41dfb6f187
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Fri Feb 7 21:41:01 2025 +0300
[] - преобразование во все контейнеры
GraphABCHelper - теперь ABCObjects работает под Линукс
School исправлен согласно последним веяниям []
commit 79bbbd10ff
Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com>
Date: Wed Jan 29 20:18:37 2025 +0300
removing files for support fx4.0 (#3240)
commit 88d5c409eb
Author: 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
commit 8fbd7fdfc3
Author: 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)
commit bba132bd5d
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Jan 22 09:14:44 2025 +0300
Поправил справку по функции
commit 1bd21857cc
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Jan 8 18:46:51 2025 +0300
Teacher Control Plugin - возможность задать server.dat
commit 0848a1b796
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Jan 4 22:54:38 2025 +0300
Исправление автоформатирования []
commit d45b782a7b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Jan 4 18:45:07 2025 +0300
Rename PABCSistem in test suite
commit c2347e604b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Jan 4 14:44:51 2025 +0300
Примеры - устранил неточности
LightPT - имя сервера вынес в публичную секцию
commit b68b8da970
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 17 15:52:18 2024 +0300
Примеры Coords1.pas Coords2.pas.pas
commit 8a9788e6f9
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 17 15:06:57 2024 +0300
Перенес проверку set array на уровень парсера
Немного поправил Intellisense по наведению для NewSet
По точке там что то другое работает
commit 874ddebad3
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Dec 14 21:00:38 2024 +0300
Поправил грамматику []
Теперь нельзя в режиме ## использовать атрибуты
Зато можно [1,2,3].Print
commit 080fb487e1
Merge: a53dcd9ed a484b0e82
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Dec 14 15:25:24 2024 +0300
Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
commit a53dcd9ed2
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Dec 14 15:25:16 2024 +0300
SF Prm Cmb для строк
commit a484b0e82d
Author: Sun Serega <sunserega2@gmail.com>
Date: Thu Dec 12 13:49:17 2024 +0200
fix (#3231)
commit 6ef11f249c
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 10 11:05:45 2024 +0300
3.10.2
commit db9679d89f
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 10 10:59:20 2024 +0300
Закончил превращение синтаксиса [] по умолчанию в массивы
commit 45fdde24b4
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Dec 8 18:08:00 2024 +0100
#3229
commit 494b47624d
Merge: 5875b9929 7906d73da
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Dec 8 10:42:07 2024 +0100
Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
commit 5875b99296
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Dec 8 10:41:53 2024 +0100
platformtarget native - .NET 9.0
commit 7906d73da3
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 3 14:25:37 2024 +0300
Небольшие изменения в реализации операций с множествами
commit 087591c7b6
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 27 11:37:07 2024 +0300
3.10.1
Coords - доработки
Distance, Middle, DrawText с фоном и рамкой. Глобальные переменные настройки
commit d268d4f83b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Thu Nov 21 22:24:07 2024 +0300
NSToBytes переделал с исключением
commit 2bacdc8c28
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 20 13:20:33 2024 +0300
Комментарии к NewSet
commit e917ac8eca
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 20 12:42:15 2024 +0300
TypeName для set
commit 206289c6a7
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Nov 19 20:23:03 2024 +0300
Везде заменил _hs на hs в NewSet
Убрал вызовы методов расширений NewSet в PABCSystem.pas
Убрал var в operator +
commit d8262078f6
Author: 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 надо бы сделать исключение
commit f8819665ba
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Nov 16 10:56:11 2024 +0300
NS2
commit 591d9ebe60
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Nov 13 21:34:10 2024 +0100
fix
commit c6505634f4
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Nov 13 21:12:33 2024 +0100
fix
commit a6564df23c
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Nov 13 20:52:29 2024 +0100
fix in new sets
commit 03be5bd931
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 13 22:13:41 2024 +0300
Переставил operator:= в NewSet
commit 96c68f1666
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Nov 12 21:38:07 2024 +0100
#3223
commit 82776f3c77
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Nov 9 12:18:19 2024 +0300
NewSet - много мелких исправлений.
Все тесты проходят кроме Tests 5 - видимо с pabcrtl.dll
commit fbd63efa89
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Nov 3 16:59:48 2024 +0300
NewSets
Некоторые тесты надо исправить
commit 746c4ae2c2
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Thu Oct 31 21:00:42 2024 +0100
#3221
commit 350d07326d
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Thu Oct 31 18:35:51 2024 +0100
#3221
commit aae9ab408b
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Thu Oct 31 18:25:06 2024 +0100
#3221
commit 1e4a811e04
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Oct 30 20:42:59 2024 +0100
test for #3219
commit d1a1247ecd
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Oct 30 20:24:16 2024 +0100
#3219
commit 13b3071d80
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Mon Oct 28 22:42:17 2024 +0300
закомментировал extensions преобразования arr to set. Надеюсь в новой реализации всё исправить
commit 6d5c18f457
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Thu Oct 24 10:17:48 2024 +0300
SF XLSX.pas
commit 0c773a7ecb
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Oct 16 12:04:33 2024 +0300
tree.xml с парой новых узлов для Питона
commit 53b3fd0881
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Oct 9 14:09:01 2024 +0300
Добавил временное преобразование от array of T в set of T
commit 271d5792ce
Author: 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
commit 79f9ab73a0
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Oct 5 15:33:20 2024 +0300
PT4_32
commit 0a20c8d32c
Author: Sun Serega <sunserega2@gmail.com>
Date: Thu Sep 26 09:02:31 2024 +0200
Add `.DistinctBy` (#3122)
commit 11981dbf47
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Sep 25 11:53:02 2024 +0300
IndexMinBy, IndexMaxBy
MinBy, MaxBy - более эффективная реализация
GraphWPF - SaveToClipboard
commit 3eb1d2bd85
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Sep 22 17:42:09 2024 +0200
#3197
commit 20edd487e3
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Sep 22 12:39:03 2024 +0200
#3204
commit 7261231c9c
Merge: 7debbe702 9ab932977
Author: 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
commit 9ab9329771
Author: AlexanderZemlyak <zemlyaksanya@mail.ru>
Date: Sun Sep 22 10:23:18 2024 +0300
Add new projects in PascalACBNETLinux.sln
commit 7debbe702a
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Sep 21 14:29:38 2024 +0300
Критическое обновление LightPT
commit 40335b873e
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Fri Sep 20 22:58:46 2024 +0300
LightPT - OutputListIsClearedFromSpaces := False;
Coords - DrawLine
commit 078281db17
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Thu Sep 19 22:42:44 2024 +0300
coords suite
commit 8d51f999a5
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Thu Sep 19 20:28:28 2024 +0300
Автоклассы - разрешение наследования от классов без полей
Модуль Coords
commit 8f7e92d418
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Mon Sep 16 08:25:43 2024 +0300
Turtle переделал на паттерн Команда
commit a6f6d8a90b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Sep 7 23:11:54 2024 +0300
Правки рейтинга в TeacherPlugin
commit 2365eb3633
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Sep 7 15:54:15 2024 +0300
LinkLabel в TeacherControlPlugin
commit 1835b811ef
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Sep 3 23:51:44 2024 +0300
MathNet Signed
commit b23d6df9e9
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Sep 3 23:16:15 2024 +0300
MathNet.Numerics.dll
commit 790fba67b8
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Aug 27 17:56:09 2024 +0300
3.10.0
commit 1ec4204fd2
Author: Sun Serega <sunserega2@gmail.com>
Date: Mon Aug 26 09:20:27 2024 +0300
`.Batch` cleanup (#3108)
commit b5e674c311
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Mon Aug 26 09:12:14 2024 +0300
3_10_0
commit 7face043cf
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Mon Aug 26 09:11:08 2024 +0300
ToSet
commit e456ad528e
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Aug 24 23:13:57 2024 +0300
3.9.0.3530
commit 3247469e6d
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Aug 24 22:55:27 2024 +0300
Добавлен DrawPoints в Turtle
Исправлена ошибка с отображением подписей в Y-координате
commit 7548142623
Author: 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 := ',')
commit d94885b950
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Aug 24 12:13:09 2024 +0300
randomElement для строк
.ToReals - разделителями могут быть пробел табуляция и переход на новую строку
NumberFormat - функция, возвращающая nfi
commit ae2e26acf8
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Fri Aug 23 19:33:55 2024 +0300
PT4 - новые dll файлы старых заданий серий A
commit 0f8aa6fa3c
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Aug 18 17:28:05 2024 +0300
SetOf как основной синоним HSet
commit db4b53be20
Merge: 86852e0a5 b9fd59a84
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Aug 18 16:05:42 2024 +0300
Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
commit 86852e0a59
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Aug 18 16:05:14 2024 +0300
School - ToBase(number: int64
commit b9fd59a840
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Aug 13 15:08:44 2024 +0200
#2830
commit 4f0b0f8ba0
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Aug 13 14:43:49 2024 +0200
#3194
commit e3ee0fed4c
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Aug 13 13:49:30 2024 +0200
#3097
commit d396c4a9fe
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Aug 13 10:40:23 2024 +0200
#3178
commit 0d846d2335
Merge: e91e35398 a65a86921
Author: 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
commit a65a869211
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Mon Aug 12 15:50:42 2024 +0300
increasing pcu file version
commit e91e353984
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Aug 11 15:21:29 2024 +0300
Обновленный модуль Turtle.pas
commit c18238df39
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Aug 6 20:18:57 2024 +0300
3.9.0.3523
commit 1da2b524a6
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Aug 6 19:34:10 2024 +0300
School PrimeDivisors
commit 47c61d8b14
Author: 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
commit fc3ab96cae
Author: 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
commit 64acde6460
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Jul 31 18:21:04 2024 +0300
Сделал возможным неявное приведение некоторого типа к array of T (при описании оператора в виде статической функции класса)
School - IsPrime(n)
commit 3db5709101
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Jul 31 10:56:18 2024 +0300
ZipCartesianFuncs.pas
commit c4fd47128b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Jul 30 22:56:03 2024 +0300
Zip, Cartesian - сделаны внешние функции до 5 параметров, в т.ч. с проекцией
Zip, Cartesian - методы расширения дополнены чтобы было как во внешних
Перегенерирована справка
commit 7d66f26d4f
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Mon Jul 1 00:16:43 2024 +0300
cleanup and more tests
commit 464dc794a8
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Sun Jun 30 23:31:28 2024 +0300
cleanup and more comments
commit 32f126370c
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Sun Jun 30 21:35:06 2024 +0300
attempt to fix GetEnumerator resolving for Pascal types
commit fb3eeeb28b
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Sat Jun 29 16:26:35 2024 +0300
fix tests
commit 84b0dfe537
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Sat Jun 29 15:49:13 2024 +0300
fix getting MethodInfo
commit 5fa4d9fce7
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 22:45:07 2024 +0300
cold fix set of T resolving
commit 460ce636ab
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 22:21:06 2024 +0300
hot fix set of T resolving
commit 83c2f29ac6
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 21:53:11 2024 +0300
fix method filtering again
commit c840a1a47a
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 21:32:41 2024 +0300
fix type recovery
commit 2436627fdd
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 19:18:32 2024 +0300
fixing method filtering
commit 15a05360a4
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 17:25:39 2024 +0300
attempt to fix GetEnumerator resolving for compiled types
commit 4fd020d084
Author: 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:
commit 7751fe7e75
Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com>
Date: Sun Mar 16 13:28:03 2025 +0300
generating language res file at build time (#3252)
commit d1fce63d69
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Mar 4 08:38:09 2025 +0300
Сборка после pr SDK
commit d491e88aa7
Author: 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
commit 1fd348ec3c
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Feb 23 20:49:26 2025 +0300
NSIS New 3.10
Ярлык в меню Пуск у всех пользователей
commit 80b7182dc1
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Feb 19 11:50:00 2025 +0300
_ in names
commit a2b078960b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Feb 19 10:52:25 2025 +0300
cnfc2
commit 58f26d469d
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Feb 18 22:28:13 2025 +0300
перекомпиляция 3.10.3.3611
commit b78a72977f
Author: 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
commit c3557e388c
Author: 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
commit 9dbac389e1
Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com>
Date: Wed Feb 12 13:57:14 2025 +0300
Add missing projects to pabcnetc.sln (#3247)
commit 41dfb6f187
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Fri Feb 7 21:41:01 2025 +0300
[] - преобразование во все контейнеры
GraphABCHelper - теперь ABCObjects работает под Линукс
School исправлен согласно последним веяниям []
commit 79bbbd10ff
Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com>
Date: Wed Jan 29 20:18:37 2025 +0300
removing files for support fx4.0 (#3240)
commit 88d5c409eb
Author: 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
commit 8fbd7fdfc3
Author: 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)
commit bba132bd5d
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Jan 22 09:14:44 2025 +0300
Поправил справку по функции
commit 1bd21857cc
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Jan 8 18:46:51 2025 +0300
Teacher Control Plugin - возможность задать server.dat
commit 0848a1b796
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Jan 4 22:54:38 2025 +0300
Исправление автоформатирования []
commit d45b782a7b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Jan 4 18:45:07 2025 +0300
Rename PABCSistem in test suite
commit c2347e604b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Jan 4 14:44:51 2025 +0300
Примеры - устранил неточности
LightPT - имя сервера вынес в публичную секцию
commit b68b8da970
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 17 15:52:18 2024 +0300
Примеры Coords1.pas Coords2.pas.pas
commit 8a9788e6f9
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 17 15:06:57 2024 +0300
Перенес проверку set array на уровень парсера
Немного поправил Intellisense по наведению для NewSet
По точке там что то другое работает
commit 874ddebad3
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Dec 14 21:00:38 2024 +0300
Поправил грамматику []
Теперь нельзя в режиме ## использовать атрибуты
Зато можно [1,2,3].Print
commit 080fb487e1
Merge: a53dcd9ed a484b0e82
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Dec 14 15:25:24 2024 +0300
Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
commit a53dcd9ed2
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Dec 14 15:25:16 2024 +0300
SF Prm Cmb для строк
commit a484b0e82d
Author: Sun Serega <sunserega2@gmail.com>
Date: Thu Dec 12 13:49:17 2024 +0200
fix (#3231)
commit 6ef11f249c
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 10 11:05:45 2024 +0300
3.10.2
commit db9679d89f
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 10 10:59:20 2024 +0300
Закончил превращение синтаксиса [] по умолчанию в массивы
commit 45fdde24b4
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Dec 8 18:08:00 2024 +0100
#3229
commit 494b47624d
Merge: 5875b9929 7906d73da
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Dec 8 10:42:07 2024 +0100
Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
commit 5875b99296
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Dec 8 10:41:53 2024 +0100
platformtarget native - .NET 9.0
commit 7906d73da3
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 3 14:25:37 2024 +0300
Небольшие изменения в реализации операций с множествами
commit 087591c7b6
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 27 11:37:07 2024 +0300
3.10.1
Coords - доработки
Distance, Middle, DrawText с фоном и рамкой. Глобальные переменные настройки
commit d268d4f83b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Thu Nov 21 22:24:07 2024 +0300
NSToBytes переделал с исключением
commit 2bacdc8c28
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 20 13:20:33 2024 +0300
Комментарии к NewSet
commit e917ac8eca
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 20 12:42:15 2024 +0300
TypeName для set
commit 206289c6a7
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Nov 19 20:23:03 2024 +0300
Везде заменил _hs на hs в NewSet
Убрал вызовы методов расширений NewSet в PABCSystem.pas
Убрал var в operator +
commit d8262078f6
Author: 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 надо бы сделать исключение
commit f8819665ba
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Nov 16 10:56:11 2024 +0300
NS2
commit 591d9ebe60
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Nov 13 21:34:10 2024 +0100
fix
commit c6505634f4
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Nov 13 21:12:33 2024 +0100
fix
commit a6564df23c
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Nov 13 20:52:29 2024 +0100
fix in new sets
commit 03be5bd931
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 13 22:13:41 2024 +0300
Переставил operator:= в NewSet
commit 96c68f1666
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Nov 12 21:38:07 2024 +0100
#3223
commit 82776f3c77
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Nov 9 12:18:19 2024 +0300
NewSet - много мелких исправлений.
Все тесты проходят кроме Tests 5 - видимо с pabcrtl.dll
commit fbd63efa89
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Nov 3 16:59:48 2024 +0300
NewSets
Некоторые тесты надо исправить
commit 746c4ae2c2
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Thu Oct 31 21:00:42 2024 +0100
#3221
commit 350d07326d
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Thu Oct 31 18:35:51 2024 +0100
#3221
commit aae9ab408b
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Thu Oct 31 18:25:06 2024 +0100
#3221
commit 1e4a811e04
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Oct 30 20:42:59 2024 +0100
test for #3219
commit d1a1247ecd
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Oct 30 20:24:16 2024 +0100
#3219
commit 13b3071d80
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Mon Oct 28 22:42:17 2024 +0300
закомментировал extensions преобразования arr to set. Надеюсь в новой реализации всё исправить
commit 6d5c18f457
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Thu Oct 24 10:17:48 2024 +0300
SF XLSX.pas
commit 0c773a7ecb
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Oct 16 12:04:33 2024 +0300
tree.xml с парой новых узлов для Питона
commit 53b3fd0881
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Oct 9 14:09:01 2024 +0300
Добавил временное преобразование от array of T в set of T
commit 271d5792ce
Author: 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
commit 79f9ab73a0
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Oct 5 15:33:20 2024 +0300
PT4_32
commit 0a20c8d32c
Author: Sun Serega <sunserega2@gmail.com>
Date: Thu Sep 26 09:02:31 2024 +0200
Add `.DistinctBy` (#3122)
commit 11981dbf47
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Sep 25 11:53:02 2024 +0300
IndexMinBy, IndexMaxBy
MinBy, MaxBy - более эффективная реализация
GraphWPF - SaveToClipboard
commit 3eb1d2bd85
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Sep 22 17:42:09 2024 +0200
#3197
commit 20edd487e3
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Sep 22 12:39:03 2024 +0200
#3204
commit 7261231c9c
Merge: 7debbe702 9ab932977
Author: 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
commit 9ab9329771
Author: AlexanderZemlyak <zemlyaksanya@mail.ru>
Date: Sun Sep 22 10:23:18 2024 +0300
Add new projects in PascalACBNETLinux.sln
commit 7debbe702a
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Sep 21 14:29:38 2024 +0300
Критическое обновление LightPT
commit 40335b873e
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Fri Sep 20 22:58:46 2024 +0300
LightPT - OutputListIsClearedFromSpaces := False;
Coords - DrawLine
commit 078281db17
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Thu Sep 19 22:42:44 2024 +0300
coords suite
commit 8d51f999a5
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Thu Sep 19 20:28:28 2024 +0300
Автоклассы - разрешение наследования от классов без полей
Модуль Coords
commit 8f7e92d418
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Mon Sep 16 08:25:43 2024 +0300
Turtle переделал на паттерн Команда
commit a6f6d8a90b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Sep 7 23:11:54 2024 +0300
Правки рейтинга в TeacherPlugin
commit 2365eb3633
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Sep 7 15:54:15 2024 +0300
LinkLabel в TeacherControlPlugin
commit 1835b811ef
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Sep 3 23:51:44 2024 +0300
MathNet Signed
commit b23d6df9e9
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Sep 3 23:16:15 2024 +0300
MathNet.Numerics.dll
commit 790fba67b8
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Aug 27 17:56:09 2024 +0300
3.10.0
commit 1ec4204fd2
Author: Sun Serega <sunserega2@gmail.com>
Date: Mon Aug 26 09:20:27 2024 +0300
`.Batch` cleanup (#3108)
commit b5e674c311
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Mon Aug 26 09:12:14 2024 +0300
3_10_0
commit 7face043cf
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Mon Aug 26 09:11:08 2024 +0300
ToSet
commit e456ad528e
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Aug 24 23:13:57 2024 +0300
3.9.0.3530
commit 3247469e6d
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Aug 24 22:55:27 2024 +0300
Добавлен DrawPoints в Turtle
Исправлена ошибка с отображением подписей в Y-координате
commit 7548142623
Author: 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 := ',')
commit d94885b950
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Aug 24 12:13:09 2024 +0300
randomElement для строк
.ToReals - разделителями могут быть пробел табуляция и переход на новую строку
NumberFormat - функция, возвращающая nfi
commit ae2e26acf8
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Fri Aug 23 19:33:55 2024 +0300
PT4 - новые dll файлы старых заданий серий A
commit 0f8aa6fa3c
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Aug 18 17:28:05 2024 +0300
SetOf как основной синоним HSet
commit db4b53be20
Merge: 86852e0a5 b9fd59a84
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Aug 18 16:05:42 2024 +0300
Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
commit 86852e0a59
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Aug 18 16:05:14 2024 +0300
School - ToBase(number: int64
commit b9fd59a840
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Aug 13 15:08:44 2024 +0200
#2830
commit 4f0b0f8ba0
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Aug 13 14:43:49 2024 +0200
#3194
commit e3ee0fed4c
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Aug 13 13:49:30 2024 +0200
#3097
commit d396c4a9fe
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Aug 13 10:40:23 2024 +0200
#3178
commit 0d846d2335
Merge: e91e35398 a65a86921
Author: 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
commit a65a869211
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Mon Aug 12 15:50:42 2024 +0300
increasing pcu file version
commit e91e353984
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Aug 11 15:21:29 2024 +0300
Обновленный модуль Turtle.pas
commit c18238df39
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Aug 6 20:18:57 2024 +0300
3.9.0.3523
commit 1da2b524a6
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Aug 6 19:34:10 2024 +0300
School PrimeDivisors
commit 47c61d8b14
Author: 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
commit fc3ab96cae
Author: 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
commit 64acde6460
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Jul 31 18:21:04 2024 +0300
Сделал возможным неявное приведение некоторого типа к array of T (при описании оператора в виде статической функции класса)
School - IsPrime(n)
commit 3db5709101
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Jul 31 10:56:18 2024 +0300
ZipCartesianFuncs.pas
commit c4fd47128b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Jul 30 22:56:03 2024 +0300
Zip, Cartesian - сделаны внешние функции до 5 параметров, в т.ч. с проекцией
Zip, Cartesian - методы расширения дополнены чтобы было как во внешних
Перегенерирована справка
commit 7d66f26d4f
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Mon Jul 1 00:16:43 2024 +0300
cleanup and more tests
commit 464dc794a8
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Sun Jun 30 23:31:28 2024 +0300
cleanup and more comments
commit 32f126370c
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Sun Jun 30 21:35:06 2024 +0300
attempt to fix GetEnumerator resolving for Pascal types
commit fb3eeeb28b
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Sat Jun 29 16:26:35 2024 +0300
fix tests
commit 84b0dfe537
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Sat Jun 29 15:49:13 2024 +0300
fix getting MethodInfo
commit 5fa4d9fce7
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 22:45:07 2024 +0300
cold fix set of T resolving
commit 460ce636ab
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 22:21:06 2024 +0300
hot fix set of T resolving
commit 83c2f29ac6
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 21:53:11 2024 +0300
fix method filtering again
commit c840a1a47a
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 21:32:41 2024 +0300
fix type recovery
commit 2436627fdd
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 19:18:32 2024 +0300
fixing method filtering
commit 15a05360a4
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 17:25:39 2024 +0300
attempt to fix GetEnumerator resolving for compiled types
commit 4fd020d084
Author: 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:
commit 771ea7b445
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Apr 6 14:32:17 2025 +0200
#3230
commit 28a1a03e8d
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Apr 6 11:35:09 2025 +0200
#3251
commit af7abc770b
Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com>
Date: Sun Apr 6 08:33:34 2025 +0300
synchronization of namespaces and folders for TeacherControlPlugin (#3262)
commit aae723b982
Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com>
Date: Thu Apr 3 12:00:04 2025 +0300
Create default syntax tree converter class (#3216)
Для удобства разработчиков простых языков, которым не требуются дополнительные обходы синтаксического дерева.
commit f9cc90e50f
Author: Sun Serega <sunserega2@gmail.com>
Date: Thu Apr 3 11:59:46 2025 +0300
fix errors (#3260)
commit f85bfad60f
Author: 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 7751fe7e75
Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com>
Date: Sun Mar 16 13:28:03 2025 +0300
generating language res file at build time (#3252)
commit d1fce63d69
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Mar 4 08:38:09 2025 +0300
Сборка после pr SDK
commit d491e88aa7
Author: 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
commit 1fd348ec3c
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Feb 23 20:49:26 2025 +0300
NSIS New 3.10
Ярлык в меню Пуск у всех пользователей
commit 80b7182dc1
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Feb 19 11:50:00 2025 +0300
_ in names
commit a2b078960b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Feb 19 10:52:25 2025 +0300
cnfc2
commit 58f26d469d
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Feb 18 22:28:13 2025 +0300
перекомпиляция 3.10.3.3611
commit b78a72977f
Author: 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
commit c3557e388c
Author: 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
commit 9dbac389e1
Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com>
Date: Wed Feb 12 13:57:14 2025 +0300
Add missing projects to pabcnetc.sln (#3247)
commit 41dfb6f187
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Fri Feb 7 21:41:01 2025 +0300
[] - преобразование во все контейнеры
GraphABCHelper - теперь ABCObjects работает под Линукс
School исправлен согласно последним веяниям []
commit 79bbbd10ff
Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com>
Date: Wed Jan 29 20:18:37 2025 +0300
removing files for support fx4.0 (#3240)
commit 88d5c409eb
Author: 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
commit 8fbd7fdfc3
Author: 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)
commit bba132bd5d
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Jan 22 09:14:44 2025 +0300
Поправил справку по функции
commit 1bd21857cc
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Jan 8 18:46:51 2025 +0300
Teacher Control Plugin - возможность задать server.dat
commit 0848a1b796
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Jan 4 22:54:38 2025 +0300
Исправление автоформатирования []
commit d45b782a7b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Jan 4 18:45:07 2025 +0300
Rename PABCSistem in test suite
commit c2347e604b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Jan 4 14:44:51 2025 +0300
Примеры - устранил неточности
LightPT - имя сервера вынес в публичную секцию
commit b68b8da970
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 17 15:52:18 2024 +0300
Примеры Coords1.pas Coords2.pas.pas
commit 8a9788e6f9
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 17 15:06:57 2024 +0300
Перенес проверку set array на уровень парсера
Немного поправил Intellisense по наведению для NewSet
По точке там что то другое работает
commit 874ddebad3
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Dec 14 21:00:38 2024 +0300
Поправил грамматику []
Теперь нельзя в режиме ## использовать атрибуты
Зато можно [1,2,3].Print
commit 080fb487e1
Merge: a53dcd9ed a484b0e82
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Dec 14 15:25:24 2024 +0300
Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
commit a53dcd9ed2
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Dec 14 15:25:16 2024 +0300
SF Prm Cmb для строк
commit a484b0e82d
Author: Sun Serega <sunserega2@gmail.com>
Date: Thu Dec 12 13:49:17 2024 +0200
fix (#3231)
commit 6ef11f249c
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 10 11:05:45 2024 +0300
3.10.2
commit db9679d89f
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 10 10:59:20 2024 +0300
Закончил превращение синтаксиса [] по умолчанию в массивы
commit 45fdde24b4
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Dec 8 18:08:00 2024 +0100
#3229
commit 494b47624d
Merge: 5875b9929 7906d73da
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Dec 8 10:42:07 2024 +0100
Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
commit 5875b99296
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Dec 8 10:41:53 2024 +0100
platformtarget native - .NET 9.0
commit 7906d73da3
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 3 14:25:37 2024 +0300
Небольшие изменения в реализации операций с множествами
commit 087591c7b6
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 27 11:37:07 2024 +0300
3.10.1
Coords - доработки
Distance, Middle, DrawText с фоном и рамкой. Глобальные переменные настройки
commit d268d4f83b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Thu Nov 21 22:24:07 2024 +0300
NSToBytes переделал с исключением
commit 2bacdc8c28
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 20 13:20:33 2024 +0300
Комментарии к NewSet
commit e917ac8eca
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 20 12:42:15 2024 +0300
TypeName для set
commit 206289c6a7
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Nov 19 20:23:03 2024 +0300
Везде заменил _hs на hs в NewSet
Убрал вызовы методов расширений NewSet в PABCSystem.pas
Убрал var в operator +
commit d8262078f6
Author: 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 надо бы сделать исключение
commit f8819665ba
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Nov 16 10:56:11 2024 +0300
NS2
commit 591d9ebe60
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Nov 13 21:34:10 2024 +0100
fix
commit c6505634f4
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Nov 13 21:12:33 2024 +0100
fix
commit a6564df23c
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Nov 13 20:52:29 2024 +0100
fix in new sets
commit 03be5bd931
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 13 22:13:41 2024 +0300
Переставил operator:= в NewSet
commit 96c68f1666
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Nov 12 21:38:07 2024 +0100
#3223
commit 82776f3c77
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Nov 9 12:18:19 2024 +0300
NewSet - много мелких исправлений.
Все тесты проходят кроме Tests 5 - видимо с pabcrtl.dll
commit fbd63efa89
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Nov 3 16:59:48 2024 +0300
NewSets
Некоторые тесты надо исправить
commit 746c4ae2c2
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Thu Oct 31 21:00:42 2024 +0100
#3221
commit 350d07326d
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Thu Oct 31 18:35:51 2024 +0100
#3221
commit aae9ab408b
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Thu Oct 31 18:25:06 2024 +0100
#3221
commit 1e4a811e04
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Oct 30 20:42:59 2024 +0100
test for #3219
commit d1a1247ecd
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Oct 30 20:24:16 2024 +0100
#3219
commit 13b3071d80
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Mon Oct 28 22:42:17 2024 +0300
закомментировал extensions преобразования arr to set. Надеюсь в новой реализации всё исправить
commit 6d5c18f457
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Thu Oct 24 10:17:48 2024 +0300
SF XLSX.pas
commit 0c773a7ecb
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Oct 16 12:04:33 2024 +0300
tree.xml с парой новых узлов для Питона
commit 53b3fd0881
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Oct 9 14:09:01 2024 +0300
Добавил временное преобразование от array of T в set of T
commit 271d5792ce
Author: 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
commit 79f9ab73a0
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Oct 5 15:33:20 2024 +0300
PT4_32
commit 0a20c8d32c
Author: Sun Serega <sunserega2@gmail.com>
Date: Thu Sep 26 09:02:31 2024 +0200
Add `.DistinctBy` (#3122)
commit 11981dbf47
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Sep 25 11:53:02 2024 +0300
IndexMinBy, IndexMaxBy
MinBy, MaxBy - более эффективная реализация
GraphWPF - SaveToClipboard
commit 3eb1d2bd85
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Sep 22 17:42:09 2024 +0200
#3197
commit 20edd487e3
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Sep 22 12:39:03 2024 +0200
#3204
commit 7261231c9c
Merge: 7debbe702 9ab932977
Author: 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
commit 9ab9329771
Author: AlexanderZemlyak <zemlyaksanya@mail.ru>
Date: Sun Sep 22 10:23:18 2024 +0300
Add new projects in PascalACBNETLinux.sln
commit 7debbe702a
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Sep 21 14:29:38 2024 +0300
Критическое обновление LightPT
commit 40335b873e
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Fri Sep 20 22:58:46 2024 +0300
LightPT - OutputListIsClearedFromSpaces := False;
Coords - DrawLine
commit 078281db17
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Thu Sep 19 22:42:44 2024 +0300
coords suite
commit 8d51f999a5
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Thu Sep 19 20:28:28 2024 +0300
Автоклассы - разрешение наследования от классов без полей
Модуль Coords
commit 8f7e92d418
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Mon Sep 16 08:25:43 2024 +0300
Turtle переделал на паттерн Команда
commit a6f6d8a90b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Sep 7 23:11:54 2024 +0300
Правки рейтинга в TeacherPlugin
commit 2365eb3633
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Sep 7 15:54:15 2024 +0300
LinkLabel в TeacherControlPlugin
commit 1835b811ef
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Sep 3 23:51:44 2024 +0300
MathNet Signed
commit b23d6df9e9
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Sep 3 23:16:15 2024 +0300
MathNet.Numerics.dll
commit 790fba67b8
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Aug 27 17:56:09 2024 +0300
3.10.0
commit 1ec4204fd2
Author: Sun Serega <sunserega2@gmail.com>
Date: Mon Aug 26 09:20:27 2024 +0300
`.Batch` cleanup (#3108)
commit b5e674c311
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Mon Aug 26 09:12:14 2024 +0300
3_10_0
commit 7face043cf
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Mon Aug 26 09:11:08 2024 +0300
ToSet
commit e456ad528e
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Aug 24 23:13:57 2024 +0300
3.9.0.3530
commit 3247469e6d
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Aug 24 22:55:27 2024 +0300
Добавлен DrawPoints в Turtle
Исправлена ошибка с отображением подписей в Y-координате
commit 7548142623
Author: 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 := ',')
commit d94885b950
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Aug 24 12:13:09 2024 +0300
randomElement для строк
.ToReals - разделителями могут быть пробел табуляция и переход на новую строку
NumberFormat - функция, возвращающая nfi
commit ae2e26acf8
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Fri Aug 23 19:33:55 2024 +0300
PT4 - новые dll файлы старых заданий серий A
commit 0f8aa6fa3c
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Aug 18 17:28:05 2024 +0300
SetOf как основной синоним HSet
commit db4b53be20
Merge: 86852e0a5 b9fd59a84
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Aug 18 16:05:42 2024 +0300
Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
commit 86852e0a59
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Aug 18 16:05:14 2024 +0300
School - ToBase(number: int64
commit b9fd59a840
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Aug 13 15:08:44 2024 +0200
#2830
commit 4f0b0f8ba0
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Aug 13 14:43:49 2024 +0200
#3194
commit e3ee0fed4c
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Aug 13 13:49:30 2024 +0200
#3097
commit d396c4a9fe
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Aug 13 10:40:23 2024 +0200
#3178
commit 0d846d2335
Merge: e91e35398 a65a86921
Author: 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
commit a65a869211
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Mon Aug 12 15:50:42 2024 +0300
increasing pcu file version
commit e91e353984
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Aug 11 15:21:29 2024 +0300
Обновленный модуль Turtle.pas
commit c18238df39
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Aug 6 20:18:57 2024 +0300
3.9.0.3523
commit 1da2b524a6
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Aug 6 19:34:10 2024 +0300
School PrimeDivisors
commit 47c61d8b14
Author: 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
commit fc3ab96cae
Author: 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
commit 64acde6460
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Jul 31 18:21:04 2024 +0300
Сделал возможным неявное приведение некоторого типа к array of T (при описании оператора в виде статической функции класса)
School - IsPrime(n)
commit 3db5709101
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Jul 31 10:56:18 2024 +0300
ZipCartesianFuncs.pas
commit c4fd47128b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Jul 30 22:56:03 2024 +0300
Zip, Cartesian - сделаны внешние функции до 5 параметров, в т.ч. с проекцией
Zip, Cartesian - методы расширения дополнены чтобы было как во внешних
Перегенерирована справка
commit 7d66f26d4f
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Mon Jul 1 00:16:43 2024 +0300
cleanup and more tests
commit 464dc794a8
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Sun Jun 30 23:31:28 2024 +0300
cleanup and more comments
commit 32f126370c
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Sun Jun 30 21:35:06 2024 +0300
attempt to fix GetEnumerator resolving for Pascal types
commit fb3eeeb28b
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Sat Jun 29 16:26:35 2024 +0300
fix tests
commit 84b0dfe537
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Sat Jun 29 15:49:13 2024 +0300
fix getting MethodInfo
commit 5fa4d9fce7
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 22:45:07 2024 +0300
cold fix set of T resolving
commit 460ce636ab
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 22:21:06 2024 +0300
hot fix set of T resolving
commit 83c2f29ac6
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 21:53:11 2024 +0300
fix method filtering again
commit c840a1a47a
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 21:32:41 2024 +0300
fix type recovery
commit 2436627fdd
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 19:18:32 2024 +0300
fixing method filtering
commit 15a05360a4
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 17:25:39 2024 +0300
attempt to fix GetEnumerator resolving for compiled types
commit 4fd020d084
Author: 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: 71261ded1 aae723b98
Author: 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
commit aae723b982
Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com>
Date: Thu Apr 3 12:00:04 2025 +0300
Create default syntax tree converter class (#3216)
Для удобства разработчиков простых языков, которым не требуются дополнительные обходы синтаксического дерева.
commit f9cc90e50f
Author: Sun Serega <sunserega2@gmail.com>
Date: Thu Apr 3 11:59:46 2025 +0300
fix errors (#3260)
commit f85bfad60f
Author: 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:
commit 7751fe7e75
Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com>
Date: Sun Mar 16 13:28:03 2025 +0300
generating language res file at build time (#3252)
commit d1fce63d69
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Mar 4 08:38:09 2025 +0300
Сборка после pr SDK
commit d491e88aa7
Author: 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
commit 1fd348ec3c
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Feb 23 20:49:26 2025 +0300
NSIS New 3.10
Ярлык в меню Пуск у всех пользователей
commit 80b7182dc1
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Feb 19 11:50:00 2025 +0300
_ in names
commit a2b078960b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Feb 19 10:52:25 2025 +0300
cnfc2
commit 58f26d469d
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Feb 18 22:28:13 2025 +0300
перекомпиляция 3.10.3.3611
commit b78a72977f
Author: 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
commit c3557e388c
Author: 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
commit 9dbac389e1
Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com>
Date: Wed Feb 12 13:57:14 2025 +0300
Add missing projects to pabcnetc.sln (#3247)
commit 41dfb6f187
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Fri Feb 7 21:41:01 2025 +0300
[] - преобразование во все контейнеры
GraphABCHelper - теперь ABCObjects работает под Линукс
School исправлен согласно последним веяниям []
commit 79bbbd10ff
Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com>
Date: Wed Jan 29 20:18:37 2025 +0300
removing files for support fx4.0 (#3240)
commit 88d5c409eb
Author: 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
commit 8fbd7fdfc3
Author: 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)
commit bba132bd5d
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Jan 22 09:14:44 2025 +0300
Поправил справку по функции
commit 1bd21857cc
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Jan 8 18:46:51 2025 +0300
Teacher Control Plugin - возможность задать server.dat
commit 0848a1b796
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Jan 4 22:54:38 2025 +0300
Исправление автоформатирования []
commit d45b782a7b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Jan 4 18:45:07 2025 +0300
Rename PABCSistem in test suite
commit c2347e604b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Jan 4 14:44:51 2025 +0300
Примеры - устранил неточности
LightPT - имя сервера вынес в публичную секцию
commit b68b8da970
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 17 15:52:18 2024 +0300
Примеры Coords1.pas Coords2.pas.pas
commit 8a9788e6f9
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 17 15:06:57 2024 +0300
Перенес проверку set array на уровень парсера
Немного поправил Intellisense по наведению для NewSet
По точке там что то другое работает
commit 874ddebad3
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Dec 14 21:00:38 2024 +0300
Поправил грамматику []
Теперь нельзя в режиме ## использовать атрибуты
Зато можно [1,2,3].Print
commit 080fb487e1
Merge: a53dcd9ed a484b0e82
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Dec 14 15:25:24 2024 +0300
Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
commit a53dcd9ed2
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Dec 14 15:25:16 2024 +0300
SF Prm Cmb для строк
commit a484b0e82d
Author: Sun Serega <sunserega2@gmail.com>
Date: Thu Dec 12 13:49:17 2024 +0200
fix (#3231)
commit 6ef11f249c
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 10 11:05:45 2024 +0300
3.10.2
commit db9679d89f
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 10 10:59:20 2024 +0300
Закончил превращение синтаксиса [] по умолчанию в массивы
commit 45fdde24b4
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Dec 8 18:08:00 2024 +0100
#3229
commit 494b47624d
Merge: 5875b9929 7906d73da
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Dec 8 10:42:07 2024 +0100
Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
commit 5875b99296
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Dec 8 10:41:53 2024 +0100
platformtarget native - .NET 9.0
commit 7906d73da3
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 3 14:25:37 2024 +0300
Небольшие изменения в реализации операций с множествами
commit 087591c7b6
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 27 11:37:07 2024 +0300
3.10.1
Coords - доработки
Distance, Middle, DrawText с фоном и рамкой. Глобальные переменные настройки
commit d268d4f83b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Thu Nov 21 22:24:07 2024 +0300
NSToBytes переделал с исключением
commit 2bacdc8c28
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 20 13:20:33 2024 +0300
Комментарии к NewSet
commit e917ac8eca
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 20 12:42:15 2024 +0300
TypeName для set
commit 206289c6a7
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Nov 19 20:23:03 2024 +0300
Везде заменил _hs на hs в NewSet
Убрал вызовы методов расширений NewSet в PABCSystem.pas
Убрал var в operator +
commit d8262078f6
Author: 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 надо бы сделать исключение
commit f8819665ba
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Nov 16 10:56:11 2024 +0300
NS2
commit 591d9ebe60
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Nov 13 21:34:10 2024 +0100
fix
commit c6505634f4
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Nov 13 21:12:33 2024 +0100
fix
commit a6564df23c
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Nov 13 20:52:29 2024 +0100
fix in new sets
commit 03be5bd931
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 13 22:13:41 2024 +0300
Переставил operator:= в NewSet
commit 96c68f1666
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Nov 12 21:38:07 2024 +0100
#3223
commit 82776f3c77
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Nov 9 12:18:19 2024 +0300
NewSet - много мелких исправлений.
Все тесты проходят кроме Tests 5 - видимо с pabcrtl.dll
commit 7751fe7e75
Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com>
Date: Sun Mar 16 13:28:03 2025 +0300
generating language res file at build time (#3252)
commit d1fce63d69
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Mar 4 08:38:09 2025 +0300
Сборка после pr SDK
commit d491e88aa7
Author: 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
commit 1fd348ec3c
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Feb 23 20:49:26 2025 +0300
NSIS New 3.10
Ярлык в меню Пуск у всех пользователей
commit 80b7182dc1
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Feb 19 11:50:00 2025 +0300
_ in names
commit a2b078960b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Feb 19 10:52:25 2025 +0300
cnfc2
commit 58f26d469d
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Feb 18 22:28:13 2025 +0300
перекомпиляция 3.10.3.3611
commit b78a72977f
Author: 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
commit c3557e388c
Author: 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
commit 9dbac389e1
Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com>
Date: Wed Feb 12 13:57:14 2025 +0300
Add missing projects to pabcnetc.sln (#3247)
commit 41dfb6f187
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Fri Feb 7 21:41:01 2025 +0300
[] - преобразование во все контейнеры
GraphABCHelper - теперь ABCObjects работает под Линукс
School исправлен согласно последним веяниям []
commit 79bbbd10ff
Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com>
Date: Wed Jan 29 20:18:37 2025 +0300
removing files for support fx4.0 (#3240)
commit 88d5c409eb
Author: 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
commit 8fbd7fdfc3
Author: 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)
commit bba132bd5d
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Jan 22 09:14:44 2025 +0300
Поправил справку по функции
commit 1bd21857cc
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Jan 8 18:46:51 2025 +0300
Teacher Control Plugin - возможность задать server.dat
commit 0848a1b796
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Jan 4 22:54:38 2025 +0300
Исправление автоформатирования []
commit d45b782a7b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Jan 4 18:45:07 2025 +0300
Rename PABCSistem in test suite
commit c2347e604b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Jan 4 14:44:51 2025 +0300
Примеры - устранил неточности
LightPT - имя сервера вынес в публичную секцию
commit b68b8da970
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 17 15:52:18 2024 +0300
Примеры Coords1.pas Coords2.pas.pas
commit 8a9788e6f9
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 17 15:06:57 2024 +0300
Перенес проверку set array на уровень парсера
Немного поправил Intellisense по наведению для NewSet
По точке там что то другое работает
commit 874ddebad3
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Dec 14 21:00:38 2024 +0300
Поправил грамматику []
Теперь нельзя в режиме ## использовать атрибуты
Зато можно [1,2,3].Print
commit 080fb487e1
Merge: a53dcd9ed a484b0e82
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Dec 14 15:25:24 2024 +0300
Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
commit a53dcd9ed2
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Dec 14 15:25:16 2024 +0300
SF Prm Cmb для строк
commit a484b0e82d
Author: Sun Serega <sunserega2@gmail.com>
Date: Thu Dec 12 13:49:17 2024 +0200
fix (#3231)
commit 6ef11f249c
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 10 11:05:45 2024 +0300
3.10.2
commit db9679d89f
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 10 10:59:20 2024 +0300
Закончил превращение синтаксиса [] по умолчанию в массивы
commit 45fdde24b4
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Dec 8 18:08:00 2024 +0100
#3229
commit 494b47624d
Merge: 5875b9929 7906d73da
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Dec 8 10:42:07 2024 +0100
Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
commit 5875b99296
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Dec 8 10:41:53 2024 +0100
platformtarget native - .NET 9.0
commit 7906d73da3
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 3 14:25:37 2024 +0300
Небольшие изменения в реализации операций с множествами
commit 087591c7b6
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 27 11:37:07 2024 +0300
3.10.1
Coords - доработки
Distance, Middle, DrawText с фоном и рамкой. Глобальные переменные настройки
commit d268d4f83b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Thu Nov 21 22:24:07 2024 +0300
NSToBytes переделал с исключением
commit 2bacdc8c28
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 20 13:20:33 2024 +0300
Комментарии к NewSet
commit e917ac8eca
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 20 12:42:15 2024 +0300
TypeName для set
commit 206289c6a7
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Nov 19 20:23:03 2024 +0300
Везде заменил _hs на hs в NewSet
Убрал вызовы методов расширений NewSet в PABCSystem.pas
Убрал var в operator +
commit d8262078f6
Author: 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 надо бы сделать исключение
commit f8819665ba
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Nov 16 10:56:11 2024 +0300
NS2
commit 591d9ebe60
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Nov 13 21:34:10 2024 +0100
fix
commit c6505634f4
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Nov 13 21:12:33 2024 +0100
fix
commit a6564df23c
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Nov 13 20:52:29 2024 +0100
fix in new sets
commit 03be5bd931
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 13 22:13:41 2024 +0300
Переставил operator:= в NewSet
commit 96c68f1666
Author: 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
commit 82776f3c77
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Nov 9 12:18:19 2024 +0300
NewSet - много мелких исправлений.
Все тесты проходят кроме Tests 5 - видимо с pabcrtl.dll
commit 8e9e7f94d094e528aeb9bd0db322005b08e31ee3
Merge: ea3c878eb fbd63efa8
Author: AlexanderZemlyak <zemlyaksanya@mail.ru>
Date: Fri Nov 8 14:47:33 2024 +0300
Merge branch 'master' into intellisense_refactoring
commit fbd63efa89
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Nov 3 16:59:48 2024 +0300
NewSets
Некоторые тесты надо исправить
commit 746c4ae2c2
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Thu Oct 31 21:00:42 2024 +0100
#3221
commit 350d07326d
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Thu Oct 31 18:35:51 2024 +0100
#3221
commit aae9ab408b
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Thu Oct 31 18:25:06 2024 +0100
#3221
commit 1e4a811e04
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Oct 30 20:42:59 2024 +0100
test for #3219
commit d1a1247ecd
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Oct 30 20:24:16 2024 +0100
#3219
commit 13b3071d80
Author: 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
commit 6d5c18f457
Author: 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: d95eab790 0c773a7ec
Author: AlexanderZemlyak <zemlyaksanya@mail.ru>
Date: Sun Oct 20 17:33:07 2024 +0300
Merge branch 'master' into intellisense_refactoring
commit 0c773a7ecb
Author: 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
commit 53b3fd0881
Author: 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
commit 271d5792ce
Author: 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
commit 79f9ab73a0
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Oct 5 15:33:20 2024 +0300
PT4_32
commit 0a20c8d32c
Author: Sun Serega <sunserega2@gmail.com>
Date: Thu Sep 26 09:02:31 2024 +0200
Add `.DistinctBy` (#3122)
commit 11981dbf47
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Sep 25 11:53:02 2024 +0300
IndexMinBy, IndexMaxBy
MinBy, MaxBy - более эффективная реализация
GraphWPF - SaveToClipboard
commit 3eb1d2bd85
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Sep 22 17:42:09 2024 +0200
#3197
commit 20edd487e3
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Sep 22 12:39:03 2024 +0200
#3204
commit 7261231c9c
Merge: 7debbe702 9ab932977
Author: 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
commit 9ab9329771
Author: AlexanderZemlyak <zemlyaksanya@mail.ru>
Date: Sun Sep 22 10:23:18 2024 +0300
Add new projects in PascalACBNETLinux.sln
commit 7debbe702a
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Sep 21 14:29:38 2024 +0300
Критическое обновление LightPT
commit 40335b873e
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Fri Sep 20 22:58:46 2024 +0300
LightPT - OutputListIsClearedFromSpaces := False;
Coords - DrawLine
commit 078281db17
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Thu Sep 19 22:42:44 2024 +0300
coords suite
commit 8d51f999a5
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Thu Sep 19 20:28:28 2024 +0300
Автоклассы - разрешение наследования от классов без полей
Модуль Coords
commit 8f7e92d418
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Mon Sep 16 08:25:43 2024 +0300
Turtle переделал на паттерн Команда
commit a6f6d8a90b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Sep 7 23:11:54 2024 +0300
Правки рейтинга в TeacherPlugin
commit 2365eb3633
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Sep 7 15:54:15 2024 +0300
LinkLabel в TeacherControlPlugin
commit 1835b811ef
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Sep 3 23:51:44 2024 +0300
MathNet Signed
commit b23d6df9e9
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Sep 3 23:16:15 2024 +0300
MathNet.Numerics.dll
commit 790fba67b8
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Aug 27 17:56:09 2024 +0300
3.10.0
commit 1ec4204fd2
Author: Sun Serega <sunserega2@gmail.com>
Date: Mon Aug 26 09:20:27 2024 +0300
`.Batch` cleanup (#3108)
commit b5e674c311
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Mon Aug 26 09:12:14 2024 +0300
3_10_0
commit 7face043cf
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Mon Aug 26 09:11:08 2024 +0300
ToSet
commit e456ad528e
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Aug 24 23:13:57 2024 +0300
3.9.0.3530
commit 3247469e6d
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Aug 24 22:55:27 2024 +0300
Добавлен DrawPoints в Turtle
Исправлена ошибка с отображением подписей в Y-координате
commit 7548142623
Author: 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 := ',')
commit d94885b950
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Aug 24 12:13:09 2024 +0300
randomElement для строк
.ToReals - разделителями могут быть пробел табуляция и переход на новую строку
NumberFormat - функция, возвращающая nfi
commit ae2e26acf8
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Fri Aug 23 19:33:55 2024 +0300
PT4 - новые dll файлы старых заданий серий A
commit 0f8aa6fa3c
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Aug 18 17:28:05 2024 +0300
SetOf как основной синоним HSet
commit db4b53be20
Merge: 86852e0a5 b9fd59a84
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Aug 18 16:05:42 2024 +0300
Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
commit 86852e0a59
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Aug 18 16:05:14 2024 +0300
School - ToBase(number: int64
commit b9fd59a840
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Aug 13 15:08:44 2024 +0200
#2830
commit 4f0b0f8ba0
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Aug 13 14:43:49 2024 +0200
#3194
commit e3ee0fed4c
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Aug 13 13:49:30 2024 +0200
#3097
commit d396c4a9fe
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Aug 13 10:40:23 2024 +0200
#3178
commit 0d846d2335
Merge: e91e35398 a65a86921
Author: 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
commit a65a869211
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Mon Aug 12 15:50:42 2024 +0300
increasing pcu file version
commit e91e353984
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Aug 11 15:21:29 2024 +0300
Обновленный модуль Turtle.pas
commit c18238df39
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Aug 6 20:18:57 2024 +0300
3.9.0.3523
commit 1da2b524a6
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Aug 6 19:34:10 2024 +0300
School PrimeDivisors
commit 47c61d8b14
Author: 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
commit fc3ab96cae
Author: 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
commit 64acde6460
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Jul 31 18:21:04 2024 +0300
Сделал возможным неявное приведение некоторого типа к array of T (при описании оператора в виде статической функции класса)
School - IsPrime(n)
commit 3db5709101
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Jul 31 10:56:18 2024 +0300
ZipCartesianFuncs.pas
commit c4fd47128b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Jul 30 22:56:03 2024 +0300
Zip, Cartesian - сделаны внешние функции до 5 параметров, в т.ч. с проекцией
Zip, Cartesian - методы расширения дополнены чтобы было как во внешних
Перегенерирована справка
commit 7d66f26d4f
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Mon Jul 1 00:16:43 2024 +0300
cleanup and more tests
commit 464dc794a8
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Sun Jun 30 23:31:28 2024 +0300
cleanup and more comments
commit 32f126370c
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Sun Jun 30 21:35:06 2024 +0300
attempt to fix GetEnumerator resolving for Pascal types
commit fb3eeeb28b
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Sat Jun 29 16:26:35 2024 +0300
fix tests
commit 84b0dfe537
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Sat Jun 29 15:49:13 2024 +0300
fix getting MethodInfo
commit 5fa4d9fce7
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 22:45:07 2024 +0300
cold fix set of T resolving
commit 460ce636ab
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 22:21:06 2024 +0300
hot fix set of T resolving
commit 83c2f29ac6
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 21:53:11 2024 +0300
fix method filtering again
commit c840a1a47a
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 21:32:41 2024 +0300
fix type recovery
commit 2436627fdd
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 19:18:32 2024 +0300
fixing method filtering
commit 15a05360a4
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 17:25:39 2024 +0300
attempt to fix GetEnumerator resolving for compiled types
commit 4fd020d084
Author: 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: 8e506f409 eeb3116ae
Author: 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
commit eeb3116aea
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Jun 10 21:30:20 2025 +0300
3.10.3.3634
commit ea338d6bfe
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Jun 10 20:30:42 2025 +0300
2025 in GlobalAssemblyInfo.cs
commit 4dc6bd72ef
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Jun 10 20:19:18 2025 +0300
chm восстановил
commit fd139b4700
Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com>
Date: Tue Jun 10 20:09:10 2025 +0300
fix SemanticTreeConverter.cs encoding (#3273)
commit d11674efc2
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Jun 10 19:56:16 2025 +0300
Вернул старый css для справки
commit 9aee28f4f0
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Jun 10 19:54:57 2025 +0300
2025
commit 07370e365f
Author: 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
commit 50fd3cb1ee
Author: 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
commit 5fec52615a
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat May 24 21:36:36 2025 +0300
Распаковка KeyValuePair| И в foreach
commit fbb5dec9a9
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat May 17 19:34:33 2025 +0300
Внешний Between
commit a914ab6ef5
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Fri May 16 16:57:00 2025 +0300
InRange изменение поведения и внешний
commit 04059ab235
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed May 14 19:57:30 2025 +0300
Исправлены библиотеки PT4Exam
commit 40bfc046a8
Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com>
Date: Wed May 14 19:40:04 2025 +0300
Fix shift space action in Intellisense (#3269)
commit e3a64850ef
Author: dmkwketx <dmkwketx@gmail.com>
Date: Mon May 12 21:14:21 2025 +0300
Update GraphWPF.pas (#3270)
если title больше одной строки, показывалась только последняя. теперь все строки будут показаны.
commit e9cf278fdd
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Mon May 12 10:24:04 2025 +0300
IsOrdered в разных воплощениях
commit 255533f407
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Fri May 9 16:39:12 2025 +0300
IsOrdered метод расширения
commit 4c56298bfb
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Thu May 8 22:53:34 2025 +0300
exit(param)
commit c22dee65fa
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed May 7 10:57:41 2025 +0300
sp2
commit 3f37c2cc4f
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed May 7 10:56:51 2025 +0300
sp
commit cdfde69281
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Fri May 2 21:44:57 2025 +0300
2 chars
commit 2e27beef48
Author: 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:
commit 771ea7b445
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Apr 6 14:32:17 2025 +0200
#3230
commit 28a1a03e8d
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Apr 6 11:35:09 2025 +0200
#3251
commit af7abc770b
Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com>
Date: Sun Apr 6 08:33:34 2025 +0300
synchronization of namespaces and folders for TeacherControlPlugin (#3262)
commit aae723b982
Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com>
Date: Thu Apr 3 12:00:04 2025 +0300
Create default syntax tree converter class (#3216)
Для удобства разработчиков простых языков, которым не требуются дополнительные обходы синтаксического дерева.
commit f9cc90e50f
Author: Sun Serega <sunserega2@gmail.com>
Date: Thu Apr 3 11:59:46 2025 +0300
fix errors (#3260)
commit f85bfad60f
Author: 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
commit 69149f8c44
Author: 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:
commit 7751fe7e75
Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com>
Date: Sun Mar 16 13:28:03 2025 +0300
generating language res file at build time (#3252)
commit d1fce63d69
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Mar 4 08:38:09 2025 +0300
Сборка после pr SDK
commit d491e88aa7
Author: 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
commit 1fd348ec3c
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Feb 23 20:49:26 2025 +0300
NSIS New 3.10
Ярлык в меню Пуск у всех пользователей
commit 80b7182dc1
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Feb 19 11:50:00 2025 +0300
_ in names
commit a2b078960b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Feb 19 10:52:25 2025 +0300
cnfc2
commit 58f26d469d
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Feb 18 22:28:13 2025 +0300
перекомпиляция 3.10.3.3611
commit b78a72977f
Author: 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
commit c3557e388c
Author: 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
commit 9dbac389e1
Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com>
Date: Wed Feb 12 13:57:14 2025 +0300
Add missing projects to pabcnetc.sln (#3247)
commit 41dfb6f187
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Fri Feb 7 21:41:01 2025 +0300
[] - преобразование во все контейнеры
GraphABCHelper - теперь ABCObjects работает под Линукс
School исправлен согласно последним веяниям []
commit 79bbbd10ff
Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com>
Date: Wed Jan 29 20:18:37 2025 +0300
removing files for support fx4.0 (#3240)
commit 88d5c409eb
Author: 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
commit 8fbd7fdfc3
Author: 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)
commit bba132bd5d
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Jan 22 09:14:44 2025 +0300
Поправил справку по функции
commit 1bd21857cc
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Jan 8 18:46:51 2025 +0300
Teacher Control Plugin - возможность задать server.dat
commit 0848a1b796
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Jan 4 22:54:38 2025 +0300
Исправление автоформатирования []
commit d45b782a7b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Jan 4 18:45:07 2025 +0300
Rename PABCSistem in test suite
commit c2347e604b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Jan 4 14:44:51 2025 +0300
Примеры - устранил неточности
LightPT - имя сервера вынес в публичную секцию
commit b68b8da970
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 17 15:52:18 2024 +0300
Примеры Coords1.pas Coords2.pas.pas
commit 8a9788e6f9
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 17 15:06:57 2024 +0300
Перенес проверку set array на уровень парсера
Немного поправил Intellisense по наведению для NewSet
По точке там что то другое работает
commit 874ddebad3
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Dec 14 21:00:38 2024 +0300
Поправил грамматику []
Теперь нельзя в режиме ## использовать атрибуты
Зато можно [1,2,3].Print
commit 080fb487e1
Merge: a53dcd9ed a484b0e82
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Dec 14 15:25:24 2024 +0300
Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
commit a53dcd9ed2
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Dec 14 15:25:16 2024 +0300
SF Prm Cmb для строк
commit a484b0e82d
Author: Sun Serega <sunserega2@gmail.com>
Date: Thu Dec 12 13:49:17 2024 +0200
fix (#3231)
commit 6ef11f249c
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 10 11:05:45 2024 +0300
3.10.2
commit db9679d89f
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 10 10:59:20 2024 +0300
Закончил превращение синтаксиса [] по умолчанию в массивы
commit 45fdde24b4
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Dec 8 18:08:00 2024 +0100
#3229
commit 494b47624d
Merge: 5875b9929 7906d73da
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Dec 8 10:42:07 2024 +0100
Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
commit 5875b99296
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Dec 8 10:41:53 2024 +0100
platformtarget native - .NET 9.0
commit 7906d73da3
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 3 14:25:37 2024 +0300
Небольшие изменения в реализации операций с множествами
commit 087591c7b6
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 27 11:37:07 2024 +0300
3.10.1
Coords - доработки
Distance, Middle, DrawText с фоном и рамкой. Глобальные переменные настройки
commit d268d4f83b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Thu Nov 21 22:24:07 2024 +0300
NSToBytes переделал с исключением
commit 2bacdc8c28
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 20 13:20:33 2024 +0300
Комментарии к NewSet
commit e917ac8eca
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 20 12:42:15 2024 +0300
TypeName для set
commit 206289c6a7
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Nov 19 20:23:03 2024 +0300
Везде заменил _hs на hs в NewSet
Убрал вызовы методов расширений NewSet в PABCSystem.pas
Убрал var в operator +
commit d8262078f6
Author: 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 надо бы сделать исключение
commit f8819665ba
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Nov 16 10:56:11 2024 +0300
NS2
commit 591d9ebe60
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Nov 13 21:34:10 2024 +0100
fix
commit c6505634f4
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Nov 13 21:12:33 2024 +0100
fix
commit a6564df23c
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Nov 13 20:52:29 2024 +0100
fix in new sets
commit 03be5bd931
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 13 22:13:41 2024 +0300
Переставил operator:= в NewSet
commit 96c68f1666
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Nov 12 21:38:07 2024 +0100
#3223
commit 82776f3c77
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Nov 9 12:18:19 2024 +0300
NewSet - много мелких исправлений.
Все тесты проходят кроме Tests 5 - видимо с pabcrtl.dll
* Update comments in PascalABCLanguageInformation
commit cc7d4472c6
Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com>
Date: Thu Apr 10 12:19:31 2025 +0300
Write developer guide for integrating new language (#3264)
commit 5d842153a5
Author: Sun Serega <sunserega2@gmail.com>
Date: Thu Apr 10 12:17:52 2025 +0300
Add NSIS binaries to .gitignore exclude (#3265)
commit ee31ed94b3
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Thu Apr 10 12:06:40 2025 +0300
TeacherControlPlugin.cs - шифрованные модули
commit ba23a01e29
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Apr 9 10:59:16 2025 +0300
Закомментировал неверный обработчик
commit 3f70700d2b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Mon Apr 7 22:07:13 2025 +0300
nsis новый - папка bin
TeacherControlPlugin.cs - добавление обработчика для последующей шифровки Tasks.pas
commit 0353abf57c
Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com>
Date: Mon Apr 7 08:35:22 2025 +0300
fix caching Localization assembly (#3263)
commit 771ea7b445
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Apr 6 14:32:17 2025 +0200
#3230
commit 28a1a03e8d
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Apr 6 11:35:09 2025 +0200
#3251
commit af7abc770b
Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com>
Date: Sun Apr 6 08:33:34 2025 +0300
synchronization of namespaces and folders for TeacherControlPlugin (#3262)
commit aae723b982
Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com>
Date: Thu Apr 3 12:00:04 2025 +0300
Create default syntax tree converter class (#3216)
Для удобства разработчиков простых языков, которым не требуются дополнительные обходы синтаксического дерева.
commit f9cc90e50f
Author: Sun Serega <sunserega2@gmail.com>
Date: Thu Apr 3 11:59:46 2025 +0300
fix errors (#3260)
commit f85bfad60f
Author: 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 7751fe7e75
Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com>
Date: Sun Mar 16 13:28:03 2025 +0300
generating language res file at build time (#3252)
commit d1fce63d69
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Mar 4 08:38:09 2025 +0300
Сборка после pr SDK
commit d491e88aa7
Author: 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
commit 1fd348ec3c
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Feb 23 20:49:26 2025 +0300
NSIS New 3.10
Ярлык в меню Пуск у всех пользователей
commit 80b7182dc1
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Feb 19 11:50:00 2025 +0300
_ in names
commit a2b078960b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Feb 19 10:52:25 2025 +0300
cnfc2
commit 58f26d469d
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Feb 18 22:28:13 2025 +0300
перекомпиляция 3.10.3.3611
commit b78a72977f
Author: 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
commit c3557e388c
Author: 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
commit 9dbac389e1
Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com>
Date: Wed Feb 12 13:57:14 2025 +0300
Add missing projects to pabcnetc.sln (#3247)
commit 41dfb6f187
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Fri Feb 7 21:41:01 2025 +0300
[] - преобразование во все контейнеры
GraphABCHelper - теперь ABCObjects работает под Линукс
School исправлен согласно последним веяниям []
commit 79bbbd10ff
Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com>
Date: Wed Jan 29 20:18:37 2025 +0300
removing files for support fx4.0 (#3240)
commit 88d5c409eb
Author: 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
commit 8fbd7fdfc3
Author: 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)
commit bba132bd5d
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Jan 22 09:14:44 2025 +0300
Поправил справку по функции
commit 1bd21857cc
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Jan 8 18:46:51 2025 +0300
Teacher Control Plugin - возможность задать server.dat
commit 0848a1b796
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Jan 4 22:54:38 2025 +0300
Исправление автоформатирования []
commit d45b782a7b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Jan 4 18:45:07 2025 +0300
Rename PABCSistem in test suite
commit c2347e604b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Jan 4 14:44:51 2025 +0300
Примеры - устранил неточности
LightPT - имя сервера вынес в публичную секцию
commit b68b8da970
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 17 15:52:18 2024 +0300
Примеры Coords1.pas Coords2.pas.pas
commit 8a9788e6f9
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 17 15:06:57 2024 +0300
Перенес проверку set array на уровень парсера
Немного поправил Intellisense по наведению для NewSet
По точке там что то другое работает
commit 874ddebad3
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Dec 14 21:00:38 2024 +0300
Поправил грамматику []
Теперь нельзя в режиме ## использовать атрибуты
Зато можно [1,2,3].Print
commit 080fb487e1
Merge: a53dcd9ed a484b0e82
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Dec 14 15:25:24 2024 +0300
Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
commit a53dcd9ed2
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Dec 14 15:25:16 2024 +0300
SF Prm Cmb для строк
commit a484b0e82d
Author: Sun Serega <sunserega2@gmail.com>
Date: Thu Dec 12 13:49:17 2024 +0200
fix (#3231)
commit 6ef11f249c
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 10 11:05:45 2024 +0300
3.10.2
commit db9679d89f
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 10 10:59:20 2024 +0300
Закончил превращение синтаксиса [] по умолчанию в массивы
commit 45fdde24b4
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Dec 8 18:08:00 2024 +0100
#3229
commit 494b47624d
Merge: 5875b9929 7906d73da
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Dec 8 10:42:07 2024 +0100
Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
commit 5875b99296
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Dec 8 10:41:53 2024 +0100
platformtarget native - .NET 9.0
commit 7906d73da3
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Dec 3 14:25:37 2024 +0300
Небольшие изменения в реализации операций с множествами
commit 087591c7b6
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 27 11:37:07 2024 +0300
3.10.1
Coords - доработки
Distance, Middle, DrawText с фоном и рамкой. Глобальные переменные настройки
commit d268d4f83b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Thu Nov 21 22:24:07 2024 +0300
NSToBytes переделал с исключением
commit 2bacdc8c28
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 20 13:20:33 2024 +0300
Комментарии к NewSet
commit e917ac8eca
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 20 12:42:15 2024 +0300
TypeName для set
commit 206289c6a7
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Nov 19 20:23:03 2024 +0300
Везде заменил _hs на hs в NewSet
Убрал вызовы методов расширений NewSet в PABCSystem.pas
Убрал var в operator +
commit d8262078f6
Author: 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 надо бы сделать исключение
commit f8819665ba
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Nov 16 10:56:11 2024 +0300
NS2
commit 591d9ebe60
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Nov 13 21:34:10 2024 +0100
fix
commit c6505634f4
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Nov 13 21:12:33 2024 +0100
fix
commit a6564df23c
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Nov 13 20:52:29 2024 +0100
fix in new sets
commit 03be5bd931
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Nov 13 22:13:41 2024 +0300
Переставил operator:= в NewSet
commit 96c68f1666
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Nov 12 21:38:07 2024 +0100
#3223
commit 82776f3c77
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Nov 9 12:18:19 2024 +0300
NewSet - много мелких исправлений.
Все тесты проходят кроме Tests 5 - видимо с pabcrtl.dll
commit fbd63efa89
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Nov 3 16:59:48 2024 +0300
NewSets
Некоторые тесты надо исправить
commit 746c4ae2c2
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Thu Oct 31 21:00:42 2024 +0100
#3221
commit 350d07326d
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Thu Oct 31 18:35:51 2024 +0100
#3221
commit aae9ab408b
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Thu Oct 31 18:25:06 2024 +0100
#3221
commit 1e4a811e04
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Oct 30 20:42:59 2024 +0100
test for #3219
commit d1a1247ecd
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Wed Oct 30 20:24:16 2024 +0100
#3219
commit 13b3071d80
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Mon Oct 28 22:42:17 2024 +0300
закомментировал extensions преобразования arr to set. Надеюсь в новой реализации всё исправить
commit 6d5c18f457
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Thu Oct 24 10:17:48 2024 +0300
SF XLSX.pas
commit 0c773a7ecb
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Oct 16 12:04:33 2024 +0300
tree.xml с парой новых узлов для Питона
commit 53b3fd0881
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Oct 9 14:09:01 2024 +0300
Добавил временное преобразование от array of T в set of T
commit 271d5792ce
Author: 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
commit 79f9ab73a0
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Oct 5 15:33:20 2024 +0300
PT4_32
commit 0a20c8d32c
Author: Sun Serega <sunserega2@gmail.com>
Date: Thu Sep 26 09:02:31 2024 +0200
Add `.DistinctBy` (#3122)
commit 11981dbf47
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Sep 25 11:53:02 2024 +0300
IndexMinBy, IndexMaxBy
MinBy, MaxBy - более эффективная реализация
GraphWPF - SaveToClipboard
commit 3eb1d2bd85
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Sep 22 17:42:09 2024 +0200
#3197
commit 20edd487e3
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Sun Sep 22 12:39:03 2024 +0200
#3204
commit 7261231c9c
Merge: 7debbe702 9ab932977
Author: 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
commit 9ab9329771
Author: AlexanderZemlyak <zemlyaksanya@mail.ru>
Date: Sun Sep 22 10:23:18 2024 +0300
Add new projects in PascalACBNETLinux.sln
commit 7debbe702a
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Sep 21 14:29:38 2024 +0300
Критическое обновление LightPT
commit 40335b873e
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Fri Sep 20 22:58:46 2024 +0300
LightPT - OutputListIsClearedFromSpaces := False;
Coords - DrawLine
commit 078281db17
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Thu Sep 19 22:42:44 2024 +0300
coords suite
commit 8d51f999a5
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Thu Sep 19 20:28:28 2024 +0300
Автоклассы - разрешение наследования от классов без полей
Модуль Coords
commit 8f7e92d418
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Mon Sep 16 08:25:43 2024 +0300
Turtle переделал на паттерн Команда
commit a6f6d8a90b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Sep 7 23:11:54 2024 +0300
Правки рейтинга в TeacherPlugin
commit 2365eb3633
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Sep 7 15:54:15 2024 +0300
LinkLabel в TeacherControlPlugin
commit 1835b811ef
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Sep 3 23:51:44 2024 +0300
MathNet Signed
commit b23d6df9e9
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Sep 3 23:16:15 2024 +0300
MathNet.Numerics.dll
commit 790fba67b8
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Aug 27 17:56:09 2024 +0300
3.10.0
commit 1ec4204fd2
Author: Sun Serega <sunserega2@gmail.com>
Date: Mon Aug 26 09:20:27 2024 +0300
`.Batch` cleanup (#3108)
commit b5e674c311
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Mon Aug 26 09:12:14 2024 +0300
3_10_0
commit 7face043cf
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Mon Aug 26 09:11:08 2024 +0300
ToSet
commit e456ad528e
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Aug 24 23:13:57 2024 +0300
3.9.0.3530
commit 3247469e6d
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Aug 24 22:55:27 2024 +0300
Добавлен DrawPoints в Turtle
Исправлена ошибка с отображением подписей в Y-координате
commit 7548142623
Author: 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 := ',')
commit d94885b950
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sat Aug 24 12:13:09 2024 +0300
randomElement для строк
.ToReals - разделителями могут быть пробел табуляция и переход на новую строку
NumberFormat - функция, возвращающая nfi
commit ae2e26acf8
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Fri Aug 23 19:33:55 2024 +0300
PT4 - новые dll файлы старых заданий серий A
commit 0f8aa6fa3c
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Aug 18 17:28:05 2024 +0300
SetOf как основной синоним HSet
commit db4b53be20
Merge: 86852e0a5 b9fd59a84
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Aug 18 16:05:42 2024 +0300
Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
commit 86852e0a59
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Aug 18 16:05:14 2024 +0300
School - ToBase(number: int64
commit b9fd59a840
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Aug 13 15:08:44 2024 +0200
#2830
commit 4f0b0f8ba0
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Aug 13 14:43:49 2024 +0200
#3194
commit e3ee0fed4c
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Aug 13 13:49:30 2024 +0200
#3097
commit d396c4a9fe
Author: Ivan Bondarev <ibond84@googlemail.com>
Date: Tue Aug 13 10:40:23 2024 +0200
#3178
commit 0d846d2335
Merge: e91e35398 a65a86921
Author: 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
commit a65a869211
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Mon Aug 12 15:50:42 2024 +0300
increasing pcu file version
commit e91e353984
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Sun Aug 11 15:21:29 2024 +0300
Обновленный модуль Turtle.pas
commit c18238df39
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Aug 6 20:18:57 2024 +0300
3.9.0.3523
commit 1da2b524a6
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Aug 6 19:34:10 2024 +0300
School PrimeDivisors
commit 47c61d8b14
Author: 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
commit fc3ab96cae
Author: 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
commit 64acde6460
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Jul 31 18:21:04 2024 +0300
Сделал возможным неявное приведение некоторого типа к array of T (при описании оператора в виде статической функции класса)
School - IsPrime(n)
commit 3db5709101
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Wed Jul 31 10:56:18 2024 +0300
ZipCartesianFuncs.pas
commit c4fd47128b
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date: Tue Jul 30 22:56:03 2024 +0300
Zip, Cartesian - сделаны внешние функции до 5 параметров, в т.ч. с проекцией
Zip, Cartesian - методы расширения дополнены чтобы было как во внешних
Перегенерирована справка
commit 7d66f26d4f
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Mon Jul 1 00:16:43 2024 +0300
cleanup and more tests
commit 464dc794a8
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Sun Jun 30 23:31:28 2024 +0300
cleanup and more comments
commit 32f126370c
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Sun Jun 30 21:35:06 2024 +0300
attempt to fix GetEnumerator resolving for Pascal types
commit fb3eeeb28b
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Sat Jun 29 16:26:35 2024 +0300
fix tests
commit 84b0dfe537
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Sat Jun 29 15:49:13 2024 +0300
fix getting MethodInfo
commit 5fa4d9fce7
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 22:45:07 2024 +0300
cold fix set of T resolving
commit 460ce636ab
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 22:21:06 2024 +0300
hot fix set of T resolving
commit 83c2f29ac6
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 21:53:11 2024 +0300
fix method filtering again
commit c840a1a47a
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 21:32:41 2024 +0300
fix type recovery
commit 2436627fdd
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 19:18:32 2024 +0300
fixing method filtering
commit 15a05360a4
Author: samuraiGH <anonimajzer3@mail.ru>
Date: Fri Jun 28 17:25:39 2024 +0300
attempt to fix GetEnumerator resolving for compiled types
commit 4fd020d084
Author: 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
* 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
* Add Tuple-Type to Right Part of Assignment
* Add Tuple-Assignments a, b = 1, 2
* Delete unused function in DomSyntaxTreeVisitor
* Fix Tuple Assignment
* Add tuple TypeName
* Add turbo_tuple_expr to return_stmt
* Add Tuple-related Errors
* Update pabcnetc_clear/CommandConsoleCompiler.cs encoding
Co-authored-by: Sun Serega <sunserega2@gmail.com>
* Delete IndentArranger.exe
* Fix Generator in for Loop
* Fix Char-Assignment Type Inference
* Fix Collections Method Error Handling
* Fix result variable case sensitive comparing
* Fix Result Name Constants in Visitors
* Fix merge errors
* Resolve some pull request conversations
* Add SPython projects in pabcnetc.sln and PascalABCNETLinux.sln
* Delete Gplex.exe and Gppg.exe in SPython project
* Fix tuple-type Name in Errors
* Move time1.pas and Fix _ReBuild.bat
* Update _ReBuild.bat
* Fix method calls without parentheses in SPython
* Fix Localizations Files
* Remove SPythonParser.sln
* Refactor TipPainterTools to support inner parentheses in function parameters
* Update Linux TipPainterTools
* Fix dict Type Specialization
* Add GetDescriptionForCompiledMethod in SPython
---------
Co-authored-by: AlexanderZemlyak <zemlyaksanya@mail.ru>
Co-authored-by: Владислав Крылов <krylov@sfedu.ru>
Co-authored-by: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com>
Co-authored-by: Sun Serega <sunserega2@gmail.com>
1670 lines
71 KiB
C#
1670 lines
71 KiB
C#
using PascalABCCompiler.Parsers;
|
||
using PascalABCCompiler.ParserTools.Directives;
|
||
using PascalABCCompiler.SyntaxTree;
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
using System.Reflection;
|
||
using System.Text;
|
||
|
||
namespace Languages.SPython.Frontend.Data
|
||
{
|
||
internal class SPythonLanguageInformation : BaseLanguageInformation
|
||
{
|
||
public override BaseKeywords KeywordsStorage { get; } = new SPythonParser.SPythonKeywords();
|
||
|
||
public override Dictionary<string, DirectiveInfo> ValidDirectives { get; protected set; }
|
||
|
||
public override string BodyStartBracket => null;
|
||
|
||
public override string BodyEndBracket => null;
|
||
|
||
public override string ParameterDelimiter => ",";
|
||
|
||
public override string ResultVariableName => null;
|
||
|
||
public override string ProcedureName => null;
|
||
|
||
public override string FunctionName => "def";
|
||
|
||
public override string GenericTypesStartBracket => "[";
|
||
|
||
public override string GenericTypesEndBracket => "]";
|
||
|
||
public override string ReturnTypeDelimiter => "->";
|
||
|
||
public override bool CaseSensitive => true;
|
||
|
||
public override bool IncludeDotNetEntities => true;
|
||
|
||
public override bool AddStandardUnitNamesToUserScope => false;
|
||
|
||
public override bool AddStandardNetNamespacesToUserScope => false;
|
||
|
||
public override bool UsesFunctionsOverlappingSourceContext => true;
|
||
|
||
private readonly Dictionary<string, string> renamings = new Dictionary<string, string>
|
||
{
|
||
["biginteger"] = "bigint"
|
||
};
|
||
|
||
private readonly HashSet<string> exclutions = new HashSet<string>
|
||
{
|
||
"__NewSetCreatorInternal"
|
||
};
|
||
|
||
private readonly Dictionary<string, string> specialModulesAliases = new Dictionary<string, string>
|
||
{
|
||
{ "time", "time1" },
|
||
{ "random", "random1" },
|
||
};
|
||
|
||
public override Dictionary<string, string> SpecialModulesAliases => specialModulesAliases;
|
||
|
||
public override void RenameOrExcludeSpecialNames(SymInfo[] symInfos)
|
||
{
|
||
for (var i = 0; i < symInfos.Length; i++)
|
||
{
|
||
if (symInfos[i] == null)
|
||
continue;
|
||
|
||
if (renamings.TryGetValue(symInfos[i].name, out var newName))
|
||
{
|
||
// копирование на всякий случай
|
||
symInfos[i] = new SymInfo(symInfos[i]);
|
||
symInfos[i].name = newName;
|
||
}
|
||
else if (exclutions.Contains(symInfos[i].name))
|
||
{
|
||
symInfos[i] = new SymInfo(symInfos[i]);
|
||
symInfos[i].not_include = true;
|
||
}
|
||
}
|
||
}
|
||
|
||
public override string ConstructHeader(string meth, IProcScope scope, int tabCount)
|
||
{
|
||
throw new NotImplementedException();
|
||
}
|
||
|
||
public override string ConstructHeader(IProcRealizationScope scope, int tabCount)
|
||
{
|
||
throw new NotImplementedException();
|
||
}
|
||
|
||
public override string ConstructOverridedMethodHeader(IProcScope scope, out int off)
|
||
{
|
||
throw new NotImplementedException();
|
||
}
|
||
|
||
public override string FindExpression(int off, string Text, int line, int col, out KeywordKind keyw)
|
||
{
|
||
int i = off - 1;
|
||
int bound = 0;
|
||
bool punkt_sym = false;
|
||
keyw = KeywordKind.None;
|
||
System.Text.StringBuilder sb = new StringBuilder();
|
||
Stack<char> tokens = new Stack<char>();
|
||
Stack<char> kav = new Stack<char>();
|
||
Stack<char> ugl_skobki = new Stack<char>();
|
||
int num_in_ident = -1;
|
||
keyw = TestForKeyword(Text, i);
|
||
if (keyw == KeywordKind.Punkt) return "";
|
||
while (i >= bound)
|
||
{
|
||
bool end = false;
|
||
char ch = Text[i];
|
||
if (kav.Count == 0 && (char.IsLetterOrDigit(ch) || ch == '_' || ch == '&' || ch == '\'' || ch == '!'))
|
||
{
|
||
num_in_ident = i;
|
||
if (kav.Count == 0 && tokens.Count == 0)
|
||
{
|
||
int tmp = i;
|
||
if (ch == '\'')
|
||
{
|
||
i--;
|
||
if (kav.Count == 0)
|
||
kav.Push('\'');
|
||
while (i >= 0)
|
||
{
|
||
if (Text[i] != '\'')
|
||
i--;
|
||
else
|
||
{
|
||
if (i >= 1 && Text[i - 1] == '\'')
|
||
i -= 2;
|
||
else
|
||
break;
|
||
}
|
||
}
|
||
|
||
if (i >= 0)
|
||
i--;
|
||
}
|
||
else
|
||
while (i >= 0 && (char.IsLetterOrDigit(Text[i]) || Text[i] == '_' || Text[i] == '&' || Text[i] == '!'))
|
||
{
|
||
i--;
|
||
}
|
||
while (i >= 0 && (Text[i] == ' ' || char.IsControl(Text[i]) || Text[i] == '}'))
|
||
{
|
||
if (Text[i] != '}')
|
||
i--;
|
||
else
|
||
{
|
||
while (i >= 0 && Text[i] != '{') //propusk kommentariev
|
||
i--;
|
||
if (i >= 0)
|
||
i--;
|
||
}
|
||
}
|
||
if (i >= 0 && (char.IsLetterOrDigit(Text[i]) || Text[i] == '_' || Text[i] == '&' || Text[i] == '!'))
|
||
{
|
||
bound = i + 1;
|
||
TestForKeyword(Text, i, ref bound, punkt_sym, out keyw);
|
||
for (int j = tmp; j > bound; j--)
|
||
{
|
||
sb.Insert(0, Text[j]);
|
||
}
|
||
if (sb.ToString().Trim() == "new")
|
||
return "";
|
||
i = bound;
|
||
continue;
|
||
}
|
||
else if (i >= 0 && Text[i] == '\'') return "";
|
||
i = tmp;
|
||
}
|
||
else
|
||
if (ch == '\'')
|
||
kav.Push('\'');
|
||
sb.Insert(0, ch);//.Append(Text[i]);
|
||
}
|
||
else if (ch == '.' || ch == '^' || ch == '&' || ch == '?' && IsPunctuation(Text, i + 1))
|
||
{
|
||
if (ch == '.' && i >= 1 && Text[i - 1] == '.' && tokens.Count == 0)
|
||
end = true;
|
||
else if (ch == '?' && i + 1 < Text.Length && Text[i + 1] != '.')
|
||
end = true;
|
||
else
|
||
sb.Insert(0, ch);
|
||
if (ch != '.')
|
||
punkt_sym = true;
|
||
}
|
||
else if (ch == '}')
|
||
{
|
||
if (kav.Count == 0)
|
||
{
|
||
while (i >= 0 && Text[i] != '{')
|
||
{
|
||
if (Text[i] != '$')//skip {$
|
||
sb.Insert(0, Text[i]);
|
||
i--;
|
||
}
|
||
if (i < 0)
|
||
{
|
||
break;
|
||
}
|
||
else if (Text[i] == '{')
|
||
{
|
||
sb.Insert(0, '{');
|
||
}
|
||
}
|
||
else
|
||
sb.Insert(0, ch);
|
||
}
|
||
else if (ch == '{')
|
||
{
|
||
if (kav.Count == 0)
|
||
{
|
||
if (keyw == KeywordKind.None)
|
||
return sb.ToString();
|
||
sb.Insert(0, ch);
|
||
break;
|
||
}
|
||
else sb.Insert(0, ch);
|
||
}
|
||
else
|
||
switch (ch)
|
||
{
|
||
case ')':
|
||
case ']':
|
||
if (kav.Count == 0)
|
||
{
|
||
string tmps = sb.ToString().Trim(' ', '\r', '\t', '\n');
|
||
if (tmps.Length >= 1 && (char.IsLetter(tmps[0]) || tmps[0] == '_' || tmps[0] == '&' || tmps[0] == '?' || tmps[0] == '!') && tokens.Count == 0)
|
||
end = true;
|
||
else
|
||
tokens.Push(ch);
|
||
}
|
||
if (!end)
|
||
{
|
||
sb.Insert(0, ch);
|
||
punkt_sym = true;
|
||
}
|
||
break;
|
||
case '>':
|
||
if (tokens.Count == 0)
|
||
{
|
||
int j = i + 1;
|
||
|
||
while (j < Text.Length && char.IsWhiteSpace(Text[j]))
|
||
j++;
|
||
|
||
if (ugl_skobki.Count > 0 || i == off - 1 || j == off && off == Text.Length || j < Text.Length && Text[i - 1] != '-' && (Text[j] == '.' || Text[j] == '('))
|
||
{
|
||
ugl_skobki.Push('>');
|
||
sb.Insert(0, ch);
|
||
}
|
||
else if (i >= 1 && Text[i - 1] == '-')
|
||
{
|
||
if (!(kav.Count == 0 && tokens.Count == 0))
|
||
sb.Insert(0, ch);
|
||
}
|
||
else
|
||
end = true;
|
||
}
|
||
else
|
||
sb.Insert(0, ch);
|
||
break;
|
||
case '<':
|
||
if (tokens.Count == 0)
|
||
{
|
||
if (ugl_skobki.Count > 0)
|
||
{
|
||
ugl_skobki.Pop();
|
||
sb.Insert(0, ch);
|
||
}
|
||
else
|
||
end = true;
|
||
}
|
||
else
|
||
sb.Insert(0, ch);
|
||
break;
|
||
case '[':
|
||
case '(':
|
||
case '|':
|
||
if (ch == '|' && ((tokens.Count == 0) || (tokens.Peek() == ']') || (tokens.Peek() == ')') || (tokens.Peek() == ',')))
|
||
// Закрывающий | - после него (tokens.Pop()) - пусто или ] ) ,
|
||
{
|
||
if (kav.Count == 0)
|
||
{
|
||
string tmps = sb.ToString().Trim(' ', '\r', '\t', '\n');
|
||
if (tmps.Length >= 1 && (char.IsLetter(tmps[0]) || tmps[0] == '_' || tmps[0] == '&' || tmps[0] == '?' || tmps[0] == '!') && tokens.Count == 0)
|
||
end = true;
|
||
else
|
||
tokens.Push(ch);
|
||
}
|
||
if (!end)
|
||
{
|
||
sb.Insert(0, ch);
|
||
punkt_sym = true;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (kav.Count == 0) // в т.ч. открывающий |
|
||
{
|
||
if (tokens.Count > 0)
|
||
{
|
||
tokens.Pop();
|
||
punkt_sym = true;
|
||
sb.Insert(0, ch);
|
||
if (ch == '(')
|
||
{
|
||
int tmp = i--;
|
||
/*while (i >= 0 && (char.IsLetterOrDigit(Text[i]) || Text[i] == '_' || Text[i] == '&'))
|
||
{
|
||
i--;
|
||
}*/
|
||
while (i >= 0 && (Text[i] == ' ' || char.IsControl(Text[i]) || Text[i] == '}'))
|
||
{
|
||
if (Text[i] != '}')
|
||
i--;
|
||
else
|
||
{
|
||
while (i >= 0 && Text[i] != '{') //propusk kommentariev
|
||
i--;
|
||
if (i >= 0)
|
||
i--;
|
||
}
|
||
}
|
||
if (i >= 0 && (char.IsLetterOrDigit(Text[i]) || Text[i] == '_' || Text[i] == '&' || Text[i] == '!' || Text[i] == '?' && IsPunctuation(Text, i + 1)))
|
||
{
|
||
bound = i + 1;
|
||
TestForKeyword(Text, i, ref bound, punkt_sym, out keyw);
|
||
if (keyw != KeywordKind.None && tokens.Count == 0)
|
||
{
|
||
end = true;
|
||
}
|
||
else bound = 0;
|
||
}
|
||
else if (i >= 0 && Text[i] == '\'') return "";
|
||
i = tmp;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
end = true;
|
||
if (ch == '[')
|
||
{
|
||
keyw = KeywordKind.SquareBracket;
|
||
}
|
||
}
|
||
|
||
}
|
||
else sb.Insert(0, ch); punkt_sym = true;
|
||
}
|
||
break;
|
||
case '\'':
|
||
if (kav.Count == 0) kav.Push(ch); else kav.Pop();
|
||
sb.Insert(0, ch);
|
||
punkt_sym = true; break;
|
||
default:
|
||
if (!(ch == ' ' || char.IsControl(ch)))
|
||
{
|
||
if (kav.Count == 0)
|
||
{
|
||
if (ch == ',' && ugl_skobki.Count > 0)
|
||
sb.Insert(0, ch);
|
||
else
|
||
if (tokens.Count == 0)
|
||
end = true;
|
||
else
|
||
sb.Insert(0, ch);
|
||
}
|
||
else
|
||
sb.Insert(0, ch);
|
||
}
|
||
else
|
||
{
|
||
if (Text[i] == '\n')
|
||
{
|
||
bool one_line_comment = false;
|
||
int comment_position = -1;
|
||
if (CheckForComment(Text, i - 1, out comment_position, out one_line_comment))
|
||
{
|
||
if (!one_line_comment)
|
||
end = true;
|
||
else
|
||
{
|
||
sb.Insert(0, ch);
|
||
i = comment_position;
|
||
}
|
||
|
||
}
|
||
else
|
||
sb.Insert(0, ch);
|
||
}
|
||
else
|
||
sb.Insert(0, ch);
|
||
}
|
||
punkt_sym = true;
|
||
break;
|
||
}
|
||
|
||
if (end)
|
||
{
|
||
bool one_line_comment = false;
|
||
int comment_position = -1;
|
||
if (CheckForComment(Text, i, out comment_position, out one_line_comment))
|
||
{
|
||
int new_line_ind = sb.ToString().IndexOf('\n');
|
||
if (new_line_ind != -1) sb = sb.Remove(0, new_line_ind + 1);
|
||
else sb = sb.Remove(0, sb.Length);
|
||
}
|
||
break;
|
||
}
|
||
i--;
|
||
}
|
||
|
||
//return RemovePossibleKeywords(sb);
|
||
if (sb.Length > 0 && sb[sb.Length - 1] == '?')
|
||
sb.Remove(sb.Length - 1, 1);
|
||
|
||
return sb.ToString().Trim();
|
||
}
|
||
|
||
private bool CheckForComment(string Text, int off, out int comment_position, out bool one_line_comment)
|
||
{
|
||
int i = off;
|
||
one_line_comment = false;
|
||
comment_position = -1;
|
||
Stack<char> kav = new Stack<char>();
|
||
bool is_comm = false;
|
||
while (i >= 0 && !is_comm && Text[i] != '\n' && Text[i] != '\r')
|
||
{
|
||
if (Text[i] == '\'' || Text[i] == '"')
|
||
{
|
||
if (kav.Count == 0) kav.Push('\'');
|
||
else kav.Pop();
|
||
}
|
||
else if (Text[i] == '{')
|
||
{
|
||
if (kav.Count == 0)
|
||
{
|
||
comment_position = i;
|
||
while (i >= 0 && Text[i] != '\'' && Text[i] != '"')
|
||
i--;
|
||
if (i >= 1 && Text[i - 1] == '$')
|
||
return false;
|
||
is_comm = true;
|
||
return is_comm;
|
||
}
|
||
}
|
||
else if (Text[i] == '}')
|
||
{
|
||
return false;
|
||
}
|
||
else if (Text[i] == '#')
|
||
if (kav.Count == 0)
|
||
{
|
||
is_comm = true;
|
||
one_line_comment = true;
|
||
comment_position = i - 1;
|
||
}
|
||
|
||
i--;
|
||
}
|
||
return is_comm;
|
||
}
|
||
|
||
public override string FindExpressionForMethod(int off, string Text, int line, int col, char pressed_key, ref int num_param)
|
||
{
|
||
int i = off - 1;
|
||
string pattern = null;
|
||
int bound = 0;
|
||
System.Text.StringBuilder sb = new System.Text.StringBuilder();
|
||
Stack<char> tokens = new Stack<char>();
|
||
Stack<char> kav = new Stack<char>();
|
||
Stack<char> skobki = new Stack<char>();
|
||
Stack<char> ugl_skobki = new Stack<char>();
|
||
bool comma_pressed = pressed_key == ',';
|
||
int num_in_ident = -1;
|
||
bool punkt_sym = false;
|
||
int next;
|
||
KeywordKind keyw = TestForKeyword(Text, i);
|
||
bool on_brace = false;
|
||
if (keyw == KeywordKind.Punkt)
|
||
return "";
|
||
try
|
||
{
|
||
while (i >= bound)
|
||
{
|
||
bool end = false;
|
||
char ch = Text[i];
|
||
if ((char.IsLetterOrDigit(ch) || ch == '_' || ch == '&' || ch == '!') && !isOperator(Text, i, out next))
|
||
{
|
||
num_in_ident = i;
|
||
if (kav.Count == 0 && tokens.Count == 0)
|
||
{
|
||
int tmp = i;
|
||
while (i >= 0 && (char.IsLetterOrDigit(Text[i]) || Text[i] == '_' || Text[i] == '&' || Text[i] == '!') && !isOperator(Text, i, out next))
|
||
{
|
||
i--;
|
||
}
|
||
while (i >= 0 && (Text[i] == ' ' || char.IsControl(Text[i]) || Text[i] == '}'))
|
||
{
|
||
if (Text[i] != '}')
|
||
i--;
|
||
else
|
||
{
|
||
while (i >= 0 && Text[i] != '{') //propusk kommentariev
|
||
i--;
|
||
if (i >= 0)
|
||
i--;
|
||
}
|
||
}
|
||
if (i >= 0 && (char.IsLetterOrDigit(Text[i]) || Text[i] == '_' || Text[i] == '&' || Text[i] == '!') && !isOperator(Text, i, out next))
|
||
{
|
||
bound = i + 1;
|
||
TestForKeyword(Text, i, ref bound, punkt_sym, out keyw);
|
||
if (keyw == KeywordKind.New && comma_pressed)
|
||
bound = 0;
|
||
if (keyw == KeywordKind.Function || keyw == KeywordKind.Constructor || keyw == KeywordKind.Destructor)
|
||
return "";
|
||
}
|
||
else if (i >= 0 && (Text[i] == '\'' || Text[i] == '"')) return "";
|
||
i = tmp;
|
||
}
|
||
sb.Insert(0, ch);//.Append(Text[i]);
|
||
}
|
||
else if (ch == '.') sb.Insert(0, ch);
|
||
else if (ch == '}')
|
||
{
|
||
if (kav.Count == 0)
|
||
{
|
||
while (i >= 0 && Text[i] != '{')
|
||
{
|
||
sb.Insert(0, Text[i]);
|
||
i--;
|
||
}
|
||
if (i < 0)
|
||
{
|
||
break;
|
||
}
|
||
else if (Text[i] == '{')
|
||
{
|
||
sb.Insert(0, '{');
|
||
}
|
||
}
|
||
else
|
||
sb.Insert(0, ch);
|
||
}
|
||
else if (ch == '{')
|
||
{
|
||
if (kav.Count == 0)
|
||
{
|
||
sb.Insert(0, ch);
|
||
break;
|
||
}
|
||
else sb.Insert(0, ch);
|
||
}
|
||
else
|
||
switch (ch)
|
||
{
|
||
case ')':
|
||
case ']':
|
||
case '>':
|
||
// Добавил это условие для питона EVA
|
||
if (pressed_key == '(' && ch == ')' && !sb.ToString().Contains(".") && tokens.Count == 0)
|
||
{
|
||
end = true;
|
||
break;
|
||
}
|
||
if (kav.Count == 0)
|
||
{
|
||
int j = i + 1;
|
||
|
||
while (j < Text.Length && char.IsWhiteSpace(Text[j]))
|
||
j++;
|
||
if (ch != '>')
|
||
tokens.Push(ch);
|
||
if (ch == ')')
|
||
skobki.Push(ch);
|
||
if (tokens.Count > 0 || pressed_key == ',')
|
||
sb.Insert(0, ch);
|
||
else if (i == off - 1 || j == off && off == Text.Length || ugl_skobki.Count > 0 || j < Text.Length && Text[i - 1] != '-' && (Text[j] == '.' || Text[j] == '('))
|
||
{
|
||
tokens.Push(ch);
|
||
ugl_skobki.Push(ch);
|
||
sb.Insert(0, ch);
|
||
}
|
||
else
|
||
end = true;
|
||
}
|
||
else
|
||
sb.Insert(0, ch); break;
|
||
case '[':
|
||
case '<':
|
||
case '(':
|
||
if (kav.Count == 0)//esli ne v kavychkah
|
||
{
|
||
if (ch == '(')
|
||
if (skobki.Count > 0)
|
||
skobki.Pop();
|
||
else skobki.Push('(');
|
||
//esli byli zakryvaushie tokeny (polagaem, chto skobki korrektny, esli net, to parser v lubom sluchae ne proparsit
|
||
if (tokens.Count > 0)
|
||
{
|
||
if (ch != '<')
|
||
tokens.Pop();
|
||
else if (ugl_skobki.Count > 0)
|
||
{
|
||
tokens.Pop();
|
||
ugl_skobki.Pop();
|
||
}
|
||
sb.Insert(0, ch);//dobavljaem k stroke
|
||
if (ch == '(')
|
||
{
|
||
int tmp = i--;
|
||
/*while (i >= 0 && (char.IsLetterOrDigit(Text[i]) || Text[i] == '_' || Text[i] == '&'))
|
||
{
|
||
i--;
|
||
}*/
|
||
while (i >= 0 && (Text[i] == ' ' || char.IsControl(Text[i]) || Text[i] == '}'))
|
||
{
|
||
if (Text[i] != '}')
|
||
{
|
||
i--;
|
||
}
|
||
else
|
||
{
|
||
while (i >= 0 && Text[i] != '{')
|
||
{
|
||
//propusk kommentariev
|
||
i--;
|
||
}
|
||
if (i >= 0)
|
||
i--;
|
||
}
|
||
}
|
||
|
||
if (i >= 0 && (char.IsLetterOrDigit(Text[i]) || Text[i] == '_' || Text[i] == '&' || Text[i] == '!'))
|
||
{
|
||
bound = i + 1;
|
||
TestForKeyword(Text, i, ref bound, punkt_sym, out keyw);
|
||
if (keyw == KeywordKind.New)
|
||
bound = 0;
|
||
else
|
||
if (keyw != KeywordKind.None && tokens.Count == 0)
|
||
end = true;
|
||
else
|
||
bound = 0;
|
||
}
|
||
else if (i >= 0 && (Text[i] == '\'' || Text[i] == '"')) return "";
|
||
i = tmp;
|
||
}
|
||
}
|
||
else if (ch == '<' || ch == '>')
|
||
{
|
||
if (tokens.Count > 0 || pressed_key == ',')
|
||
sb.Insert(0, ch);
|
||
else
|
||
end = true;
|
||
}
|
||
else
|
||
if (!comma_pressed) //esli my ne v parametrah
|
||
end = true; //zakonchili, tak kak doshli do pervoj skobki
|
||
else
|
||
{
|
||
sb.Remove(0, sb.Length);//doshli do skobki, byla nazhata zapjataja, poetomu udaljaem vse parametry
|
||
if (ch == '(')
|
||
on_brace = true;
|
||
//on_skobka = true;
|
||
comma_pressed = false;
|
||
}
|
||
}
|
||
else sb.Insert(0, ch);
|
||
break;
|
||
case '\'':
|
||
case '"':
|
||
if (kav.Count == 0)
|
||
kav.Push(ch);
|
||
else
|
||
kav.Pop();
|
||
sb.Insert(0, ch);
|
||
if (kav.Count == 0 && tokens.Count == 0)
|
||
end = true;
|
||
break;
|
||
default:
|
||
if (!(ch == ' ' || char.IsControl(ch)))
|
||
{
|
||
if (ch == '^')
|
||
sb.Insert(0, ch);
|
||
else
|
||
if (kav.Count == 0)//ne v kavychkah
|
||
{
|
||
if (tokens.Count == 0)
|
||
{
|
||
if (ch != ',' && !comma_pressed)
|
||
end = true;//esli ne na zapjatoj i ne v parametrah, to finish
|
||
else if (ch == ',' && !comma_pressed)
|
||
end = true;
|
||
else if (ch == ',' && (pressed_key == '(' || pressed_key == '['))
|
||
end = true;
|
||
else
|
||
{
|
||
sb.Insert(0, ch);//prodolzhaem
|
||
if (isOperator(Text, i, out next))
|
||
{
|
||
i = next;
|
||
continue;
|
||
}
|
||
}
|
||
|
||
}
|
||
else
|
||
sb.Insert(0, ch);//esli est skobki, prodolzhaem
|
||
if (!end && ch == ',')
|
||
{
|
||
if (tokens.Count == 0)
|
||
num_param++;//esli na zapjatoj, uvelichivaem nomer parametra
|
||
}
|
||
}
|
||
else
|
||
sb.Insert(0, ch);//prodolzhaem
|
||
|
||
}
|
||
else
|
||
if (Text[i] == '\n')
|
||
{
|
||
bool one_line_comment = false;
|
||
int comment_position = -1;
|
||
if (CheckForComment(Text, i - 1, out comment_position, out one_line_comment)) //proverjaem, net li kommenta ne predydushej stroke
|
||
{
|
||
if (!one_line_comment)
|
||
end = true;
|
||
else
|
||
{
|
||
sb.Insert(0, ch);
|
||
i = comment_position;
|
||
}
|
||
|
||
}
|
||
else
|
||
sb.Insert(0, ch);//a inache vyrazhenie na neskolkih strokah
|
||
}
|
||
else
|
||
sb.Insert(0, ch);
|
||
break;
|
||
}
|
||
|
||
if (end)
|
||
{
|
||
if (comma_pressed && !on_brace)
|
||
return "";
|
||
bool one_line_comment = false;
|
||
int comment_position = -1;
|
||
if (CheckForComment(Text, i, out comment_position, out one_line_comment))//proverka na kommentarii
|
||
{
|
||
int new_line_ind = sb.ToString().IndexOf('\n');
|
||
if (new_line_ind != -1) sb = sb.Remove(0, new_line_ind + 1);
|
||
else sb = sb.Remove(0, sb.Length);
|
||
}
|
||
break;
|
||
}
|
||
i--;
|
||
}
|
||
if (pressed_key == ',')
|
||
num_param++;
|
||
}
|
||
catch (Exception e)
|
||
{
|
||
|
||
}
|
||
if (pressed_key == ',' && (!on_brace || skobki.Count == 0))
|
||
return "";
|
||
//return RemovePossibleKeywords(sb);
|
||
return sb.ToString().Trim();
|
||
}
|
||
|
||
private bool isOperator(string Text, int i, out int next)
|
||
{
|
||
next = i;
|
||
if (i >= 3)
|
||
{
|
||
string op = Text.Substring(i - 2, 3).ToLower().Trim();
|
||
if (op == "and" || op == "div" || op == "mod" || op == "xor")
|
||
{
|
||
if (!char.IsLetterOrDigit(Text[i - 3]) && Text[i - 3] != '_' && Text[i - 3] != '&' && !(i + 1 < Text.Length && char.IsLetterOrDigit(Text[i + 1])))
|
||
{
|
||
next = i - 3;
|
||
return true;
|
||
}
|
||
return false;
|
||
}
|
||
}
|
||
if (i >= 2)
|
||
{
|
||
string op = Text.Substring(i - 1, 2).ToLower().Trim();
|
||
if (op == "or")
|
||
{
|
||
if (!char.IsLetterOrDigit(Text[i - 2]) && Text[i - 2] != '_' && Text[i - 2] != '&' && !(i + 1 < Text.Length && char.IsLetterOrDigit(Text[i + 1])))
|
||
{
|
||
next = i - 2;
|
||
return true;
|
||
}
|
||
return false;
|
||
}
|
||
}
|
||
return false;
|
||
}
|
||
|
||
public override string FindExpressionFromAnyPosition(int off, string Text, int line, int col, out string expr_without_brackets)
|
||
{
|
||
int i = off - 1;
|
||
|
||
// это например вызов метода без параметров
|
||
expr_without_brackets = null;
|
||
var keyw = KeywordKind.None;
|
||
if (i < 0)
|
||
return "";
|
||
bool is_char = false;
|
||
|
||
// идем в обе стороны от off
|
||
System.Text.StringBuilder sb = new System.Text.StringBuilder();
|
||
if (Text[i] != ' ' && (char.IsLetterOrDigit(Text[i]) || Text[i] == '_' || Text[i] == '&' || Text[i] == '?' && IsPunctuation(Text, i + 1) || Text[i] == '!'))
|
||
{
|
||
//sb.Remove(0,sb.Length);
|
||
while (i >= 0 && (char.IsLetterOrDigit(Text[i]) || Text[i] == '_' || Text[i] == '&' || Text[i] == '?' && IsPunctuation(Text, i + 1) || Text[i] == '!'))
|
||
{
|
||
//sb.Insert(0,Text[i]);//.Append(Text[i]);
|
||
i--;
|
||
}
|
||
is_char = true;
|
||
}
|
||
i = off;
|
||
if (i < Text.Length && Text[i] != ' ' && (char.IsLetterOrDigit(Text[i]) || Text[i] == '_' || Text[i] == '&' || Text[i] == '?' && IsPunctuation(Text, i + 1) || Text[i] == '!'))
|
||
{
|
||
while (i < Text.Length && (char.IsLetterOrDigit(Text[i]) || Text[i] == '_' || Text[i] == '!'))
|
||
{
|
||
//sb.Append(Text[i]);//.Append(Text[i]);
|
||
i++;
|
||
}
|
||
is_char = true;
|
||
}
|
||
if (is_char)
|
||
{
|
||
expr_without_brackets = FindExpression(i, Text, line, col, out keyw);
|
||
}
|
||
bool is_new = keyw == KeywordKind.New;
|
||
bool meth_call = false;
|
||
KeywordKind new_keyw = KeywordKind.None;
|
||
int j = i;
|
||
bool in_comment = false;
|
||
bool brackets = false;
|
||
while (j < Text.Length)
|
||
{
|
||
char c = Text[j];
|
||
|
||
if (c == '(' && !in_comment)
|
||
{
|
||
Stack<char> sk_stack = new Stack<char>();
|
||
in_comment = false;
|
||
bool in_kav = false;
|
||
sk_stack.Push('(');
|
||
j++;
|
||
while (j < Text.Length)
|
||
{
|
||
c = Text[j];
|
||
if (c == '(' && !in_kav)
|
||
sk_stack.Push('(');
|
||
else
|
||
if (c == ')' && !in_kav)
|
||
{
|
||
if (sk_stack.Count == 0)
|
||
{
|
||
break;
|
||
}
|
||
else
|
||
{
|
||
sk_stack.Pop();
|
||
if (sk_stack.Count == 0)
|
||
{
|
||
i = j + 1;
|
||
meth_call = true;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
else if ((c == '\'' || c == '"') && !in_comment)
|
||
{
|
||
in_kav = !in_kav;
|
||
}
|
||
else if (c == '{' && !in_kav)
|
||
{
|
||
in_comment = true;
|
||
}
|
||
else if (c == '}' && !in_kav)
|
||
{
|
||
in_comment = false;
|
||
}
|
||
else if (c == '#' && !in_kav && !in_comment)
|
||
{
|
||
break;
|
||
}
|
||
j++;
|
||
}
|
||
break;
|
||
}
|
||
else if ((c == '<' || c == '&' && j < Text.Length - 1 && Text[j + 1] == '<') && !in_comment)
|
||
{
|
||
Stack<char> sk_stack = new Stack<char>();
|
||
if (c == '&')
|
||
j++;
|
||
sk_stack.Push('<');
|
||
j++;
|
||
bool generic = false;
|
||
while (j < Text.Length)
|
||
{
|
||
c = Text[j];
|
||
if (c == '>')
|
||
{
|
||
sk_stack.Pop();
|
||
if (sk_stack.Count == 0)
|
||
{
|
||
i = j + 1;
|
||
generic = true;
|
||
break;
|
||
}
|
||
}
|
||
else if (c == '<')
|
||
{
|
||
sk_stack.Push('<');
|
||
|
||
}
|
||
else if (!char.IsLetterOrDigit(c) && c != '?' && c != '&' && c != '.' && c != ' ' && c != '\t' && c != '\n' && c != ',' && c != '!')
|
||
{
|
||
break;
|
||
}
|
||
j++;
|
||
}
|
||
if (generic)
|
||
{
|
||
//break;
|
||
}
|
||
}
|
||
else if (c == '[' && !in_comment)
|
||
{
|
||
brackets = true;
|
||
break;
|
||
}
|
||
else if (c == '{')
|
||
{
|
||
in_comment = true;
|
||
}
|
||
else if (c == '}')
|
||
{
|
||
if (!in_comment)
|
||
break;
|
||
else
|
||
in_comment = false;
|
||
}
|
||
else if (c == ' ' || c == '\t' || c == '\n' || c == '\r')
|
||
{
|
||
|
||
}
|
||
else
|
||
{
|
||
if (!in_comment)
|
||
break;
|
||
}
|
||
j++;
|
||
}
|
||
if (is_new && string.Compare(expr_without_brackets.Trim(' ', '\n', '\t', '\r'), "new", true) == 0 && !meth_call)
|
||
{
|
||
expr_without_brackets = null;
|
||
return null;
|
||
}
|
||
if (is_char)
|
||
{
|
||
string ss = FindExpression(i, Text, line, col, out new_keyw);
|
||
if (brackets && is_new)
|
||
{
|
||
int ind = ss.ToLower().IndexOf("new");
|
||
if (ind != -1)
|
||
return ss.Substring(ind + 3);
|
||
}
|
||
if (is_new && ss != null && ss.IndexOf("new") == -1 && ss.IndexOf(":") != -1)
|
||
return expr_without_brackets + "(true?" + ss;
|
||
return ss;
|
||
}
|
||
return null;
|
||
}
|
||
|
||
// TODO: Реализовать EVA
|
||
public override string GetArrayDescription(string elementType, int rank)
|
||
{
|
||
return "";
|
||
}
|
||
|
||
public override string GetClassKeyword(class_keyword keyw)
|
||
{
|
||
switch (keyw)
|
||
{
|
||
case class_keyword.Class: return "class";
|
||
case class_keyword.TemplateClass: return "template class";
|
||
}
|
||
return null;
|
||
}
|
||
|
||
// TODO: Реализовать EVA
|
||
public override string GetCompiledTypeRepresentation(Type t, MemberInfo mi, ref int line, ref int col)
|
||
{
|
||
return "";
|
||
}
|
||
|
||
public override string GetDescription(IBaseScope scope)
|
||
{
|
||
switch (scope.Kind)
|
||
{
|
||
case ScopeKind.Type: return GetDescriptionForType(scope as ITypeScope);
|
||
case ScopeKind.CompiledType: return GetDescriptionForCompiledType(scope as ICompiledTypeScope);
|
||
case ScopeKind.Procedure: return GetDescriptionForProcedure(scope as IProcScope);
|
||
case ScopeKind.ElementScope: return GetDescriptionForElementScope(scope as IElementScope);
|
||
case ScopeKind.TypeSynonim: return GetSynonimDescription(scope as ITypeSynonimScope);
|
||
case ScopeKind.Namespace: return GetDescriptionForNamespace(scope as INamespaceScope);
|
||
case ScopeKind.CompiledMethod: return GetDescriptionForCompiledMethod(scope as ICompiledMethodScope);
|
||
|
||
/*case ScopeKind.Array: return GetDescriptionForArray(scope as IArrayScope);
|
||
case ScopeKind.Enum: return GetDescriptionForEnum(scope as IEnumScope);
|
||
case ScopeKind.Set: return GetDescriptionForSet(scope as ISetScope);
|
||
|
||
case ScopeKind.CompiledField: return GetDescriptionForCompiledField(scope as ICompiledFieldScope);
|
||
case ScopeKind.CompiledProperty: return GetDescriptionForCompiledProperty(scope as ICompiledPropertyScope);
|
||
|
||
|
||
case ScopeKind.CompiledConstructor: return GetDescriptionForCompiledConstructor(scope as ICompiledConstructorScope);*/
|
||
}
|
||
return "";
|
||
}
|
||
|
||
protected string GetDescriptionForProcedure(IProcScope scope)
|
||
{
|
||
System.Text.StringBuilder sb = new System.Text.StringBuilder();
|
||
string extensionType = null;
|
||
if (scope.IsExtension && scope.Parameters.Length > 0)
|
||
{
|
||
extensionType = GetSimpleDescription(scope.Parameters[0].Type);
|
||
}
|
||
if (scope.IsExtension)
|
||
{
|
||
if (extensionType != null && extensionType.IndexOf(' ') != -1)
|
||
{
|
||
sb.Append("(" + PascalABCCompiler.StringResources.Get("CODE_COMPLETION_EXTENSION") + " " + extensionType + ") ");
|
||
extensionType = null;
|
||
}
|
||
else
|
||
{
|
||
sb.Append("(" + PascalABCCompiler.StringResources.Get("CODE_COMPLETION_EXTENSION") + ") ");
|
||
}
|
||
}
|
||
|
||
if (scope.IsStatic) sb.Append("static ");
|
||
if (scope.IsConstructor())
|
||
sb.Append("constructor ");
|
||
else
|
||
sb.Append("def ");
|
||
/*if (scope.ReturnType == null)
|
||
sb.Append("procedure ");
|
||
else
|
||
sb.Append("function ");*/
|
||
if (!scope.IsConstructor())
|
||
{
|
||
if (extensionType != null)
|
||
{
|
||
sb.Append(extensionType + ".");
|
||
sb.Append(scope.Name);
|
||
}
|
||
else
|
||
{
|
||
sb.Append(GetTopScopeName(scope.TopScope));
|
||
sb.Append(scope.Name);
|
||
}
|
||
}
|
||
else
|
||
{
|
||
sb.Append(GetTopScopeNameWithoutDot(scope.TopScope));
|
||
}
|
||
|
||
sb.Append(GetGenericString(scope.TemplateParameters));
|
||
sb.Append('(');
|
||
IElementScope[] parameters = scope.Parameters;
|
||
for (int i = 0; i < parameters.Length; i++)
|
||
{
|
||
if (scope.IsExtension && i == 0)
|
||
continue;
|
||
sb.Append(GetSimpleDescription(parameters[i]));
|
||
if (i < parameters.Length - 1)
|
||
{
|
||
sb.Append("; ");
|
||
}
|
||
}
|
||
sb.Append(')');
|
||
if (scope.ReturnType != null && !scope.IsConstructor() && !(scope.ReturnType is IProcType && (scope.ReturnType as IProcType).Target == scope))
|
||
sb.Append(" " + ReturnTypeDelimiter + " " + GetSimpleDescription(scope.ReturnType));
|
||
//if (scope.IsStatic) sb.Append("; static");
|
||
if (scope.IsVirtual) sb.Append("; ");
|
||
else if (scope.IsAbstract) sb.Append("; abstract");
|
||
else if (scope.IsOverride) sb.Append("; override");
|
||
else if (scope.IsReintroduce) sb.Append("; reintroduce");
|
||
sb.Append(';');
|
||
return sb.ToString();
|
||
}
|
||
|
||
protected string GetDescriptionForElementScope(IElementScope scope)
|
||
{
|
||
string type_name = null;
|
||
StringBuilder sb = new StringBuilder();
|
||
if (scope.Type == null) type_name = "";
|
||
else
|
||
type_name = GetSimpleDescription(scope.Type);
|
||
if (type_name.StartsWith("$"))
|
||
type_name = type_name.Substring(1, type_name.Length - 1);
|
||
switch (scope.ElemKind)
|
||
{
|
||
case SymbolKind.Variable: sb.Append("var " + GetTopScopeName(scope.TopScope) + scope.Name + ((type_name != "") ? ": " + type_name : "")); break;
|
||
case SymbolKind.Parameter: sb.Append(kind_of_param(scope) + "parameter " + scope.Name + ": " + type_name + (scope.ConstantValue != null ? (":=" + scope.ConstantValue.ToString()) : "")); break;
|
||
case SymbolKind.Field:
|
||
if (scope.IsStatic)
|
||
sb.Append("static ");
|
||
else
|
||
sb.Append("var ");
|
||
sb.Append(GetTopScopeName(scope.TopScope) + scope.Name + ": " + type_name);
|
||
// append_modifiers(sb, scope);
|
||
//if (scope.IsStatic) sb.Append("; static");
|
||
if (scope.IsReadOnly) sb.Append("; readonly");
|
||
break;
|
||
|
||
}
|
||
sb.Append(';');
|
||
return sb.ToString();
|
||
}
|
||
|
||
protected override string kind_of_param(IElementScope scope)
|
||
{
|
||
switch (scope.ParamKind)
|
||
{
|
||
case PascalABCCompiler.SyntaxTree.parametr_kind.const_parametr: return "const ";
|
||
case PascalABCCompiler.SyntaxTree.parametr_kind.var_parametr: return "var ";
|
||
case PascalABCCompiler.SyntaxTree.parametr_kind.params_parametr: return "params ";
|
||
case PascalABCCompiler.SyntaxTree.parametr_kind.out_parametr: return "out ";
|
||
}
|
||
return "";
|
||
}
|
||
|
||
protected override string GetFullTypeName(Type ctn, bool no_alias = true)
|
||
{
|
||
TypeCode tc = Type.GetTypeCode(ctn);
|
||
if (ctn.FullName == null && !ctn.IsArray && !ctn.IsGenericTypeDefinition && ctn.IsGenericParameter)
|
||
return ctn.Name;
|
||
if (!ctn.IsEnum)
|
||
{
|
||
switch (tc)
|
||
{
|
||
case TypeCode.Int32: return "int";
|
||
case TypeCode.Double: return "float";
|
||
case TypeCode.Boolean: return "bool";
|
||
case TypeCode.String: return "str";
|
||
case TypeCode.Char: return "char";
|
||
}
|
||
/*if (ctn.IsPointer)
|
||
if (ctn.FullName == "System.Void*")
|
||
return "pointer";
|
||
else
|
||
return "^" + GetFullTypeName(ctn.GetElementType());*/
|
||
}
|
||
else
|
||
return ctn.FullName;
|
||
if (!no_alias)
|
||
{
|
||
if (ctn.Name.Contains("Func`") || ctn.Name.Contains("Predicate`"))
|
||
return getLambdaRepresentation(ctn, true, new List<string>());
|
||
else if (ctn.Name.Contains("Action`"))
|
||
return getLambdaRepresentation(ctn, false, new List<string>());
|
||
else if (ctn.Name == "IEnumerable`1")
|
||
return "sequence of " + GetShortTypeName(ctn.GetGenericArguments()[0], false);
|
||
else if (ctn.Name.Contains("Tuple`"))
|
||
return get_tuple_string(ctn);
|
||
}
|
||
int gen_pos = ctn.Name.IndexOf("`");
|
||
if (gen_pos != -1 || ctn.IsGenericType)
|
||
{
|
||
int len = ctn.GetGenericArguments().Length;
|
||
Type[] gen_ps = ctn.GetGenericArguments();
|
||
System.Text.StringBuilder sb = new System.Text.StringBuilder();
|
||
if (gen_pos != -1)
|
||
sb.Append(ctn.Namespace + "." + ctn.Name.Substring(0, gen_pos));
|
||
else
|
||
sb.Append(ctn.Namespace + "." + ctn.Name);
|
||
sb.Append(GenericTypesStartBracket);
|
||
for (int i = 0; i < len; i++)
|
||
{
|
||
sb.Append(gen_ps[i].Name);
|
||
if (i < len - 1)
|
||
sb.Append(", ");
|
||
}
|
||
sb.Append(GenericTypesEndBracket);
|
||
return sb.ToString();
|
||
}
|
||
if (ctn.IsArray)
|
||
{
|
||
var rank = ctn.GetArrayRank();
|
||
var strrank = rank > 1 ? "[" + new string(',', rank - 1) + "]" : "";
|
||
return $"array{strrank}" + " of " + GetFullTypeName(ctn.GetElementType());
|
||
}
|
||
if (ctn == Type.GetType("System.Void*")) return "pointer";
|
||
if (ctn.IsNested)
|
||
return ctn.Name;
|
||
return ctn.FullName;
|
||
}
|
||
|
||
public override string GetKeyword(SymbolKind kind)
|
||
{
|
||
switch (kind)
|
||
{
|
||
case SymbolKind.Class: return "class";
|
||
case SymbolKind.Enum: return "enum";
|
||
case SymbolKind.Null: return "None";
|
||
}
|
||
return "";
|
||
}
|
||
|
||
public override string GetShortName(ICompiledConstructorScope scope)
|
||
{
|
||
return "create";
|
||
}
|
||
|
||
public override string GetShortTypeName(Type ctn, bool noalias = true)
|
||
{
|
||
TypeCode tc = Type.GetTypeCode(ctn);
|
||
if (ctn.FullName == null && !ctn.IsArray && !ctn.IsGenericTypeDefinition && ctn.IsGenericParameter)
|
||
return ctn.Name;
|
||
if (!ctn.IsEnum)
|
||
{
|
||
switch (tc)
|
||
{
|
||
case TypeCode.Int32: return "int";
|
||
case TypeCode.Double: return "float";
|
||
case TypeCode.Boolean: return "bool";
|
||
case TypeCode.String: return "str";
|
||
case TypeCode.Char: return "char";
|
||
}
|
||
/*if (ctn.IsPointer)
|
||
if (ctn.FullName == "System.Void*")
|
||
return "pointer";
|
||
else
|
||
return "^" + GetShortTypeName(ctn.GetElementType(), noalias);*/
|
||
}
|
||
else return ctn.Name;
|
||
if (ctn.Name.Contains("`"))
|
||
{
|
||
if (!noalias)
|
||
{
|
||
if (ctn.Name.Contains("Func`") || ctn.Name.Contains("Predicate`"))
|
||
return getLambdaRepresentation(ctn, true, new List<string>());
|
||
else if (ctn.Name.Contains("Action`"))
|
||
return getLambdaRepresentation(ctn, false, new List<string>());
|
||
else if (ctn.Name == "IEnumerable`1")
|
||
return "sequence of " + GetShortTypeName(ctn.GetGenericArguments()[0], false);
|
||
else if (ctn.Name.Contains("Tuple`"))
|
||
return get_tuple_string(ctn);
|
||
}
|
||
int len = ctn.GetGenericArguments().Length;
|
||
System.Text.StringBuilder sb = new System.Text.StringBuilder();
|
||
sb.Append(ctn.Name.Substring(0, ctn.Name.IndexOf('`')));
|
||
sb.Append('[');
|
||
if (!noalias)
|
||
{
|
||
Type[] gen_ps = ctn.GetGenericArguments();
|
||
for (int i = 0; i < len; i++)
|
||
{
|
||
sb.Append(gen_ps[i].Name);
|
||
if (i < len - 1)
|
||
sb.Append(", ");
|
||
}
|
||
}
|
||
sb.Append(']');
|
||
return sb.ToString();
|
||
}
|
||
if (ctn.IsArray)
|
||
{
|
||
var rank = ctn.GetArrayRank();
|
||
var strrank = rank > 1 ? "[" + new string(',', rank - 1) + "]" : "";
|
||
return $"array{strrank}" + " of " + GetShortTypeName(ctn.GetElementType());
|
||
}
|
||
//if (ctn == Type.GetType("System.Void*")) return PascalABCCompiler.StringConstants.pointer_type_name;
|
||
return ctn.Name;
|
||
}
|
||
|
||
public override string GetSimpleDescription(IBaseScope scope)
|
||
{
|
||
if (scope == null)
|
||
return "";
|
||
switch (scope.Kind)
|
||
{
|
||
case ScopeKind.Array:
|
||
case ScopeKind.Enum:
|
||
case ScopeKind.Set:
|
||
if (scope is ITypeScope && (scope as ITypeScope).Aliased)
|
||
return scope.Name;
|
||
break;
|
||
case ScopeKind.TypeSynonim:
|
||
case ScopeKind.Type:
|
||
if (scope.Name == "biginteger")
|
||
return "bigint";
|
||
break;
|
||
}
|
||
switch (scope.Kind)
|
||
{
|
||
case ScopeKind.Type: return GetSimpleDescriptionForType(scope as ITypeScope);
|
||
case ScopeKind.CompiledType: return GetSimpleDescriptionForCompiledType(scope as ICompiledTypeScope, false);
|
||
case ScopeKind.Procedure: return GetSimpleDescriptionForProcedure(scope as IProcScope);
|
||
case ScopeKind.ElementScope: return GetSimpleDescriptionForElementScope(scope as IElementScope);
|
||
case ScopeKind.TypeSynonim: return GetSimpleSynonimDescription(scope as ITypeSynonimScope);
|
||
case ScopeKind.Array: return GetDescriptionForArray(scope as IArrayScope);
|
||
case ScopeKind.UnitInterface: return GetDescriptionForModule(scope as IInterfaceUnitScope);
|
||
case ScopeKind.Namespace: return GetDescriptionForNamespace(scope as INamespaceScope);
|
||
case ScopeKind.CompiledMethod: return GetDescriptionForCompiledMethod(scope as ICompiledMethodScope);
|
||
|
||
/*case ScopeKind.Enum: return GetDescriptionForEnum(scope as IEnumScope);
|
||
case ScopeKind.Set: return GetDescriptionForSet(scope as ISetScope);
|
||
|
||
case ScopeKind.CompiledField: return GetDescriptionForCompiledField(scope as ICompiledFieldScope);
|
||
case ScopeKind.CompiledProperty: return GetDescriptionForCompiledProperty(scope as ICompiledPropertyScope);
|
||
|
||
|
||
case ScopeKind.CompiledConstructor: return GetDescriptionForCompiledConstructor(scope as ICompiledConstructorScope);*/
|
||
}
|
||
return "";
|
||
}
|
||
|
||
private string GetDescriptionForModule(IInterfaceUnitScope scope)
|
||
{
|
||
var p = specialModulesAliases.FirstOrDefault(kv => kv.Value == scope.Name);
|
||
|
||
if (!p.Equals(default(KeyValuePair<string, string>)))
|
||
return "unit " + p.Key;
|
||
|
||
return "unit " + scope.Name;
|
||
}
|
||
|
||
private string GetDescriptionForNamespace(INamespaceScope scope)
|
||
{
|
||
return "namespace " + scope.Name;
|
||
}
|
||
|
||
private string GetSimpleSynonimDescription(ITypeSynonimScope scope)
|
||
{
|
||
return scope.Name;
|
||
}
|
||
|
||
protected string GetDescriptionForArray(IArrayScope scope)
|
||
{
|
||
StringBuilder sb = new StringBuilder();
|
||
sb.Append("array");
|
||
ITypeScope[] inds = scope.Indexers;
|
||
if (!scope.IsDynamic)
|
||
{
|
||
sb.Append('[');
|
||
for (int i = 0; i < inds.Length; i++)
|
||
{
|
||
sb.Append(GetSimpleDescription(inds[i]));
|
||
if (i < inds.Length - 1) sb.Append(',');
|
||
}
|
||
sb.Append(']');
|
||
}
|
||
if (scope.ElementType != null)
|
||
{
|
||
string s = GetSimpleDescription(scope.ElementType);
|
||
if (s.Length > 0 && s[0] == '$') s = s.Substring(1, s.Length - 1);
|
||
sb.Append(" of " + s);
|
||
}
|
||
return sb.ToString();
|
||
}
|
||
|
||
private string GetSimpleDescriptionForCompiledType(ICompiledTypeScope scope, bool fullName)
|
||
{
|
||
if (scope.CompiledType.Name != null && scope.CompiledType.Name.Contains("Func`"))
|
||
{
|
||
return getLambdaRepresentation(scope, true);
|
||
}
|
||
else if (scope.CompiledType.Name != null && scope.CompiledType.Name.Contains("Action`"))
|
||
{
|
||
return getLambdaRepresentation(scope, false);
|
||
}
|
||
else if (scope.CompiledType.Name != null && scope.CompiledType.Name.Contains("Predicate`1"))
|
||
{
|
||
return getLambdaRepresentation(scope, false);
|
||
}
|
||
if (scope.CompiledType.Name == "IEnumerable`1")
|
||
{
|
||
ITypeScope[] instances = scope.GenericInstances;
|
||
if (instances != null && instances.Length > 0)
|
||
{
|
||
return "sequence of " + GetSimpleDescriptionWithoutNamespace(instances[0]);
|
||
}
|
||
else
|
||
return "sequence of T";
|
||
}
|
||
else if (scope.CompiledType.Name != null && scope.CompiledType.Name.Contains("Tuple`"))
|
||
{
|
||
ITypeScope[] instances = scope.GenericInstances;
|
||
if (instances != null && instances.Length > 0)
|
||
{
|
||
return get_tuple_string(instances);
|
||
}
|
||
else
|
||
return "(T1,...)";
|
||
}
|
||
else
|
||
{
|
||
string s = !fullName ? GetShortTypeName(scope.CompiledType) : GetFullTypeName(scope.CompiledType);
|
||
ITypeScope[] instances = scope.GenericInstances;
|
||
if (instances != null && instances.Length > 0)
|
||
{
|
||
System.Text.StringBuilder sb = new System.Text.StringBuilder();
|
||
int ind = s.IndexOf(GenericTypesStartBracket);
|
||
if (ind != -1) sb.Append(s.Substring(0, ind));
|
||
else
|
||
sb.Append(s);
|
||
sb.Append(GenericTypesStartBracket);
|
||
for (int i = 0; i < instances.Length; i++)
|
||
{
|
||
sb.Append(GetSimpleDescriptionWithoutNamespace(instances[i]));
|
||
if (i < instances.Length - 1) sb.Append(", ");
|
||
}
|
||
sb.Append(GenericTypesEndBracket);
|
||
s = sb.ToString();
|
||
}
|
||
return s;
|
||
}
|
||
}
|
||
|
||
public override string GetStandardTypeByKeyword(KeywordKind keyw)
|
||
{
|
||
switch (keyw)
|
||
{
|
||
case KeywordKind.IntType: return "int";
|
||
case KeywordKind.DoubleType: return "float";
|
||
case KeywordKind.CharType: return "char";
|
||
case KeywordKind.BoolType: return "bool";
|
||
case KeywordKind.StringType: return "str";
|
||
}
|
||
return null;
|
||
}
|
||
|
||
public override string GetStringForChar(char c)
|
||
{
|
||
return "'" + c.ToString() + "'";
|
||
}
|
||
|
||
public override string GetStringForSharpChar(int num)
|
||
{
|
||
return "#" + num.ToString();
|
||
}
|
||
|
||
public override string GetStringForString(string s)
|
||
{
|
||
return "'" + s + "'";
|
||
}
|
||
|
||
public override string GetSynonimDescription(ITypeScope scope)
|
||
{
|
||
return "type " + scope.Name + GetGenericString(scope.TemplateArguments) + " = " + scope.Description;
|
||
}
|
||
|
||
public override string GetSynonimDescription(ITypeSynonimScope scope)
|
||
{
|
||
if (scope.ActType is ICompiledTypeScope && !(scope.ActType as ICompiledTypeScope).Aliased)
|
||
return "type " + scope.Name + GetGenericString(scope.TemplateArguments) + " = " + GetSimpleDescriptionForCompiledType(scope.ActType as ICompiledTypeScope, true);
|
||
else
|
||
return "type " + scope.Name + GetGenericString(scope.TemplateArguments) + " = " + GetSimpleDescription(scope.ActType);
|
||
}
|
||
|
||
public override string GetSynonimDescription(IProcScope scope)
|
||
{
|
||
return "type " + scope.Name + " = " + scope.Description;
|
||
}
|
||
|
||
public override bool IsDefinitionIdentifierAfterKeyword(KeywordKind keyw)
|
||
{
|
||
if (keyw == KeywordKind.Function || keyw == KeywordKind.Constructor || keyw == KeywordKind.Punkt)
|
||
return true;
|
||
return false;
|
||
}
|
||
|
||
public override bool IsMethodCallParameterSeparator(char key)
|
||
{
|
||
return key == ',';
|
||
}
|
||
|
||
public override bool IsTypeAfterKeyword(KeywordKind keyw)
|
||
{
|
||
if (keyw == KeywordKind.Colon)
|
||
return true;
|
||
return false;
|
||
}
|
||
|
||
public override KeywordKind TestForKeyword(string Text, int i)
|
||
{
|
||
StringBuilder sb = new StringBuilder();
|
||
int orig_i = i;
|
||
int j = i;
|
||
bool in_keyw = false;
|
||
while (j >= 0 && Text[j] != '\n')
|
||
j--;
|
||
Stack<char> kav_stack = new Stack<char>();
|
||
j++;
|
||
bool in_format_str = false;
|
||
while (j <= i)
|
||
{
|
||
if (Text[j] == '\'' || Text[j] == '"')
|
||
{
|
||
if (kav_stack.Count == 0 && !in_keyw)
|
||
{
|
||
if (j == 0 || Text[j - 1] != '$')
|
||
kav_stack.Push('\'');
|
||
else
|
||
{
|
||
in_keyw = false;
|
||
in_format_str = true;
|
||
}
|
||
|
||
}
|
||
else if (kav_stack.Count > 0)
|
||
kav_stack.Pop();
|
||
}
|
||
else if (Text[j] == '{' && kav_stack.Count == 0 && !in_format_str)
|
||
in_keyw = true;
|
||
else
|
||
if (Text[j] == '}')
|
||
in_keyw = false;
|
||
j++;
|
||
}
|
||
j = i;
|
||
if ((kav_stack.Count != 0 || in_keyw) && !in_format_str) return PascalABCCompiler.Parsers.KeywordKind.Punkt;
|
||
if (j >= 0 && Text[j] == '.') return PascalABCCompiler.Parsers.KeywordKind.Punkt;
|
||
while (j >= 0)
|
||
{
|
||
//if (Text[j] == '{') return PascalABCCompiler.Parsers.KeywordKind.Punkt;
|
||
if (!in_keyw && (Text[j] == '\'' || Text[j] == '"' || Text[j] == '\n'))
|
||
break;
|
||
if (Text[j] == '}')
|
||
in_keyw = true;
|
||
else
|
||
if (Text[j] == '#' && !in_keyw)
|
||
return PascalABCCompiler.Parsers.KeywordKind.Punkt;
|
||
j--;
|
||
}
|
||
//if (j>= 0 && Text[j] == '\'') return CodeCompletion.KeywordKind.kw_punkt;
|
||
while (i >= 0 && (Text[i] == ' ' || char.IsControl(Text[i]))) i--;
|
||
if (i >= 0 && Text[i] == ':') return PascalABCCompiler.Parsers.KeywordKind.Colon;
|
||
|
||
if (i >= 0 && Text[i] == ',')
|
||
{
|
||
|
||
while (i >= 0 && Text[i] != '\n')
|
||
{
|
||
if (char.IsLetterOrDigit(Text[i]))
|
||
sb.Insert(0, Text[i]);
|
||
else
|
||
{
|
||
PascalABCCompiler.Parsers.KeywordKind keyw = GetKeywordKind(sb.ToString());
|
||
if (keyw == PascalABCCompiler.Parsers.KeywordKind.Uses)
|
||
return PascalABCCompiler.Parsers.KeywordKind.Uses;
|
||
else if (keyw == PascalABCCompiler.Parsers.KeywordKind.Var)
|
||
return PascalABCCompiler.Parsers.KeywordKind.Var;
|
||
else sb.Remove(0, sb.Length);
|
||
}
|
||
i--;
|
||
}
|
||
}
|
||
else
|
||
while (i >= 0 && (char.IsLetterOrDigit(Text[i]) || Text[i] == '_' || Text[i] == '!'))
|
||
{
|
||
sb.Insert(0, Text[i]);
|
||
i--;
|
||
}
|
||
string s = sb.ToString().ToLower();
|
||
|
||
return GetKeywordKind(s);
|
||
}
|
||
|
||
private string GetDescriptionForType(ITypeScope scope)
|
||
{
|
||
string template_str = GetTemplateString(scope);
|
||
switch (scope.ElemKind)
|
||
{
|
||
case SymbolKind.Class:
|
||
string mod = "";
|
||
if (scope.IsStatic)
|
||
mod = "static ";
|
||
|
||
if (scope.TopScope != null && scope.TopScope.Name != "" && !scope.TopScope.Name.Contains("$"))
|
||
return mod + "class " + scope.TopScope.Name + "." + scope.Name + template_str;
|
||
else return mod + "class " + scope.Name + template_str;
|
||
|
||
case SymbolKind.Enum:
|
||
if (scope.TopScope != null && scope.TopScope.Name != "" && !scope.TopScope.Name.Contains("$"))
|
||
return "enum " + scope.TopScope.Name + "." + scope.Name;
|
||
else return "enum " + scope.Name;
|
||
}
|
||
|
||
if (scope.TopScope != null)
|
||
return scope.TopScope.Name + "." + scope.Name;
|
||
else return scope.Name;
|
||
}
|
||
|
||
private string GetDescriptionForCompiledType(ICompiledTypeScope scope)
|
||
{
|
||
string s = GetFullTypeName(scope.CompiledType);
|
||
ITypeScope[] instances = scope.GenericInstances;
|
||
if (instances.Length > 0)
|
||
{
|
||
System.Text.StringBuilder sb = new System.Text.StringBuilder();
|
||
int ind = s.IndexOf(GenericTypesStartBracket);
|
||
if (ind != -1) sb.Append(s.Substring(0, ind));
|
||
else
|
||
sb.Append(s);
|
||
sb.Append(GenericTypesStartBracket);
|
||
for (int i = 0; i < instances.Length; i++)
|
||
{
|
||
sb.Append(GetSimpleDescriptionWithoutNamespace(instances[i]));
|
||
//sb.Append(instances[i].Name);
|
||
if (i < instances.Length - 1) sb.Append(", ");
|
||
}
|
||
sb.Append(GenericTypesEndBracket);
|
||
s = sb.ToString();
|
||
}
|
||
|
||
switch (scope.ElemKind)
|
||
{
|
||
case SymbolKind.Class:
|
||
string mod = "";
|
||
if (scope.IsStatic)
|
||
mod = "static ";
|
||
else
|
||
{
|
||
if (scope.IsAbstract)
|
||
mod = "abstract ";
|
||
if (scope.IsFinal)
|
||
mod += "sealed ";
|
||
}
|
||
return mod + "class " + s;
|
||
case SymbolKind.Interface:
|
||
return "interface " + s;
|
||
case SymbolKind.Enum:
|
||
return "enum " + s;
|
||
case SymbolKind.Delegate:
|
||
return "delegate " + s;
|
||
case SymbolKind.Struct:
|
||
return "record " + s;
|
||
case SymbolKind.Type:
|
||
return "type " + s;
|
||
}
|
||
return s;
|
||
}
|
||
}
|
||
}
|