* 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>
2799 lines
138 KiB
C#
2799 lines
138 KiB
C#
//
|
|
// This CSharp output file generated by Gardens Point LEX
|
|
// Version: 1.1.3.301
|
|
// Machine: DESKTOP-56159VE
|
|
// DateTime: 17.06.2025 14:06:30
|
|
// UserName: ????
|
|
// GPLEX input file <SPythonLexer.lex>
|
|
// GPLEX frame file <embedded resource>
|
|
//
|
|
// Option settings: unicode, parser, minimize
|
|
// Option settings: classes, compressMap, compressNext, persistBuffer, embedbuffers
|
|
// Fallback code page: Target machine default
|
|
//
|
|
|
|
//
|
|
// Experimental embedded frame
|
|
// Version 1.1.3 of 18-April-2010
|
|
//
|
|
//
|
|
#define BACKUP
|
|
#define PERSIST
|
|
|
|
using System;
|
|
using System.IO;
|
|
using System.Text;
|
|
using System.Globalization;
|
|
using System.Collections.Generic;
|
|
using System.Runtime.Serialization;
|
|
using System.Diagnostics.CodeAnalysis;
|
|
|
|
using SPythonParser;
|
|
using QUT.Gppg;
|
|
using PascalABCCompiler.SyntaxTree;
|
|
using PascalABCCompiler.ParserTools;
|
|
using SPythonParserYacc;
|
|
using SPythonParser;
|
|
|
|
namespace SPythonParser
|
|
{
|
|
/// <summary>
|
|
/// Summary Canonical example of GPLEX automaton
|
|
/// </summary>
|
|
|
|
#if STANDALONE
|
|
//
|
|
// These are the dummy declarations for stand-alone GPLEX applications
|
|
// normally these declarations would come from the parser.
|
|
// If you declare /noparser, or %option noparser then you get this.
|
|
//
|
|
|
|
public enum Tokens
|
|
{
|
|
EOF = 0, maxParseToken = int.MaxValue
|
|
// must have at least these two, values are almost arbitrary
|
|
}
|
|
|
|
public abstract class ScanBase
|
|
{
|
|
[SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "yylex")]
|
|
[SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "yylex")]
|
|
public abstract int yylex();
|
|
|
|
[SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "yywrap")]
|
|
[SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "yywrap")]
|
|
protected virtual bool yywrap() { return true; }
|
|
|
|
#if BABEL
|
|
protected abstract int CurrentSc { get; set; }
|
|
// EolState is the 32-bit of state data persisted at
|
|
// the end of each line for Visual Studio colorization.
|
|
// The default is to return CurrentSc. You must override
|
|
// this if you want more complicated behavior.
|
|
public virtual int EolState {
|
|
get { return CurrentSc; }
|
|
set { CurrentSc = value; }
|
|
}
|
|
}
|
|
|
|
public interface IColorScan
|
|
{
|
|
void SetSource(string source, int offset);
|
|
int GetNext(ref int state, out int start, out int end);
|
|
#endif // BABEL
|
|
}
|
|
|
|
#endif // STANDALONE
|
|
|
|
// If the compiler can't find the scanner base class maybe you
|
|
// need to run GPPG with the /gplex option, or GPLEX with /noparser
|
|
#if BABEL
|
|
public sealed partial class Scanner : ScanBase, IColorScan
|
|
{
|
|
private ScanBuff buffer;
|
|
int currentScOrd; // start condition ordinal
|
|
|
|
protected override int CurrentSc
|
|
{
|
|
// The current start state is a property
|
|
// to try to avoid the user error of setting
|
|
// scState but forgetting to update the FSA
|
|
// start state "currentStart"
|
|
//
|
|
get { return currentScOrd; } // i.e. return YY_START;
|
|
set { currentScOrd = value; // i.e. BEGIN(value);
|
|
currentStart = startState[value]; }
|
|
}
|
|
#else // BABEL
|
|
public sealed partial class Scanner : ScanBase
|
|
{
|
|
private ScanBuff buffer;
|
|
int currentScOrd; // start condition ordinal
|
|
#endif // BABEL
|
|
|
|
/// <summary>
|
|
/// The input buffer for this scanner.
|
|
/// </summary>
|
|
[SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
|
public ScanBuff Buffer { get { return buffer; } }
|
|
|
|
private static int GetMaxParseToken() {
|
|
System.Reflection.FieldInfo f = typeof(Tokens).GetField("maxParseToken");
|
|
return (f == null ? int.MaxValue : (int)f.GetValue(null));
|
|
}
|
|
|
|
static int parserMax = GetMaxParseToken();
|
|
|
|
enum Result {accept, noMatch, contextFound};
|
|
|
|
const int maxAccept = 65;
|
|
const int initial = 66;
|
|
const int eofNum = 0;
|
|
const int goStart = -1;
|
|
const int INITIAL = 0;
|
|
|
|
#region user code
|
|
private SPythonKeywords keywords;
|
|
public SPythonParserTools parserTools;
|
|
public List<string> Defines = new List<string>();
|
|
private int last_line_needed_colon = -1;
|
|
private LexLocation currentLexLocation;
|
|
private LexLocation prevLexLocation
|
|
= new LexLocation(-1, -1, -1, -1, "");
|
|
|
|
public Scanner(string text, SPythonParserTools parserTools, PascalABCCompiler.Parsers.BaseKeywords keywords, List<string> defines = null)
|
|
{
|
|
this.parserTools = parserTools;
|
|
this.keywords = (SPythonKeywords)keywords;
|
|
if (defines != null)
|
|
this.Defines.AddRange(defines);
|
|
SetSource(text, 0);
|
|
}
|
|
#endregion user code
|
|
|
|
int state;
|
|
int currentStart = startState[0];
|
|
int code; // last code read
|
|
int cCol; // column number of code
|
|
int lNum; // current line number
|
|
//
|
|
// The following instance variables are used, among other
|
|
// things, for constructing the yylloc location objects.
|
|
//
|
|
int tokPos; // buffer position at start of token
|
|
int tokCol; // zero-based column number at start of token
|
|
int tokLin; // line number at start of token
|
|
int tokEPos; // buffer position at end of token
|
|
int tokECol; // column number at end of token
|
|
int tokELin; // line number at end of token
|
|
string tokTxt; // lazily constructed text of token
|
|
#if STACK
|
|
private Stack<int> scStack = new Stack<int>();
|
|
#endif // STACK
|
|
|
|
#region ScannerTables
|
|
struct Table {
|
|
public int min; public int rng; public int dflt;
|
|
public sbyte[] nxt;
|
|
public Table(int m, int x, int d, sbyte[] n) {
|
|
min = m; rng = x; dflt = d; nxt = n;
|
|
}
|
|
};
|
|
|
|
static int[] startState = new int[] {66, 0};
|
|
|
|
#region TwoLevelCharacterMap
|
|
//
|
|
// There are 49 equivalence classes
|
|
// There are 256 character sequence regions
|
|
// There are 47 tables, 12032 entries
|
|
//
|
|
static sbyte[] mLo0 = new sbyte[256] {
|
|
/* '\0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 48, 48, 8, 48, 48,
|
|
/* '\x10' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\x20' */ 8, 21, 10, 26, 47, 18, 23, 7, 34, 35, 17, 15, 32, 16, 6, 13,
|
|
/* '0' */ 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 33, 29, 19, 14, 20, 48,
|
|
/* '@' */ 48, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* 'P' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 30, 9, 31, 25, 2,
|
|
/* '`' */ 48, 44, 4, 12, 12, 36, 11, 12, 12, 5, 12, 12, 12, 45, 42, 41,
|
|
/* 'p' */ 38, 12, 39, 40, 43, 12, 12, 12, 37, 46, 12, 27, 24, 28, 22, 48,
|
|
/* '\x80' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\x90' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\xA0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 12, 48, 48, 48, 48, 48,
|
|
/* '\xB0' */ 48, 48, 48, 48, 48, 12, 48, 48, 48, 48, 12, 48, 48, 48, 48, 48,
|
|
/* '\xC0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\xD0' */ 12, 12, 12, 12, 12, 12, 12, 48, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\xE0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\xF0' */ 12, 12, 12, 12, 12, 12, 12, 48, 12, 12, 12, 12, 12, 12, 12, 12 };
|
|
static sbyte[] mLo1 = new sbyte[256] {
|
|
/* '\u0100' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0110' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0120' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0130' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0140' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0150' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0160' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0170' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0180' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0190' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u01A0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u01B0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u01C0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u01D0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u01E0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u01F0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12 };
|
|
static sbyte[] mLo2 = new sbyte[256] {
|
|
/* '\u0200' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0210' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0220' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0230' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0240' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0250' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0260' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0270' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0280' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0290' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u02A0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u02B0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u02C0' */ 12, 12, 48, 48, 48, 48, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u02D0' */ 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u02E0' */ 12, 12, 12, 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 12, 48,
|
|
/* '\u02F0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48 };
|
|
static sbyte[] mLo3 = new sbyte[256] {
|
|
/* '\u0300' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0310' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0320' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0330' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0340' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0350' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0360' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0370' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 12, 12, 12, 12, 48, 48,
|
|
/* '\u0380' */ 48, 48, 48, 48, 48, 48, 12, 48, 12, 12, 12, 48, 12, 48, 12, 12,
|
|
/* '\u0390' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u03A0' */ 12, 12, 48, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u03B0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u03C0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48,
|
|
/* '\u03D0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u03E0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u03F0' */ 12, 12, 12, 12, 12, 12, 48, 12, 12, 12, 12, 12, 12, 12, 12, 12 };
|
|
static sbyte[] mLo4 = new sbyte[256] {
|
|
/* '\u0400' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0410' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0420' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0430' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0440' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0450' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0460' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0470' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0480' */ 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0490' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u04A0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u04B0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u04C0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u04D0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u04E0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u04F0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12 };
|
|
static sbyte[] mLo5 = new sbyte[256] {
|
|
/* '\u0500' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0510' */ 12, 12, 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0520' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0530' */ 48, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0540' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0550' */ 12, 12, 12, 12, 12, 12, 12, 48, 48, 12, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0560' */ 48, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0570' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0580' */ 12, 12, 12, 12, 12, 12, 12, 12, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0590' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u05A0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u05B0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u05C0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u05D0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u05E0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 48, 48, 48, 48,
|
|
/* '\u05F0' */ 12, 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48 };
|
|
static sbyte[] mLo6 = new sbyte[256] {
|
|
/* '\u0600' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0610' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0620' */ 48, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0630' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 48, 48, 48, 48,
|
|
/* '\u0640' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 48, 48, 48, 48,
|
|
/* '\u0650' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0660' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 12, 12,
|
|
/* '\u0670' */ 48, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0680' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0690' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u06A0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u06B0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u06C0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u06D0' */ 12, 12, 12, 12, 48, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u06E0' */ 48, 48, 48, 48, 48, 12, 12, 48, 48, 48, 48, 48, 48, 48, 12, 12,
|
|
/* '\u06F0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 12, 12, 12, 48, 48, 12 };
|
|
static sbyte[] mLo7 = new sbyte[256] {
|
|
/* '\u0700' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0710' */ 12, 48, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0720' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0730' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0740' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 12, 12, 12,
|
|
/* '\u0750' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0760' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 48,
|
|
/* '\u0770' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0780' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0790' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u07A0' */ 12, 12, 12, 12, 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u07B0' */ 48, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u07C0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 12, 12, 12, 12, 12, 12,
|
|
/* '\u07D0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u07E0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 48, 48, 48, 48,
|
|
/* '\u07F0' */ 48, 48, 48, 48, 12, 12, 48, 48, 48, 48, 12, 48, 48, 48, 48, 48 };
|
|
static sbyte[] mLo8 = new sbyte[256] {
|
|
/* '\u0800' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0810' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0820' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0830' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0840' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0850' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0860' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0870' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0880' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0890' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u08A0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u08B0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u08C0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u08D0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u08E0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u08F0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48 };
|
|
static sbyte[] mLo9 = new sbyte[256] {
|
|
/* '\u0900' */ 48, 48, 48, 48, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0910' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0920' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0930' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 48, 48, 12, 48, 48,
|
|
/* '\u0940' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0950' */ 12, 48, 48, 48, 48, 48, 48, 48, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0960' */ 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0970' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 12, 12, 12, 12, 12,
|
|
/* '\u0980' */ 48, 48, 48, 48, 48, 12, 12, 12, 12, 12, 12, 12, 12, 48, 48, 12,
|
|
/* '\u0990' */ 12, 48, 48, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u09A0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 12, 12, 12, 12, 12, 12,
|
|
/* '\u09B0' */ 12, 48, 12, 48, 48, 48, 12, 12, 12, 12, 48, 48, 48, 12, 48, 48,
|
|
/* '\u09C0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 12, 48,
|
|
/* '\u09D0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 12, 12, 48, 12,
|
|
/* '\u09E0' */ 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u09F0' */ 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48 };
|
|
static sbyte[] mLo10 = new sbyte[256] {
|
|
/* '\u0A00' */ 48, 48, 48, 48, 48, 12, 12, 12, 12, 12, 12, 48, 48, 48, 48, 12,
|
|
/* '\u0A10' */ 12, 48, 48, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0A20' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0A30' */ 12, 48, 12, 12, 48, 12, 12, 48, 12, 12, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0A40' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0A50' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 12, 12, 12, 12, 48, 12, 48,
|
|
/* '\u0A60' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0A70' */ 48, 48, 12, 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0A80' */ 48, 48, 48, 48, 48, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 12,
|
|
/* '\u0A90' */ 12, 12, 48, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0AA0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0AB0' */ 12, 48, 12, 12, 48, 12, 12, 12, 12, 12, 48, 48, 48, 12, 48, 48,
|
|
/* '\u0AC0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0AD0' */ 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0AE0' */ 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0AF0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48 };
|
|
static sbyte[] mLo11 = new sbyte[256] {
|
|
/* '\u0B00' */ 48, 48, 48, 48, 48, 12, 12, 12, 12, 12, 12, 12, 12, 48, 48, 12,
|
|
/* '\u0B10' */ 12, 48, 48, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0B20' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0B30' */ 12, 48, 12, 12, 48, 12, 12, 12, 12, 12, 48, 48, 48, 12, 48, 48,
|
|
/* '\u0B40' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0B50' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 12, 12, 48, 12,
|
|
/* '\u0B60' */ 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0B70' */ 48, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0B80' */ 48, 48, 48, 12, 48, 12, 12, 12, 12, 12, 12, 48, 48, 48, 12, 12,
|
|
/* '\u0B90' */ 12, 48, 12, 12, 12, 12, 48, 48, 48, 12, 12, 48, 12, 48, 12, 12,
|
|
/* '\u0BA0' */ 48, 48, 48, 12, 12, 48, 48, 48, 12, 12, 12, 48, 48, 48, 12, 12,
|
|
/* '\u0BB0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0BC0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0BD0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0BE0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0BF0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48 };
|
|
static sbyte[] mLo12 = new sbyte[256] {
|
|
/* '\u0C00' */ 48, 48, 48, 48, 48, 12, 12, 12, 12, 12, 12, 12, 12, 48, 12, 12,
|
|
/* '\u0C10' */ 12, 48, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0C20' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0C30' */ 12, 12, 12, 12, 48, 12, 12, 12, 12, 12, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0C40' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0C50' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0C60' */ 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0C70' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0C80' */ 48, 48, 48, 48, 48, 12, 12, 12, 12, 12, 12, 12, 12, 48, 12, 12,
|
|
/* '\u0C90' */ 12, 48, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0CA0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0CB0' */ 12, 12, 12, 12, 48, 12, 12, 12, 12, 12, 48, 48, 48, 12, 48, 48,
|
|
/* '\u0CC0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0CD0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 12, 48,
|
|
/* '\u0CE0' */ 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0CF0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48 };
|
|
static sbyte[] mLo13 = new sbyte[256] {
|
|
/* '\u0D00' */ 48, 48, 48, 48, 48, 12, 12, 12, 12, 12, 12, 12, 12, 48, 12, 12,
|
|
/* '\u0D10' */ 12, 48, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0D20' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0D30' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0D40' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0D50' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0D60' */ 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0D70' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0D80' */ 48, 48, 48, 48, 48, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0D90' */ 12, 12, 12, 12, 12, 12, 12, 48, 48, 48, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0DA0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0DB0' */ 12, 12, 48, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 12, 48, 48,
|
|
/* '\u0DC0' */ 12, 12, 12, 12, 12, 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0DD0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0DE0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0DF0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48 };
|
|
static sbyte[] mLo14 = new sbyte[256] {
|
|
/* '\u0E00' */ 48, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0E10' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0E20' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0E30' */ 12, 48, 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0E40' */ 12, 12, 12, 12, 12, 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0E50' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0E60' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0E70' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0E80' */ 48, 12, 12, 48, 12, 48, 48, 12, 12, 48, 12, 48, 48, 12, 48, 48,
|
|
/* '\u0E90' */ 48, 48, 48, 48, 12, 12, 12, 12, 48, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0EA0' */ 48, 12, 12, 12, 48, 12, 48, 12, 48, 48, 12, 12, 48, 12, 12, 12,
|
|
/* '\u0EB0' */ 12, 48, 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 12, 48, 48,
|
|
/* '\u0EC0' */ 12, 12, 12, 12, 12, 48, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0ED0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 12, 12, 48, 48,
|
|
/* '\u0EE0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0EF0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48 };
|
|
static sbyte[] mLo15 = new sbyte[256] {
|
|
/* '\u0F00' */ 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0F10' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0F20' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0F30' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0F40' */ 12, 12, 12, 12, 12, 12, 12, 12, 48, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0F50' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u0F60' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 48, 48, 48, 48,
|
|
/* '\u0F70' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0F80' */ 48, 48, 48, 48, 48, 48, 48, 48, 12, 12, 12, 12, 48, 48, 48, 48,
|
|
/* '\u0F90' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0FA0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0FB0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0FC0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0FD0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0FE0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u0FF0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48 };
|
|
static sbyte[] mLo16 = new sbyte[256] {
|
|
/* '\u1000' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1010' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1020' */ 12, 12, 48, 12, 12, 12, 12, 12, 48, 12, 12, 48, 48, 48, 48, 48,
|
|
/* '\u1030' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1040' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1050' */ 12, 12, 12, 12, 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1060' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1070' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1080' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1090' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u10A0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u10B0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u10C0' */ 12, 12, 12, 12, 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u10D0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u10E0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u10F0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 12, 48, 48, 48 };
|
|
static sbyte[] mLo17 = new sbyte[256] {
|
|
/* '\u1100' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1110' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1120' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1130' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1140' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1150' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 48, 48, 48, 48, 12,
|
|
/* '\u1160' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1170' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1180' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1190' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u11A0' */ 12, 12, 12, 48, 48, 48, 48, 48, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u11B0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u11C0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u11D0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u11E0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u11F0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 48, 48, 48, 48, 48 };
|
|
static sbyte[] mLo18 = new sbyte[256] {
|
|
/* '\u1200' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1210' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1220' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1230' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1240' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 12, 12, 12, 12, 48, 48,
|
|
/* '\u1250' */ 12, 12, 12, 12, 12, 12, 12, 48, 12, 48, 12, 12, 12, 12, 48, 48,
|
|
/* '\u1260' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1270' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1280' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 12, 12, 12, 12, 48, 48,
|
|
/* '\u1290' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u12A0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u12B0' */ 12, 48, 12, 12, 12, 12, 48, 48, 12, 12, 12, 12, 12, 12, 12, 48,
|
|
/* '\u12C0' */ 12, 48, 12, 12, 12, 12, 48, 48, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u12D0' */ 12, 12, 12, 12, 12, 12, 12, 48, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u12E0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u12F0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12 };
|
|
static sbyte[] mLo19 = new sbyte[256] {
|
|
/* '\u1300' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1310' */ 12, 48, 12, 12, 12, 12, 48, 48, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1320' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1330' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1340' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1350' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 48, 48, 48, 48,
|
|
/* '\u1360' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1370' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1380' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1390' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u13A0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u13B0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u13C0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u13D0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u13E0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u13F0' */ 12, 12, 12, 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48 };
|
|
static sbyte[] mLo20 = new sbyte[256] {
|
|
/* '\u1400' */ 48, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1410' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1420' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1430' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1440' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1450' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1460' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1470' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1480' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1490' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u14A0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u14B0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u14C0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u14D0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u14E0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u14F0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12 };
|
|
static sbyte[] mLo22 = new sbyte[256] {
|
|
/* '\u1600' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1610' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1620' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1630' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1640' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1650' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1660' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 48, 12,
|
|
/* '\u1670' */ 12, 12, 12, 12, 12, 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1680' */ 48, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1690' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 48, 48, 48, 48,
|
|
/* '\u16A0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u16B0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u16C0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u16D0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u16E0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 48, 48, 48, 48,
|
|
/* '\u16F0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48 };
|
|
static sbyte[] mLo23 = new sbyte[256] {
|
|
/* '\u1700' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 12, 12,
|
|
/* '\u1710' */ 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1720' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1730' */ 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1740' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1750' */ 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1760' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 12, 12,
|
|
/* '\u1770' */ 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1780' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1790' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u17A0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u17B0' */ 12, 12, 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u17C0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u17D0' */ 48, 48, 48, 48, 48, 48, 48, 12, 48, 48, 48, 48, 12, 48, 48, 48,
|
|
/* '\u17E0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u17F0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48 };
|
|
static sbyte[] mLo24 = new sbyte[256] {
|
|
/* '\u1800' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1810' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1820' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1830' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1840' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1850' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1860' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1870' */ 12, 12, 12, 12, 12, 12, 12, 12, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1880' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1890' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u18A0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u18B0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u18C0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u18D0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u18E0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u18F0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48 };
|
|
static sbyte[] mLo25 = new sbyte[256] {
|
|
/* '\u1900' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1910' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 48, 48,
|
|
/* '\u1920' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1930' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1940' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1950' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1960' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 48,
|
|
/* '\u1970' */ 12, 12, 12, 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1980' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1990' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u19A0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 48, 48, 48, 48, 48,
|
|
/* '\u19B0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u19C0' */ 48, 12, 12, 12, 12, 12, 12, 12, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u19D0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u19E0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u19F0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48 };
|
|
static sbyte[] mLo26 = new sbyte[256] {
|
|
/* '\u1A00' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1A10' */ 12, 12, 12, 12, 12, 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1A20' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1A30' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1A40' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1A50' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1A60' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1A70' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1A80' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1A90' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1AA0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1AB0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1AC0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1AD0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1AE0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1AF0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48 };
|
|
static sbyte[] mLo27 = new sbyte[256] {
|
|
/* '\u1B00' */ 48, 48, 48, 48, 48, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1B10' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1B20' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1B30' */ 12, 12, 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1B40' */ 48, 48, 48, 48, 48, 12, 12, 12, 12, 12, 12, 12, 48, 48, 48, 48,
|
|
/* '\u1B50' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1B60' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1B70' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1B80' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1B90' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1BA0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1BB0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1BC0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1BD0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1BE0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1BF0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48 };
|
|
static sbyte[] mLo29 = new sbyte[256] {
|
|
/* '\u1D00' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1D10' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1D20' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1D30' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1D40' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1D50' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1D60' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1D70' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1D80' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1D90' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1DA0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1DB0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1DC0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1DD0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1DE0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u1DF0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48 };
|
|
static sbyte[] mLo30 = new sbyte[256] {
|
|
/* '\u1E00' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1E10' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1E20' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1E30' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1E40' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1E50' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1E60' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1E70' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1E80' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1E90' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 48, 48, 48,
|
|
/* '\u1EA0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1EB0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1EC0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1ED0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1EE0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1EF0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 48, 48, 48, 48, 48 };
|
|
static sbyte[] mLo31 = new sbyte[256] {
|
|
/* '\u1F00' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1F10' */ 12, 12, 12, 12, 12, 12, 48, 48, 12, 12, 12, 12, 12, 12, 48, 48,
|
|
/* '\u1F20' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1F30' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1F40' */ 12, 12, 12, 12, 12, 12, 48, 48, 12, 12, 12, 12, 12, 12, 48, 48,
|
|
/* '\u1F50' */ 12, 12, 12, 12, 12, 12, 12, 12, 48, 12, 48, 12, 48, 12, 48, 12,
|
|
/* '\u1F60' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1F70' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 48,
|
|
/* '\u1F80' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1F90' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1FA0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u1FB0' */ 12, 12, 12, 12, 12, 48, 12, 12, 12, 12, 12, 12, 12, 48, 12, 48,
|
|
/* '\u1FC0' */ 48, 48, 12, 12, 12, 48, 12, 12, 12, 12, 12, 12, 12, 48, 48, 48,
|
|
/* '\u1FD0' */ 12, 12, 12, 12, 48, 48, 12, 12, 12, 12, 12, 12, 48, 48, 48, 48,
|
|
/* '\u1FE0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 48, 48,
|
|
/* '\u1FF0' */ 48, 48, 12, 12, 12, 48, 12, 12, 12, 12, 12, 12, 12, 48, 48, 48 };
|
|
static sbyte[] mLo32 = new sbyte[256] {
|
|
/* '\u2000' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u2010' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u2020' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u2030' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u2040' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u2050' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u2060' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u2070' */ 48, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 12,
|
|
/* '\u2080' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u2090' */ 12, 12, 12, 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u20A0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u20B0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u20C0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u20D0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u20E0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u20F0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48 };
|
|
static sbyte[] mLo33 = new sbyte[256] {
|
|
/* '\u2100' */ 48, 48, 12, 48, 48, 48, 48, 12, 48, 48, 12, 12, 12, 12, 12, 12,
|
|
/* '\u2110' */ 12, 12, 12, 12, 48, 12, 48, 48, 48, 12, 12, 12, 12, 12, 48, 48,
|
|
/* '\u2120' */ 48, 48, 48, 48, 12, 48, 12, 48, 12, 48, 12, 12, 12, 12, 48, 12,
|
|
/* '\u2130' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 48, 12, 12, 12, 12,
|
|
/* '\u2140' */ 48, 48, 48, 48, 48, 12, 12, 12, 12, 12, 48, 48, 48, 48, 12, 48,
|
|
/* '\u2150' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u2160' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u2170' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u2180' */ 48, 48, 48, 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u2190' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u21A0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u21B0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u21C0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u21D0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u21E0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u21F0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48 };
|
|
static sbyte[] mLo44 = new sbyte[256] {
|
|
/* '\u2C00' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u2C10' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u2C20' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48,
|
|
/* '\u2C30' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u2C40' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u2C50' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48,
|
|
/* '\u2C60' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 48, 48,
|
|
/* '\u2C70' */ 48, 48, 48, 48, 12, 12, 12, 12, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u2C80' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u2C90' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u2CA0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u2CB0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u2CC0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u2CD0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u2CE0' */ 12, 12, 12, 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u2CF0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48 };
|
|
static sbyte[] mLo45 = new sbyte[256] {
|
|
/* '\u2D00' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u2D10' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u2D20' */ 12, 12, 12, 12, 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u2D30' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u2D40' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u2D50' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u2D60' */ 12, 12, 12, 12, 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 12,
|
|
/* '\u2D70' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u2D80' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u2D90' */ 12, 12, 12, 12, 12, 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u2DA0' */ 12, 12, 12, 12, 12, 12, 12, 48, 12, 12, 12, 12, 12, 12, 12, 48,
|
|
/* '\u2DB0' */ 12, 12, 12, 12, 12, 12, 12, 48, 12, 12, 12, 12, 12, 12, 12, 48,
|
|
/* '\u2DC0' */ 12, 12, 12, 12, 12, 12, 12, 48, 12, 12, 12, 12, 12, 12, 12, 48,
|
|
/* '\u2DD0' */ 12, 12, 12, 12, 12, 12, 12, 48, 12, 12, 12, 12, 12, 12, 12, 48,
|
|
/* '\u2DE0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u2DF0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48 };
|
|
static sbyte[] mLo48 = new sbyte[256] {
|
|
/* '\u3000' */ 48, 48, 48, 48, 48, 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u3010' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u3020' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u3030' */ 48, 12, 12, 12, 12, 12, 48, 48, 48, 48, 48, 12, 12, 48, 48, 48,
|
|
/* '\u3040' */ 48, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u3050' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u3060' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u3070' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u3080' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u3090' */ 12, 12, 12, 12, 12, 12, 12, 48, 48, 48, 48, 48, 48, 12, 12, 12,
|
|
/* '\u30A0' */ 48, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u30B0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u30C0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u30D0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u30E0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u30F0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 12, 12, 12, 12 };
|
|
static sbyte[] mLo49 = new sbyte[256] {
|
|
/* '\u3100' */ 48, 48, 48, 48, 48, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u3110' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u3120' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 48, 48,
|
|
/* '\u3130' */ 48, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u3140' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u3150' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u3160' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u3170' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u3180' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48,
|
|
/* '\u3190' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u31A0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u31B0' */ 12, 12, 12, 12, 12, 12, 12, 12, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u31C0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u31D0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u31E0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u31F0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12 };
|
|
static sbyte[] mLo77 = new sbyte[256] {
|
|
/* '\u4D00' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u4D10' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u4D20' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u4D30' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u4D40' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u4D50' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u4D60' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u4D70' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u4D80' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u4D90' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u4DA0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u4DB0' */ 12, 12, 12, 12, 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u4DC0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u4DD0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u4DE0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u4DF0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48 };
|
|
static sbyte[] mLo159 = new sbyte[256] {
|
|
/* '\u9F00' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u9F10' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u9F20' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u9F30' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u9F40' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u9F50' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u9F60' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u9F70' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u9F80' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u9F90' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u9FA0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\u9FB0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 48, 48, 48,
|
|
/* '\u9FC0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u9FD0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u9FE0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\u9FF0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48 };
|
|
static sbyte[] mLo164 = new sbyte[256] {
|
|
/* '\uA400' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uA410' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uA420' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uA430' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uA440' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uA450' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uA460' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uA470' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uA480' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 48, 48,
|
|
/* '\uA490' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uA4A0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uA4B0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uA4C0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uA4D0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uA4E0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uA4F0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48 };
|
|
static sbyte[] mLo167 = new sbyte[256] {
|
|
/* '\uA700' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uA710' */ 48, 48, 48, 48, 48, 48, 48, 12, 12, 12, 12, 48, 48, 48, 48, 48,
|
|
/* '\uA720' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uA730' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uA740' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uA750' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uA760' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uA770' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uA780' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uA790' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uA7A0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uA7B0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uA7C0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uA7D0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uA7E0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uA7F0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48 };
|
|
static sbyte[] mLo168 = new sbyte[256] {
|
|
/* '\uA800' */ 12, 12, 48, 12, 12, 12, 48, 12, 12, 12, 12, 48, 12, 12, 12, 12,
|
|
/* '\uA810' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uA820' */ 12, 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uA830' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uA840' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uA850' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uA860' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uA870' */ 12, 12, 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uA880' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uA890' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uA8A0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uA8B0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uA8C0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uA8D0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uA8E0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uA8F0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48 };
|
|
static sbyte[] mLo215 = new sbyte[256] {
|
|
/* '\uD700' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uD710' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uD720' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uD730' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uD740' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uD750' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uD760' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uD770' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uD780' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uD790' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uD7A0' */ 12, 12, 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uD7B0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uD7C0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uD7D0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uD7E0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uD7F0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48 };
|
|
static sbyte[] mLo250 = new sbyte[256] {
|
|
/* '\uFA00' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFA10' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFA20' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 48,
|
|
/* '\uFA30' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFA40' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFA50' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFA60' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 48, 48, 48, 48,
|
|
/* '\uFA70' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFA80' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFA90' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFAA0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFAB0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFAC0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFAD0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 48, 48, 48, 48, 48,
|
|
/* '\uFAE0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uFAF0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48 };
|
|
static sbyte[] mLo251 = new sbyte[256] {
|
|
/* '\uFB00' */ 12, 12, 12, 12, 12, 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uFB10' */ 48, 48, 48, 12, 12, 12, 12, 12, 48, 48, 48, 48, 48, 12, 48, 12,
|
|
/* '\uFB20' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFB30' */ 12, 12, 12, 12, 12, 12, 12, 48, 12, 12, 12, 12, 12, 48, 12, 48,
|
|
/* '\uFB40' */ 12, 12, 48, 12, 12, 48, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFB50' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFB60' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFB70' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFB80' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFB90' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFBA0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFBB0' */ 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uFBC0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uFBD0' */ 48, 48, 48, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFBE0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFBF0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12 };
|
|
static sbyte[] mLo253 = new sbyte[256] {
|
|
/* '\uFD00' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFD10' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFD20' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFD30' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 48,
|
|
/* '\uFD40' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uFD50' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFD60' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFD70' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFD80' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFD90' */ 48, 48, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFDA0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFDB0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFDC0' */ 12, 12, 12, 12, 12, 12, 12, 12, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uFDD0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uFDE0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uFDF0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 48, 48, 48 };
|
|
static sbyte[] mLo254 = new sbyte[256] {
|
|
/* '\uFE00' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uFE10' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uFE20' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uFE30' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uFE40' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uFE50' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uFE60' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uFE70' */ 12, 12, 12, 12, 12, 48, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFE80' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFE90' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFEA0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFEB0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFEC0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFED0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFEE0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFEF0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 48, 48 };
|
|
static sbyte[] mLo255 = new sbyte[256] {
|
|
/* '\uFF00' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uFF10' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uFF20' */ 48, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFF30' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 48, 48, 48, 48,
|
|
/* '\uFF40' */ 48, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFF50' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 48, 48, 48, 48,
|
|
/* '\uFF60' */ 48, 48, 48, 48, 48, 48, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFF70' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFF80' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFF90' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFFA0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFFB0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48,
|
|
/* '\uFFC0' */ 48, 48, 12, 12, 12, 12, 12, 12, 48, 48, 12, 12, 12, 12, 12, 12,
|
|
/* '\uFFD0' */ 48, 48, 12, 12, 12, 12, 12, 12, 48, 48, 12, 12, 12, 48, 48, 48,
|
|
/* '\uFFE0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\uFFF0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48 };
|
|
|
|
static sbyte[][] map = new sbyte[256][] {
|
|
/* '\u00xx' */ mLo0, mLo1, mLo2, mLo3, mLo4, mLo5, mLo6, mLo7, mLo8, mLo9, mLo10, mLo11, mLo12, mLo13, mLo14, mLo15,
|
|
/* '\u10xx' */ mLo16, mLo17, mLo18, mLo19, mLo20, mLo1, mLo22, mLo23, mLo24, mLo25, mLo26, mLo27, mLo8, mLo29, mLo30, mLo31,
|
|
/* '\u20xx' */ mLo32, mLo33, mLo8, mLo8, mLo8, mLo8, mLo8, mLo8, mLo8, mLo8, mLo8, mLo8, mLo44, mLo45, mLo8, mLo8,
|
|
/* '\u30xx' */ mLo48, mLo49, mLo8, mLo8, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1,
|
|
/* '\u40xx' */ mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo77, mLo1, mLo1,
|
|
/* '\u50xx' */ mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1,
|
|
/* '\u60xx' */ mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1,
|
|
/* '\u70xx' */ mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1,
|
|
/* '\u80xx' */ mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1,
|
|
/* '\u90xx' */ mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo159,
|
|
/* '\uA0xx' */ mLo1, mLo1, mLo1, mLo1, mLo164, mLo8, mLo8, mLo167, mLo168, mLo8, mLo8, mLo8, mLo1, mLo1, mLo1, mLo1,
|
|
/* '\uB0xx' */ mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1,
|
|
/* '\uC0xx' */ mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1,
|
|
/* '\uD0xx' */ mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo1, mLo215, mLo8, mLo8, mLo8, mLo8, mLo8, mLo8, mLo8, mLo8,
|
|
/* '\uE0xx' */ mLo8, mLo8, mLo8, mLo8, mLo8, mLo8, mLo8, mLo8, mLo8, mLo8, mLo8, mLo8, mLo8, mLo8, mLo8, mLo8,
|
|
/* '\uF0xx' */ mLo8, mLo8, mLo8, mLo8, mLo8, mLo8, mLo8, mLo8, mLo8, mLo1, mLo250, mLo251, mLo1, mLo253, mLo254, mLo255};
|
|
|
|
#endregion
|
|
|
|
#region CompressedCharacterMap
|
|
//
|
|
// There are 49 equivalence classes
|
|
// There are 21 character sequence regions
|
|
// There are 6 tables, 1255 entries
|
|
// There are 15 runs, 0 singletons
|
|
// Decision tree depth is 5
|
|
//
|
|
static sbyte[] mapC0 = new sbyte[251] {
|
|
/* '\U00010000' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 12, 12, 12,
|
|
/* '\U00010010' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U00010020' */ 12, 12, 12, 12, 12, 12, 12, 48, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U00010030' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 12, 12, 48, 12,
|
|
/* '\U00010040' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 48,
|
|
/* '\U00010050' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 48,
|
|
/* '\U00010060' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\U00010070' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\U00010080' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U00010090' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U000100A0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U000100B0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U000100C0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U000100D0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U000100E0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U000100F0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12 };
|
|
static sbyte[] mapC2 = new sbyte[256] {
|
|
/* '\U00010300' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U00010310' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48,
|
|
/* '\U00010320' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\U00010330' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U00010340' */ 12, 48, 12, 12, 12, 12, 12, 12, 12, 12, 48, 48, 48, 48, 48, 48,
|
|
/* '\U00010350' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\U00010360' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\U00010370' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\U00010380' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U00010390' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 48,
|
|
/* '\U000103A0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U000103B0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U000103C0' */ 12, 12, 12, 12, 48, 48, 48, 48, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U000103D0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\U000103E0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\U000103F0' */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48 };
|
|
static sbyte[] mapC5 = new sbyte[64] {
|
|
/* '\U00010800' */ 12, 12, 12, 12, 12, 12, 48, 48, 12, 48, 12, 12, 12, 12, 12, 12,
|
|
/* '\U00010810' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U00010820' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U00010830' */ 12, 12, 12, 12, 12, 12, 48, 12, 12, 48, 48, 48, 12, 48, 48, 12 };
|
|
static sbyte[] mapC9 = new sbyte[52] {
|
|
/* '\U00010A00' */ 12, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
|
/* '\U00010A10' */ 12, 12, 12, 12, 48, 12, 12, 12, 48, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U00010A20' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U00010A30' */ 12, 12, 12, 12 };
|
|
static sbyte[] mapC13 = new sbyte[338] {
|
|
/* '\U0001D400' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U0001D410' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U0001D420' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U0001D430' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U0001D440' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U0001D450' */ 12, 12, 12, 12, 12, 48, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U0001D460' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U0001D470' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U0001D480' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U0001D490' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 12, 12,
|
|
/* '\U0001D4A0' */ 48, 48, 12, 48, 48, 12, 12, 48, 48, 12, 12, 12, 12, 48, 12, 12,
|
|
/* '\U0001D4B0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 12, 48, 12, 12, 12,
|
|
/* '\U0001D4C0' */ 12, 12, 12, 12, 48, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U0001D4D0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U0001D4E0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U0001D4F0' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U0001D500' */ 12, 12, 12, 12, 12, 12, 48, 12, 12, 12, 12, 48, 48, 12, 12, 12,
|
|
/* '\U0001D510' */ 12, 12, 12, 12, 12, 48, 12, 12, 12, 12, 12, 12, 12, 48, 12, 12,
|
|
/* '\U0001D520' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U0001D530' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 12, 12, 12, 12, 48,
|
|
/* '\U0001D540' */ 12, 12, 12, 12, 12, 48, 12, 48, 48, 48, 12, 12, 12, 12, 12, 12,
|
|
/* '\U0001D550' */ 12, 48 };
|
|
static sbyte[] mapC15 = new sbyte[294] {
|
|
/* '\U0001D6A6' */ 48, 48, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U0001D6B6' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 12, 12, 12, 12,
|
|
/* '\U0001D6C6' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U0001D6D6' */ 12, 12, 12, 12, 12, 48, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U0001D6E6' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U0001D6F6' */ 12, 12, 12, 12, 12, 48, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U0001D706' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48,
|
|
/* '\U0001D716' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U0001D726' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48,
|
|
/* '\U0001D736' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U0001D746' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 12, 12, 12, 12, 12, 12,
|
|
/* '\U0001D756' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U0001D766' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 12, 12, 12, 12, 12, 12,
|
|
/* '\U0001D776' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U0001D786' */ 12, 12, 12, 48, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U0001D796' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U0001D7A6' */ 12, 12, 12, 48, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
|
/* '\U0001D7B6' */ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 12, 12,
|
|
/* '\U0001D7C6' */ 12, 12, 12, 12, 12, 12 };
|
|
|
|
static sbyte MapC(int code)
|
|
{ // '\U00010000' <= code <= '\U0010FFFF'
|
|
if (code < 68148) // '\U00010000' <= code <= '\U00010A33'
|
|
if (code < 67584) // '\U00010000' <= code <= '\U000107FF'
|
|
if (code < 66304) // '\U00010000' <= code <= '\U000102FF'
|
|
if (code < 65787) // '\U00010000' <= code <= '\U000100FA'
|
|
return mapC0[code - 65536];
|
|
else // '\U000100FB' <= code <= '\U000102FF'
|
|
return (sbyte)48;
|
|
else // '\U00010300' <= code <= '\U000107FF'
|
|
if (code < 66560) // '\U00010300' <= code <= '\U000103FF'
|
|
return mapC2[code - 66304];
|
|
else // '\U00010400' <= code <= '\U000107FF'
|
|
if (code < 66718) // '\U00010400' <= code <= '\U0001049D'
|
|
return (sbyte)12;
|
|
else // '\U0001049E' <= code <= '\U000107FF'
|
|
return (sbyte)48;
|
|
else // '\U00010800' <= code <= '\U00010A33'
|
|
if (code < 67840) // '\U00010800' <= code <= '\U000108FF'
|
|
if (code < 67648) // '\U00010800' <= code <= '\U0001083F'
|
|
return mapC5[code - 67584];
|
|
else // '\U00010840' <= code <= '\U000108FF'
|
|
return (sbyte)48;
|
|
else // '\U00010900' <= code <= '\U00010A33'
|
|
if (code < 67862) // '\U00010900' <= code <= '\U00010915'
|
|
return (sbyte)12;
|
|
else // '\U00010916' <= code <= '\U00010A33'
|
|
if (code < 68096) // '\U00010916' <= code <= '\U000109FF'
|
|
return (sbyte)48;
|
|
else // '\U00010A00' <= code <= '\U00010A33'
|
|
return mapC9[code - 68096];
|
|
else // '\U00010A34' <= code <= '\U0010FFFF'
|
|
if (code < 120486) // '\U00010A34' <= code <= '\U0001D6A5'
|
|
if (code < 74607) // '\U00010A34' <= code <= '\U0001236E'
|
|
if (code < 73728) // '\U00010A34' <= code <= '\U00011FFF'
|
|
return (sbyte)48;
|
|
else // '\U00012000' <= code <= '\U0001236E'
|
|
return (sbyte)12;
|
|
else // '\U0001236F' <= code <= '\U0001D6A5'
|
|
if (code < 119808) // '\U0001236F' <= code <= '\U0001D3FF'
|
|
return (sbyte)48;
|
|
else // '\U0001D400' <= code <= '\U0001D6A5'
|
|
if (code < 120146) // '\U0001D400' <= code <= '\U0001D551'
|
|
return mapC13[code - 119808];
|
|
else // '\U0001D552' <= code <= '\U0001D6A5'
|
|
return (sbyte)12;
|
|
else // '\U0001D6A6' <= code <= '\U0010FFFF'
|
|
if (code < 173783) // '\U0001D6A6' <= code <= '\U0002A6D6'
|
|
if (code < 120780) // '\U0001D6A6' <= code <= '\U0001D7CB'
|
|
return mapC15[code - 120486];
|
|
else // '\U0001D7CC' <= code <= '\U0002A6D6'
|
|
if (code < 131072) // '\U0001D7CC' <= code <= '\U0001FFFF'
|
|
return (sbyte)48;
|
|
else // '\U00020000' <= code <= '\U0002A6D6'
|
|
return (sbyte)12;
|
|
else // '\U0002A6D7' <= code <= '\U0010FFFF'
|
|
if (code < 194560) // '\U0002A6D7' <= code <= '\U0002F7FF'
|
|
return (sbyte)48;
|
|
else // '\U0002F800' <= code <= '\U0010FFFF'
|
|
if (code < 195102) // '\U0002F800' <= code <= '\U0002FA1D'
|
|
return (sbyte)12;
|
|
else // '\U0002FA1E' <= code <= '\U0010FFFF'
|
|
return (sbyte)48;
|
|
}
|
|
#endregion
|
|
|
|
|
|
static sbyte Map(int code)
|
|
{
|
|
if (code <= 65535)
|
|
return map[code / 256][code % 256];
|
|
else
|
|
return MapC(code);
|
|
}
|
|
|
|
static Table[] NxS = new Table[104] {
|
|
/* NxS[ 0] */ new Table(0, 0, 0, null),
|
|
/* NxS[ 1] */ new Table(1, 6, -1, new sbyte[] {1, 103, 1, 102, -1, 64}),
|
|
/* NxS[ 2] */ new Table(36, 26, -1, new sbyte[] {2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, -1, -1, -1, 2, 2, 2, 2, 2, -1, -1, -1,
|
|
-1, -1, 2, 2}),
|
|
/* NxS[ 3] */ new Table(4, 3, -1, new sbyte[] {102, -1, 64}),
|
|
/* NxS[ 4] */ new Table(1, 3, -1, new sbyte[] {62, -1, 63}),
|
|
/* NxS[ 5] */ new Table(0, 10, 99, new sbyte[] {-1, 99, 99, 99, 99, 99,
|
|
99, 61, 99, 100}),
|
|
/* NxS[ 6] */ new Table(0, 0, -1, null),
|
|
/* NxS[ 7] */ new Table(0, 11, 97, new sbyte[] {-1, 97, 97, 97, 97, 97,
|
|
97, 97, 97, 98, 61}),
|
|
/* NxS[ 8] */ new Table(36, 26, -1, new sbyte[] {2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, -1, -1, -1, 2, 2, 2, 2, 2, -1, 93, -1,
|
|
-1, 94, 2, 2}),
|
|
/* NxS[ 9] */ new Table(13, 2, -1, new sbyte[] {57, 58}),
|
|
/* NxS[ 10] */ new Table(14, 1, -1, new sbyte[] {56}),
|
|
/* NxS[ 11] */ new Table(14, 1, -1, new sbyte[] {55}),
|
|
/* NxS[ 12] */ new Table(14, 7, -1, new sbyte[] {53, -1, -1, -1, -1, -1,
|
|
54}),
|
|
/* NxS[ 13] */ new Table(14, 4, -1, new sbyte[] {51, -1, -1, 52}),
|
|
/* NxS[ 14] */ new Table(0, 0, -1, null),
|
|
/* NxS[ 15] */ new Table(14, 6, -1, new sbyte[] {45, -1, -1, -1, -1, 46}),
|
|
/* NxS[ 16] */ new Table(14, 7, -1, new sbyte[] {42, -1, -1, -1, -1, -1,
|
|
43}),
|
|
/* NxS[ 17] */ new Table(14, 1, -1, new sbyte[] {41}),
|
|
/* NxS[ 18] */ new Table(0, 0, -1, null),
|
|
/* NxS[ 19] */ new Table(14, 1, -1, new sbyte[] {40}),
|
|
/* NxS[ 20] */ new Table(14, 1, -1, new sbyte[] {39}),
|
|
/* NxS[ 21] */ new Table(14, 1, -1, new sbyte[] {38}),
|
|
/* NxS[ 22] */ new Table(47, 32, -1, new sbyte[] {37, -1, -1, -1, -1, -1,
|
|
32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, 33, -1, -1, -1, -1, -1, 34, 35, 36}),
|
|
/* NxS[ 23] */ new Table(0, 0, -1, null),
|
|
/* NxS[ 24] */ new Table(0, 0, -1, null),
|
|
/* NxS[ 25] */ new Table(0, 0, -1, null),
|
|
/* NxS[ 26] */ new Table(0, 0, -1, null),
|
|
/* NxS[ 27] */ new Table(0, 0, -1, null),
|
|
/* NxS[ 28] */ new Table(0, 0, -1, null),
|
|
/* NxS[ 29] */ new Table(0, 0, -1, null),
|
|
/* NxS[ 30] */ new Table(0, 0, -1, null),
|
|
/* NxS[ 31] */ new Table(0, 0, -1, null),
|
|
/* NxS[ 32] */ new Table(0, 0, -1, null),
|
|
/* NxS[ 33] */ new Table(0, 0, -1, null),
|
|
/* NxS[ 34] */ new Table(0, 0, -1, null),
|
|
/* NxS[ 35] */ new Table(0, 0, -1, null),
|
|
/* NxS[ 36] */ new Table(0, 0, -1, null),
|
|
/* NxS[ 37] */ new Table(0, 0, -1, null),
|
|
/* NxS[ 38] */ new Table(0, 0, -1, null),
|
|
/* NxS[ 39] */ new Table(0, 0, -1, null),
|
|
/* NxS[ 40] */ new Table(0, 0, -1, null),
|
|
/* NxS[ 41] */ new Table(0, 0, -1, null),
|
|
/* NxS[ 42] */ new Table(0, 0, -1, null),
|
|
/* NxS[ 43] */ new Table(14, 1, -1, new sbyte[] {44}),
|
|
/* NxS[ 44] */ new Table(0, 0, -1, null),
|
|
/* NxS[ 45] */ new Table(0, 0, -1, null),
|
|
/* NxS[ 46] */ new Table(36, 28, -1, new sbyte[] {67, -1, -1, -1, 68, -1,
|
|
-1, 69, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, 47}),
|
|
/* NxS[ 47] */ new Table(0, 0, -1, null),
|
|
/* NxS[ 48] */ new Table(0, 0, -1, null),
|
|
/* NxS[ 49] */ new Table(0, 0, -1, null),
|
|
/* NxS[ 50] */ new Table(0, 0, -1, null),
|
|
/* NxS[ 51] */ new Table(0, 0, -1, null),
|
|
/* NxS[ 52] */ new Table(0, 0, -1, null),
|
|
/* NxS[ 53] */ new Table(0, 0, -1, null),
|
|
/* NxS[ 54] */ new Table(0, 0, -1, null),
|
|
/* NxS[ 55] */ new Table(0, 0, -1, null),
|
|
/* NxS[ 56] */ new Table(0, 0, -1, null),
|
|
/* NxS[ 57] */ new Table(14, 1, -1, new sbyte[] {59}),
|
|
/* NxS[ 58] */ new Table(0, 0, -1, null),
|
|
/* NxS[ 59] */ new Table(0, 0, -1, null),
|
|
/* NxS[ 60] */ new Table(0, 0, -1, null),
|
|
/* NxS[ 61] */ new Table(0, 0, -1, null),
|
|
/* NxS[ 62] */ new Table(1, 3, -1, new sbyte[] {62, 101, 62}),
|
|
/* NxS[ 63] */ new Table(0, 0, -1, null),
|
|
/* NxS[ 64] */ new Table(1, 3, -1, new sbyte[] {62, -1, 63}),
|
|
/* NxS[ 65] */ new Table(0, 0, -1, null),
|
|
/* NxS[ 66] */ new Table(47, 38, 2, new sbyte[] {6, 6, -1, 1, 2, 3,
|
|
2, 2, 4, 5, -1, 6, 7, 8, 2, 9, 10, 11, 12, 13, 14, 15,
|
|
16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31}),
|
|
/* NxS[ 67] */ new Table(37, 1, -1, new sbyte[] {83}),
|
|
/* NxS[ 68] */ new Table(43, 1, -1, new sbyte[] {74}),
|
|
/* NxS[ 69] */ new Table(46, 1, -1, new sbyte[] {70}),
|
|
/* NxS[ 70] */ new Table(38, 1, -1, new sbyte[] {71}),
|
|
/* NxS[ 71] */ new Table(36, 1, -1, new sbyte[] {72}),
|
|
/* NxS[ 72] */ new Table(20, 1, -1, new sbyte[] {73}),
|
|
/* NxS[ 73] */ new Table(20, 1, -1, new sbyte[] {48}),
|
|
/* NxS[ 74] */ new Table(44, 1, -1, new sbyte[] {75}),
|
|
/* NxS[ 75] */ new Table(43, 1, -1, new sbyte[] {76}),
|
|
/* NxS[ 76] */ new Table(36, 1, -1, new sbyte[] {77}),
|
|
/* NxS[ 77] */ new Table(45, 1, -1, new sbyte[] {78}),
|
|
/* NxS[ 78] */ new Table(36, 1, -1, new sbyte[] {79}),
|
|
/* NxS[ 79] */ new Table(42, 1, -1, new sbyte[] {80}),
|
|
/* NxS[ 80] */ new Table(43, 1, -1, new sbyte[] {81}),
|
|
/* NxS[ 81] */ new Table(20, 1, -1, new sbyte[] {82}),
|
|
/* NxS[ 82] */ new Table(20, 1, -1, new sbyte[] {49}),
|
|
/* NxS[ 83] */ new Table(38, 1, -1, new sbyte[] {84}),
|
|
/* NxS[ 84] */ new Table(39, 1, -1, new sbyte[] {85}),
|
|
/* NxS[ 85] */ new Table(36, 1, -1, new sbyte[] {86}),
|
|
/* NxS[ 86] */ new Table(40, 1, -1, new sbyte[] {87}),
|
|
/* NxS[ 87] */ new Table(40, 1, -1, new sbyte[] {88}),
|
|
/* NxS[ 88] */ new Table(5, 1, -1, new sbyte[] {89}),
|
|
/* NxS[ 89] */ new Table(41, 1, -1, new sbyte[] {90}),
|
|
/* NxS[ 90] */ new Table(42, 1, -1, new sbyte[] {91}),
|
|
/* NxS[ 91] */ new Table(20, 1, -1, new sbyte[] {92}),
|
|
/* NxS[ 92] */ new Table(20, 1, -1, new sbyte[] {50}),
|
|
/* NxS[ 93] */ new Table(0, 10, 93, new sbyte[] {-1, 93, 93, 93, 93, 93,
|
|
93, 60, 93, 96}),
|
|
/* NxS[ 94] */ new Table(0, 11, 94, new sbyte[] {-1, 94, 94, 94, 94, 94,
|
|
94, 94, 94, 95, 60}),
|
|
/* NxS[ 95] */ new Table(0, 1, 94, new sbyte[] {-1}),
|
|
/* NxS[ 96] */ new Table(0, 1, 93, new sbyte[] {-1}),
|
|
/* NxS[ 97] */ new Table(0, 11, 97, new sbyte[] {-1, 97, 97, 97, 97, 97,
|
|
97, 97, 97, 98, 61}),
|
|
/* NxS[ 98] */ new Table(0, 1, 97, new sbyte[] {-1}),
|
|
/* NxS[ 99] */ new Table(0, 10, 99, new sbyte[] {-1, 99, 99, 99, 99, 99,
|
|
99, 61, 99, 100}),
|
|
/* NxS[ 100] */ new Table(0, 1, 99, new sbyte[] {-1}),
|
|
/* NxS[ 101] */ new Table(1, 3, -1, new sbyte[] {62, -1, 62}),
|
|
/* NxS[ 102] */ new Table(5, 1, -1, new sbyte[] {65}),
|
|
/* NxS[ 103] */ new Table(1, 3, -1, new sbyte[] {1, -1, 1}),
|
|
};
|
|
|
|
int NextState() {
|
|
if (code == ScanBuff.EndOfFile)
|
|
return eofNum;
|
|
else
|
|
unchecked {
|
|
int rslt;
|
|
int idx = Map(code) - NxS[state].min;
|
|
if (idx < 0) idx += 49;
|
|
if ((uint)idx >= (uint)NxS[state].rng) rslt = NxS[state].dflt;
|
|
else rslt = NxS[state].nxt[idx];
|
|
return rslt;
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
|
|
#if BACKUP
|
|
// ==============================================================
|
|
// == Nested struct used for backup in automata that do backup ==
|
|
// ==============================================================
|
|
|
|
struct Context // class used for automaton backup.
|
|
{
|
|
public int bPos;
|
|
public int rPos; // scanner.readPos saved value
|
|
public int cCol;
|
|
public int lNum; // Need this in case of backup over EOL.
|
|
public int state;
|
|
public int cChr;
|
|
}
|
|
|
|
private Context ctx = new Context();
|
|
#endif // BACKUP
|
|
|
|
// ==============================================================
|
|
// ==== Nested struct to support input switching in scanners ====
|
|
// ==============================================================
|
|
|
|
struct BufferContext {
|
|
internal ScanBuff buffSv;
|
|
internal int chrSv;
|
|
internal int cColSv;
|
|
internal int lNumSv;
|
|
}
|
|
|
|
// ==============================================================
|
|
// ===== Private methods to save and restore buffer contexts ====
|
|
// ==============================================================
|
|
|
|
/// <summary>
|
|
/// This method creates a buffer context record from
|
|
/// the current buffer object, together with some
|
|
/// scanner state values.
|
|
/// </summary>
|
|
[SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
|
BufferContext MkBuffCtx()
|
|
{
|
|
BufferContext rslt;
|
|
rslt.buffSv = this.buffer;
|
|
rslt.chrSv = this.code;
|
|
rslt.cColSv = this.cCol;
|
|
rslt.lNumSv = this.lNum;
|
|
return rslt;
|
|
}
|
|
|
|
/// <summary>
|
|
/// This method restores the buffer value and allied
|
|
/// scanner state from the given context record value.
|
|
/// </summary>
|
|
[SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
|
void RestoreBuffCtx(BufferContext value)
|
|
{
|
|
this.buffer = value.buffSv;
|
|
this.code = value.chrSv;
|
|
this.cCol = value.cColSv;
|
|
this.lNum = value.lNumSv;
|
|
}
|
|
// =================== End Nested classes =======================
|
|
|
|
#if !NOFILES
|
|
public Scanner(Stream file) {
|
|
SetSource(file, 0); // unicode option
|
|
}
|
|
|
|
public Scanner(Stream file, string codepage) {
|
|
SetSource(file, CodePageHandling.GetCodePage(codepage));
|
|
}
|
|
|
|
#endif // !NOFILES
|
|
|
|
public Scanner() { }
|
|
|
|
private int readPos;
|
|
|
|
void GetCode()
|
|
{
|
|
if (code == '\n') // This needs to be fixed for other conventions
|
|
// i.e. [\r\n\205\u2028\u2029]
|
|
{
|
|
cCol = -1;
|
|
lNum++;
|
|
}
|
|
readPos = buffer.Pos;
|
|
|
|
// Now read new codepoint.
|
|
code = buffer.Read();
|
|
if (code > ScanBuff.EndOfFile)
|
|
{
|
|
#if (!BYTEMODE)
|
|
if (code >= 0xD800 && code <= 0xDBFF)
|
|
{
|
|
int next = buffer.Read();
|
|
if (next < 0xDC00 || next > 0xDFFF)
|
|
code = ScanBuff.UnicodeReplacementChar;
|
|
else
|
|
code = (0x10000 + (code & 0x3FF << 10) + (next & 0x3FF));
|
|
}
|
|
#endif
|
|
cCol++;
|
|
}
|
|
}
|
|
|
|
void MarkToken()
|
|
{
|
|
#if (!PERSIST)
|
|
buffer.Mark();
|
|
#endif
|
|
tokPos = readPos;
|
|
tokLin = lNum;
|
|
tokCol = cCol;
|
|
}
|
|
|
|
void MarkEnd()
|
|
{
|
|
tokTxt = null;
|
|
tokEPos = readPos;
|
|
tokELin = lNum;
|
|
tokECol = cCol;
|
|
}
|
|
|
|
[SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
|
int Peek()
|
|
{
|
|
int rslt, codeSv = code, cColSv = cCol, lNumSv = lNum, bPosSv = buffer.Pos;
|
|
GetCode(); rslt = code;
|
|
lNum = lNumSv; cCol = cColSv; code = codeSv; buffer.Pos = bPosSv;
|
|
return rslt;
|
|
}
|
|
|
|
// ==============================================================
|
|
// ===== Initialization of string-based input buffers ====
|
|
// ==============================================================
|
|
|
|
/// <summary>
|
|
/// Create and initialize a StringBuff buffer object for this scanner
|
|
/// </summary>
|
|
/// <param name="source">the input string</param>
|
|
/// <param name="offset">starting offset in the string</param>
|
|
[SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
|
public void SetSource(string source, int offset)
|
|
{
|
|
this.buffer = ScanBuff.GetBuffer(source);
|
|
this.buffer.Pos = offset;
|
|
this.lNum = 0;
|
|
this.code = '\n'; // to initialize yyline, yycol and lineStart
|
|
GetCode();
|
|
}
|
|
|
|
#if !NOFILES
|
|
// ================ LineBuffer Initialization ===================
|
|
|
|
/// <summary>
|
|
/// Create and initialize a LineBuff buffer object for this scanner
|
|
/// </summary>
|
|
/// <param name="source">the list of input strings</param>
|
|
[SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
|
public void SetSource(IList<string> source)
|
|
{
|
|
this.buffer = ScanBuff.GetBuffer(source);
|
|
this.code = '\n'; // to initialize yyline, yycol and lineStart
|
|
this.lNum = 0;
|
|
GetCode();
|
|
}
|
|
|
|
// =============== StreamBuffer Initialization ==================
|
|
|
|
/// <summary>
|
|
/// Create and initialize a StreamBuff buffer object for this scanner.
|
|
/// StreamBuff is buffer for 8-bit byte files.
|
|
/// </summary>
|
|
/// <param name="source">the input byte stream</param>
|
|
[SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
|
public void SetSource(Stream source)
|
|
{
|
|
this.buffer = ScanBuff.GetBuffer(source);
|
|
this.lNum = 0;
|
|
this.code = '\n'; // to initialize yyline, yycol and lineStart
|
|
GetCode();
|
|
}
|
|
|
|
#if !BYTEMODE
|
|
// ================ TextBuffer Initialization ===================
|
|
|
|
/// <summary>
|
|
/// Create and initialize a TextBuff buffer object for this scanner.
|
|
/// TextBuff is a buffer for encoded unicode files.
|
|
/// </summary>
|
|
/// <param name="source">the input text file</param>
|
|
/// <param name="fallbackCodePage">Code page to use if file has
|
|
/// no BOM. For 0, use machine default; for -1, 8-bit binary</param>
|
|
[SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
|
public void SetSource(Stream source, int fallbackCodePage)
|
|
{
|
|
this.buffer = ScanBuff.GetBuffer(source, fallbackCodePage);
|
|
this.lNum = 0;
|
|
this.code = '\n'; // to initialize yyline, yycol and lineStart
|
|
GetCode();
|
|
}
|
|
#endif // !BYTEMODE
|
|
#endif // !NOFILES
|
|
|
|
// ==============================================================
|
|
|
|
#if BABEL
|
|
//
|
|
// Get the next token for Visual Studio
|
|
//
|
|
// "state" is the inout mode variable that maintains scanner
|
|
// state between calls, using the EolState property. In principle,
|
|
// if the calls of EolState are costly set could be called once
|
|
// only per line, at the start; and get called only at the end
|
|
// of the line. This needs more infrastructure ...
|
|
//
|
|
public int GetNext(ref int state, out int start, out int end)
|
|
{
|
|
Tokens next;
|
|
int s, e;
|
|
s = state; // state at start
|
|
EolState = state;
|
|
next = (Tokens)Scan();
|
|
state = EolState;
|
|
e = state; // state at end;
|
|
start = tokPos;
|
|
end = tokEPos - 1; // end is the index of last char.
|
|
return (int)next;
|
|
}
|
|
#endif // BABEL
|
|
|
|
// ======== AbstractScanner<> Implementation =========
|
|
|
|
[SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
|
[SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "yylex")]
|
|
[SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "yylex")]
|
|
public override int yylex()
|
|
{
|
|
// parserMax is set by reflecting on the Tokens
|
|
// enumeration. If maxParseToken is defined
|
|
// that is used, otherwise int.MaxValue is used.
|
|
int next;
|
|
do { next = Scan(); } while (next >= parserMax);
|
|
return next;
|
|
}
|
|
|
|
[SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
|
int yypos { get { return tokPos; } }
|
|
|
|
[SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
|
int yyline { get { return tokLin; } }
|
|
|
|
[SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
|
int yycol { get { return tokCol; } }
|
|
|
|
[SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
|
[SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "yytext")]
|
|
[SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "yytext")]
|
|
public string yytext
|
|
{
|
|
get
|
|
{
|
|
if (tokTxt == null)
|
|
tokTxt = buffer.GetString(tokPos, tokEPos);
|
|
return tokTxt;
|
|
}
|
|
}
|
|
|
|
[SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
|
void yyless(int n)
|
|
{
|
|
buffer.Pos = tokPos;
|
|
// Must read at least one char, so set before start.
|
|
cCol = tokCol - 1;
|
|
GetCode();
|
|
// Now ensure that line counting is correct.
|
|
lNum = tokLin;
|
|
// And count the rest of the text.
|
|
for (int i = 0; i < n; i++) GetCode();
|
|
MarkEnd();
|
|
}
|
|
|
|
//
|
|
// It would be nice to count backward in the text
|
|
// but it does not seem possible to re-establish
|
|
// the correct column counts except by going forward.
|
|
//
|
|
[SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
|
void _yytrunc(int n) { yyless(yyleng - n); }
|
|
|
|
//
|
|
// This is painful, but we no longer count
|
|
// codepoints. For the overwhelming majority
|
|
// of cases the single line code is fast, for
|
|
// the others, well, at least it is all in the
|
|
// buffer so no files are touched. Note that we
|
|
// can't use (tokEPos - tokPos) because of the
|
|
// possibility of surrogate pairs in the token.
|
|
//
|
|
[SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
|
[SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "yyleng")]
|
|
[SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "yyleng")]
|
|
public int yyleng
|
|
{
|
|
get {
|
|
#if BYTEMODE
|
|
return tokEPos - tokPos;
|
|
#else
|
|
if (tokELin == tokLin)
|
|
return tokECol - tokCol;
|
|
else {
|
|
int ch;
|
|
int count = 0;
|
|
int save = buffer.Pos;
|
|
buffer.Pos = tokPos;
|
|
do {
|
|
ch = buffer.Read();
|
|
if (!char.IsHighSurrogate((char)ch)) count++;
|
|
} while (buffer.Pos < tokEPos && ch != ScanBuff.EndOfFile);
|
|
buffer.Pos = save;
|
|
return count;
|
|
}
|
|
#endif // BYTEMODE
|
|
}
|
|
}
|
|
|
|
// ============ methods available in actions ==============
|
|
|
|
[SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
|
internal int YY_START {
|
|
get { return currentScOrd; }
|
|
set { currentScOrd = value;
|
|
currentStart = startState[value];
|
|
}
|
|
}
|
|
|
|
[SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
|
internal void BEGIN(int next) {
|
|
currentScOrd = next;
|
|
currentStart = startState[next];
|
|
}
|
|
|
|
// ============== The main tokenizer code =================
|
|
|
|
int Scan()
|
|
{
|
|
try {
|
|
for (; ; )
|
|
{
|
|
int next; // next state to enter
|
|
#if BACKUP
|
|
Result rslt = Result.noMatch;
|
|
#endif // BACKUP
|
|
#if LEFTANCHORS
|
|
for (;;)
|
|
{
|
|
// Discard characters that do not start any pattern.
|
|
// Must check the left anchor condition after *every* GetCode!
|
|
state = ((cCol == 0) ? anchorState[currentScOrd] : currentStart);
|
|
if ((next = NextState()) != goStart)
|
|
break; // LOOP EXIT HERE...
|
|
GetCode();
|
|
}
|
|
|
|
#else // !LEFTANCHORS
|
|
state = currentStart;
|
|
while ((next = NextState()) == goStart)
|
|
// At this point, the current character has no
|
|
// transition from the current state. We discard
|
|
// the "no-match" char. In traditional LEX such
|
|
// characters are echoed to the console.
|
|
GetCode();
|
|
#endif // LEFTANCHORS
|
|
// At last, a valid transition ...
|
|
MarkToken();
|
|
state = next;
|
|
GetCode();
|
|
|
|
while ((next = NextState()) > eofNum) // Exit for goStart AND for eofNum
|
|
#if BACKUP
|
|
if (state <= maxAccept && next > maxAccept) // need to prepare backup data
|
|
{
|
|
// ctx is an object. The fields may be
|
|
// mutated by the call to Recurse2.
|
|
// On return the data in ctx is the
|
|
// *latest* accept state that was found.
|
|
|
|
rslt = Recurse2(ref ctx, next);
|
|
if (rslt == Result.noMatch)
|
|
RestoreStateAndPos(ref ctx);
|
|
break;
|
|
}
|
|
else
|
|
#endif // BACKUP
|
|
{
|
|
state = next;
|
|
GetCode();
|
|
}
|
|
if (state <= maxAccept)
|
|
{
|
|
MarkEnd();
|
|
#region ActionSwitch
|
|
#pragma warning disable 162
|
|
switch (state)
|
|
{
|
|
case eofNum:
|
|
if (yywrap())
|
|
return (int)Tokens.EOF;
|
|
break;
|
|
case 1:
|
|
case 3:
|
|
yylval = new SPythonParserYacc.ValueType();
|
|
currentLexLocation = CurrentLexLocation;
|
|
yylval.ex = parserTools.create_spy_int_const(yytext,currentLexLocation);
|
|
return (int)Tokens.INTNUM;
|
|
break;
|
|
case 2:
|
|
case 8:
|
|
string cur_yytext = yytext;
|
|
int res = keywords.KeywordOrIDToken(cur_yytext);
|
|
currentLexLocation = CurrentLexLocation;
|
|
yylval = new SPythonParserYacc.ValueType();
|
|
switch (res)
|
|
{
|
|
case (int)Tokens.ID:
|
|
yylval.id = parserTools.create_ident(cur_yytext, currentLexLocation);
|
|
break;
|
|
case (int)Tokens.AND:
|
|
yylval.op = new op_type_node(Operators.LogicalAND, currentLexLocation);
|
|
yylval.op.text = cur_yytext;
|
|
break;
|
|
case (int)Tokens.OR:
|
|
yylval.op = new op_type_node(Operators.LogicalOR, currentLexLocation);
|
|
yylval.op.text = cur_yytext;
|
|
break;
|
|
case (int)Tokens.NOT:
|
|
yylval.op = new op_type_node(Operators.LogicalNOT, currentLexLocation);
|
|
yylval.op.text = cur_yytext;
|
|
break;
|
|
case (int)Tokens.IF:
|
|
case (int)Tokens.ELIF:
|
|
case (int)Tokens.ELSE:
|
|
case (int)Tokens.WHILE:
|
|
case (int)Tokens.FOR:
|
|
case (int)Tokens.DEF:
|
|
last_line_needed_colon = CurrentLexLocation.StartLine;
|
|
break;
|
|
case (int)Tokens.CLASS:
|
|
case (int)Tokens.LAMBDA:
|
|
parserTools.AddErrorFromResource("UNSUPPORTED_CONSTRUCTION_{0}", currentLexLocation, yytext);
|
|
break;
|
|
}
|
|
|
|
return res;
|
|
break;
|
|
case 4:
|
|
yylval = new SPythonParserYacc.ValueType(); return (int)Tokens.DOT;
|
|
break;
|
|
case 5:
|
|
case 6:
|
|
case 7:
|
|
case 17:
|
|
case 22:
|
|
parserTools.AddErrorFromResource("UNEXPECTED_TOKEN_{0}", CurrentLexLocation, yytext);
|
|
return (int)Tokens.EOF;
|
|
break;
|
|
case 9:
|
|
yylval = new SPythonParserYacc.ValueType(); yylval.op = new op_type_node(Operators.Division); return (int)Tokens.DIVIDE;
|
|
break;
|
|
case 10:
|
|
yylval = new SPythonParserYacc.ValueType(); yylval.op = new op_type_node(Operators.Assignment); return (int)Tokens.ASSIGN;
|
|
break;
|
|
case 11:
|
|
yylval = new SPythonParserYacc.ValueType(); yylval.op = new op_type_node(Operators.Plus); return (int)Tokens.PLUS;
|
|
break;
|
|
case 12:
|
|
yylval = new SPythonParserYacc.ValueType(); yylval.op = new op_type_node(Operators.Minus); return (int)Tokens.MINUS;
|
|
break;
|
|
case 13:
|
|
yylval = new SPythonParserYacc.ValueType(); yylval.op = new op_type_node(Operators.Multiplication); return (int)Tokens.STAR;
|
|
break;
|
|
case 14:
|
|
yylval = new SPythonParserYacc.ValueType(); yylval.op = new op_type_node(Operators.ModulusRemainder); return (int)Tokens.PERCENTAGE;
|
|
break;
|
|
case 15:
|
|
yylval = new SPythonParserYacc.ValueType(); yylval.op = new op_type_node(Operators.Less); return (int)Tokens.LESS;
|
|
break;
|
|
case 16:
|
|
yylval = new SPythonParserYacc.ValueType(); yylval.op = new op_type_node(Operators.Greater); return (int)Tokens.GREATER;
|
|
break;
|
|
case 18:
|
|
yylval = new SPythonParserYacc.ValueType(); yylval.op = new op_type_node(Operators.LogicalNOT); return (int)Tokens.BINNOT;
|
|
break;
|
|
case 19:
|
|
yylval = new SPythonParserYacc.ValueType(); yylval.op = new op_type_node(Operators.LogicalAND); return (int)Tokens.BINAND;
|
|
break;
|
|
case 20:
|
|
yylval = new SPythonParserYacc.ValueType(); yylval.op = new op_type_node(Operators.LogicalOR); return (int)Tokens.BINOR;
|
|
break;
|
|
case 21:
|
|
yylval = new SPythonParserYacc.ValueType(); yylval.op = new op_type_node(Operators.BitwiseXOR); return (int)Tokens.BINXOR;
|
|
break;
|
|
case 23:
|
|
yylval = new SPythonParserYacc.ValueType(); return (int)Tokens.LBRACE;
|
|
break;
|
|
case 24:
|
|
yylval = new SPythonParserYacc.ValueType(); return (int)Tokens.RBRACE;
|
|
break;
|
|
case 25:
|
|
yylval = new SPythonParserYacc.ValueType(); return (int)Tokens.SEMICOLON;
|
|
break;
|
|
case 26:
|
|
yylval = new SPythonParserYacc.ValueType(); return (int)Tokens.LBRACKET;
|
|
break;
|
|
case 27:
|
|
yylval = new SPythonParserYacc.ValueType(); return (int)Tokens.RBRACKET;
|
|
break;
|
|
case 28:
|
|
yylval = new SPythonParserYacc.ValueType(); return (int)Tokens.COMMA;
|
|
break;
|
|
case 29:
|
|
yylval = new SPythonParserYacc.ValueType(); return (int)Tokens.COLON;
|
|
break;
|
|
case 30:
|
|
yylval = new SPythonParserYacc.ValueType(); return (int)Tokens.LPAR;
|
|
break;
|
|
case 31:
|
|
yylval = new SPythonParserYacc.ValueType(); return (int)Tokens.RPAR;
|
|
break;
|
|
case 32:
|
|
parserTools.AddErrorFromResource("PROGRAM_BEGIN_WITH_INDENT",
|
|
CurrentLexLocation);
|
|
return (int)Tokens.EOF;
|
|
break;
|
|
case 33:
|
|
parserTools.AddErrorFromResource("WRONG_INDENT",
|
|
new LexLocation(CurrentLexLocation.StartLine + 1, 0, CurrentLexLocation.StartLine + 1, 0));
|
|
return (int)Tokens.EOF;
|
|
break;
|
|
case 34:
|
|
yylval = new SPythonParserYacc.ValueType(); return (int)Tokens.INDENT;
|
|
break;
|
|
case 35:
|
|
yylval = new SPythonParserYacc.ValueType(); return (int)Tokens.UNINDENT;
|
|
break;
|
|
case 36:
|
|
yylval = new SPythonParserYacc.ValueType(); return (int)Tokens.END_OF_LINE;
|
|
break;
|
|
case 37:
|
|
return (int)Tokens.END_OF_FILE;
|
|
break;
|
|
case 38:
|
|
yylval = new SPythonParserYacc.ValueType(); yylval.op = new op_type_node(Operators.AssignmentBitwiseXOR); return (int)Tokens.BINXOREQUAL;
|
|
break;
|
|
case 39:
|
|
yylval = new SPythonParserYacc.ValueType(); yylval.op = new op_type_node(Operators.AssignmentBitwiseOR); return (int)Tokens.BINOREQUAL;
|
|
break;
|
|
case 40:
|
|
yylval = new SPythonParserYacc.ValueType(); yylval.op = new op_type_node(Operators.AssignmentBitwiseAND); return (int)Tokens.BINANDEQUAL;
|
|
break;
|
|
case 41:
|
|
yylval = new SPythonParserYacc.ValueType(); yylval.op = new op_type_node(Operators.NotEqual); return (int)Tokens.NOTEQUAL;
|
|
break;
|
|
case 42:
|
|
yylval = new SPythonParserYacc.ValueType(); yylval.op = new op_type_node(Operators.GreaterEqual); return (int)Tokens.GREATEREQUAL;
|
|
break;
|
|
case 43:
|
|
yylval = new SPythonParserYacc.ValueType(); yylval.op = new op_type_node(Operators.BitwiseRightShift); return (int)Tokens.SHR;
|
|
break;
|
|
case 44:
|
|
yylval = new SPythonParserYacc.ValueType(); yylval.op = new op_type_node(Operators.AssignmentBitwiseRightShift); return (int)Tokens.SHREQUAL;
|
|
break;
|
|
case 45:
|
|
yylval = new SPythonParserYacc.ValueType(); yylval.op = new op_type_node(Operators.LessEqual); return (int)Tokens.LESSEQUAL;
|
|
break;
|
|
case 46:
|
|
yylval = new SPythonParserYacc.ValueType(); yylval.op = new op_type_node(Operators.BitwiseLeftShift); return (int)Tokens.SHL;
|
|
break;
|
|
case 47:
|
|
yylval = new SPythonParserYacc.ValueType(); yylval.op = new op_type_node(Operators.AssignmentBitwiseLeftShift); return (int)Tokens.SHLEQUAL;
|
|
break;
|
|
case 48:
|
|
return (int)Tokens.tkParseModeType;
|
|
break;
|
|
case 49:
|
|
return (int)Tokens.tkParseModeStatement;
|
|
break;
|
|
case 50:
|
|
return (int)Tokens.tkParseModeExpression;
|
|
break;
|
|
case 51:
|
|
yylval = new SPythonParserYacc.ValueType(); yylval.op = new op_type_node(Operators.AssignmentMultiplication); return (int)Tokens.STAREQUAL;
|
|
break;
|
|
case 52:
|
|
yylval = new SPythonParserYacc.ValueType(); return (int)Tokens.STARSTAR;
|
|
break;
|
|
case 53:
|
|
yylval = new SPythonParserYacc.ValueType(); yylval.op = new op_type_node(Operators.AssignmentSubtraction); return (int)Tokens.MINUSEQUAL;
|
|
break;
|
|
case 54:
|
|
yylval = new SPythonParserYacc.ValueType(); yylval.ti = new token_info(yytext); return (int)Tokens.ARROW;
|
|
break;
|
|
case 55:
|
|
yylval = new SPythonParserYacc.ValueType(); yylval.op = new op_type_node(Operators.AssignmentAddition); return (int)Tokens.PLUSEQUAL;
|
|
break;
|
|
case 56:
|
|
yylval = new SPythonParserYacc.ValueType(); yylval.op = new op_type_node(Operators.Equal); return (int)Tokens.EQUAL;
|
|
break;
|
|
case 57:
|
|
yylval = new SPythonParserYacc.ValueType(); yylval.op = new op_type_node(Operators.IntegerDivision); return (int)Tokens.SLASHSLASH;
|
|
break;
|
|
case 58:
|
|
yylval = new SPythonParserYacc.ValueType(); yylval.op = new op_type_node(Operators.AssignmentDivision); return (int)Tokens.DIVEQUAL;
|
|
break;
|
|
case 59:
|
|
yylval = new SPythonParserYacc.ValueType(); yylval.op = new op_type_node(Operators.AssignmentIntDivision); return (int)Tokens.INTDIVISIONEQUAL;
|
|
break;
|
|
case 60:
|
|
yylval = new SPythonParserYacc.ValueType();
|
|
currentLexLocation = CurrentLexLocation;
|
|
yylval.ex = parserTools.create_fstring(yytext,currentLexLocation);
|
|
return (int)Tokens.FSTRINGNUM;
|
|
break;
|
|
case 61:
|
|
yylval = new SPythonParserYacc.ValueType();
|
|
currentLexLocation = CurrentLexLocation;
|
|
yylval.stn = parserTools.create_string_const(yytext,currentLexLocation);
|
|
return (int)Tokens.STRINGNUM;
|
|
break;
|
|
case 62:
|
|
case 63:
|
|
case 64:
|
|
yylval = new SPythonParserYacc.ValueType();
|
|
currentLexLocation = CurrentLexLocation;
|
|
yylval.ex = parserTools.create_double_const(yytext,currentLexLocation);
|
|
return (int)Tokens.REALNUM;
|
|
break;
|
|
case 65:
|
|
yylval = new SPythonParserYacc.ValueType();
|
|
currentLexLocation = CurrentLexLocation;
|
|
yylval.ex = parserTools.create_bigint_const(yytext,currentLexLocation);
|
|
return (int)Tokens.BIGINT;
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
#pragma warning restore 162
|
|
#endregion
|
|
}
|
|
}
|
|
} // end try
|
|
finally {
|
|
// User-specified epilog to scan()
|
|
prevLexLocation = yylloc;
|
|
if (currentLexLocation != null)
|
|
yylloc = currentLexLocation;
|
|
else
|
|
yylloc = CurrentLexLocation;
|
|
|
|
currentLexLocation = null;
|
|
// End, user-specified epilog
|
|
} // end finally
|
|
}
|
|
|
|
#if BACKUP
|
|
Result Recurse2(ref Context ctx, int next)
|
|
{
|
|
// Assert: at entry "state" is an accept state AND
|
|
// NextState(state, code) != goStart AND
|
|
// NextState(state, code) is not an accept state.
|
|
//
|
|
SaveStateAndPos(ref ctx);
|
|
state = next;
|
|
GetCode();
|
|
|
|
while ((next = NextState()) > eofNum)
|
|
{
|
|
if (state <= maxAccept && next > maxAccept) // need to update backup data
|
|
SaveStateAndPos(ref ctx);
|
|
state = next;
|
|
if (state == eofNum) return Result.accept;
|
|
GetCode();
|
|
}
|
|
return (state <= maxAccept ? Result.accept : Result.noMatch);
|
|
}
|
|
|
|
void SaveStateAndPos(ref Context ctx)
|
|
{
|
|
ctx.bPos = buffer.Pos;
|
|
ctx.rPos = readPos;
|
|
ctx.cCol = cCol;
|
|
ctx.lNum = lNum;
|
|
ctx.state = state;
|
|
ctx.cChr = code;
|
|
}
|
|
|
|
void RestoreStateAndPos(ref Context ctx)
|
|
{
|
|
buffer.Pos = ctx.bPos;
|
|
readPos = ctx.rPos;
|
|
cCol = ctx.cCol;
|
|
lNum = ctx.lNum;
|
|
state = ctx.state;
|
|
code = ctx.cChr;
|
|
}
|
|
|
|
#endif // BACKUP
|
|
|
|
// ============= End of the tokenizer code ================
|
|
|
|
#if STACK
|
|
[SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
|
internal void yy_clear_stack() { scStack.Clear(); }
|
|
|
|
[SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
|
internal int yy_top_state() { return scStack.Peek(); }
|
|
|
|
internal void yy_push_state(int state)
|
|
{
|
|
scStack.Push(currentScOrd);
|
|
BEGIN(state);
|
|
}
|
|
|
|
internal void yy_pop_state()
|
|
{
|
|
// Protect against input errors that pop too far ...
|
|
if (scStack.Count > 0) {
|
|
int newSc = scStack.Pop();
|
|
BEGIN(newSc);
|
|
} // Otherwise leave stack unchanged.
|
|
}
|
|
#endif // STACK
|
|
|
|
[SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
|
internal void ECHO() { Console.Out.Write(yytext); }
|
|
|
|
#region UserCodeSection
|
|
|
|
public LexLocation CurrentLexLocation
|
|
{
|
|
get {
|
|
return new LexLocation(tokLin, tokCol, tokELin, tokECol, parserTools.currentFileName);
|
|
}
|
|
}
|
|
|
|
public override void yyerror(string format, params object[] args)
|
|
{
|
|
string expected = parserTools.ExpectedToken(last_line_needed_colon == prevLexLocation.StartLine, args);
|
|
LexLocation lexLocation = parserTools.GetLexLocation(
|
|
yytext, expected, prevLexLocation, CurrentLexLocation);
|
|
|
|
if (yytext == "#{" && expected == "END_OF_LINE") {
|
|
parserTools.AddErrorFromResource("WRONG_INDENT", lexLocation);
|
|
}
|
|
else {
|
|
string errorMsg = parserTools.CreateErrorString(yytext, expected);
|
|
parserTools.AddError(errorMsg, lexLocation);
|
|
}
|
|
}
|
|
|
|
protected override bool yywrap()
|
|
{
|
|
return true;
|
|
}
|
|
|
|
#endregion
|
|
} // end class $Scanner
|
|
|
|
// ==============================================================
|
|
// <auto-generated>
|
|
// This code automatically produced from an embedded resource.
|
|
// Do not edit this file, or it will become incompatible with
|
|
// the specification from which it was generated.
|
|
// </auto-generated>
|
|
// ==============================================================
|
|
|
|
// Code copied from GPLEX embedded resource
|
|
[Serializable]
|
|
public class BufferException : Exception
|
|
{
|
|
public BufferException() { }
|
|
public BufferException(string message) : base(message) { }
|
|
public BufferException(string message, Exception innerException)
|
|
: base(message, innerException) { }
|
|
protected BufferException(SerializationInfo info, StreamingContext context)
|
|
: base(info, context) { }
|
|
}
|
|
|
|
public abstract class ScanBuff
|
|
{
|
|
private string fileNm;
|
|
|
|
public const int EndOfFile = -1;
|
|
public const int UnicodeReplacementChar = 0xFFFD;
|
|
|
|
public bool IsFile { get { return (fileNm != null); } }
|
|
public string FileName { get { return fileNm; } set { fileNm = value; } }
|
|
|
|
public abstract int Pos { get; set; }
|
|
public abstract int Read();
|
|
public virtual void Mark() { }
|
|
|
|
public abstract string GetString(int begin, int limit);
|
|
|
|
public static ScanBuff GetBuffer(string source)
|
|
{
|
|
return new StringBuffer(source);
|
|
}
|
|
|
|
public static ScanBuff GetBuffer(IList<string> source)
|
|
{
|
|
return new LineBuffer(source);
|
|
}
|
|
|
|
public static ScanBuff GetBuffer(Stream source)
|
|
{
|
|
return new BuildBuffer(source);
|
|
}
|
|
|
|
#if (!BYTEMODE)
|
|
public static ScanBuff GetBuffer(Stream source, int fallbackCodePage)
|
|
{
|
|
return new BuildBuffer(source, fallbackCodePage);
|
|
}
|
|
#endif
|
|
}
|
|
|
|
#region Buffer classes
|
|
|
|
// ==============================================================
|
|
// ===== Definitions for various ScanBuff derived classes ====
|
|
// ==============================================================
|
|
// =============== String input ================
|
|
// ==============================================================
|
|
|
|
/// <summary>
|
|
/// This class reads characters from a single string as
|
|
/// required, for example, by Visual Studio language services
|
|
/// </summary>
|
|
sealed class StringBuffer : ScanBuff
|
|
{
|
|
string str; // input buffer
|
|
int bPos; // current position in buffer
|
|
int sLen;
|
|
|
|
public StringBuffer(string source)
|
|
{
|
|
this.str = source;
|
|
this.sLen = source.Length;
|
|
this.FileName = null;
|
|
}
|
|
|
|
public override int Read()
|
|
{
|
|
if (bPos < sLen) return str[bPos++];
|
|
else if (bPos == sLen) { bPos++; return '\n'; } // one strike, see new line
|
|
else { bPos++; return EndOfFile; } // two strikes and you're out!
|
|
}
|
|
|
|
public override string GetString(int begin, int limit)
|
|
{
|
|
// "limit" can be greater than sLen with the BABEL
|
|
// option set. Read returns a "virtual" EOL if
|
|
// an attempt is made to read past the end of the
|
|
// string buffer. Without the guard any attempt
|
|
// to fetch yytext for a token that includes the
|
|
// EOL will throw an index exception.
|
|
if (limit > sLen) limit = sLen;
|
|
if (limit <= begin) return "";
|
|
else return str.Substring(begin, limit - begin);
|
|
}
|
|
|
|
public override int Pos
|
|
{
|
|
get { return bPos; }
|
|
set { bPos = value; }
|
|
}
|
|
|
|
public override string ToString() { return "StringBuffer"; }
|
|
}
|
|
|
|
// ==============================================================
|
|
// The LineBuff class contributed by Nigel Horspool,
|
|
// nigelh@cs.uvic.cs
|
|
// ==============================================================
|
|
|
|
sealed class LineBuffer : ScanBuff
|
|
{
|
|
IList<string> line; // list of source lines from a file
|
|
int numLines; // number of strings in line list
|
|
string curLine; // current line in that list
|
|
int cLine; // index of current line in the list
|
|
int curLen; // length of current line
|
|
int curLineStart; // position of line start in whole file
|
|
int curLineEnd; // position of line end in whole file
|
|
int maxPos; // max position ever visited in whole file
|
|
int cPos; // ordinal number of code in source
|
|
|
|
// Constructed from a list of strings, one per source line.
|
|
// The lines have had trailing '\n' characters removed.
|
|
public LineBuffer(IList<string> lineList)
|
|
{
|
|
line = lineList;
|
|
numLines = line.Count;
|
|
cPos = curLineStart = 0;
|
|
curLine = (numLines > 0 ? line[0] : "");
|
|
maxPos = curLineEnd = curLen = curLine.Length;
|
|
cLine = 1;
|
|
FileName = null;
|
|
}
|
|
|
|
public override int Read()
|
|
{
|
|
if (cPos < curLineEnd)
|
|
return curLine[cPos++ - curLineStart];
|
|
if (cPos++ == curLineEnd)
|
|
return '\n';
|
|
if (cLine >= numLines)
|
|
return EndOfFile;
|
|
curLine = line[cLine];
|
|
curLen = curLine.Length;
|
|
curLineStart = curLineEnd + 1;
|
|
curLineEnd = curLineStart + curLen;
|
|
if (curLineEnd > maxPos)
|
|
maxPos = curLineEnd;
|
|
cLine++;
|
|
return curLen > 0 ? curLine[0] : '\n';
|
|
}
|
|
|
|
// To speed up searches for the line containing a position
|
|
private int cachedPosition;
|
|
private int cachedIxdex;
|
|
private int cachedLineStart;
|
|
|
|
// Given a position pos within the entire source, the results are
|
|
// ix -- the index of the containing line
|
|
// lstart -- the position of the first character on that line
|
|
private void findIndex(int pos, out int ix, out int lstart)
|
|
{
|
|
if (pos >= cachedPosition)
|
|
{
|
|
ix = cachedIxdex; lstart = cachedLineStart;
|
|
}
|
|
else
|
|
{
|
|
ix = lstart = 0;
|
|
}
|
|
for (; ; )
|
|
{
|
|
int len = line[ix].Length + 1;
|
|
if (pos < lstart + len) break;
|
|
lstart += len;
|
|
ix++;
|
|
}
|
|
cachedPosition = pos;
|
|
cachedIxdex = ix;
|
|
cachedLineStart = lstart;
|
|
}
|
|
|
|
public override string GetString(int begin, int limit)
|
|
{
|
|
if (begin >= maxPos || limit <= begin) return "";
|
|
int endIx, begIx, endLineStart, begLineStart;
|
|
findIndex(begin, out begIx, out begLineStart);
|
|
int begCol = begin - begLineStart;
|
|
findIndex(limit, out endIx, out endLineStart);
|
|
int endCol = limit - endLineStart;
|
|
string s = line[begIx];
|
|
if (begIx == endIx)
|
|
{
|
|
// the usual case, substring all on one line
|
|
return (endCol <= s.Length) ?
|
|
s.Substring(begCol, endCol - begCol)
|
|
: s.Substring(begCol) + "\n";
|
|
}
|
|
// the string spans multiple lines, yuk!
|
|
StringBuilder sb = new StringBuilder();
|
|
if (begCol < s.Length)
|
|
sb.Append(s.Substring(begCol));
|
|
for (; ; )
|
|
{
|
|
sb.Append("\n");
|
|
s = line[++begIx];
|
|
if (begIx >= endIx) break;
|
|
sb.Append(s);
|
|
}
|
|
if (endCol <= s.Length)
|
|
{
|
|
sb.Append(s.Substring(0, endCol));
|
|
}
|
|
else
|
|
{
|
|
sb.Append(s);
|
|
sb.Append("\n");
|
|
}
|
|
return sb.ToString();
|
|
}
|
|
|
|
public override int Pos
|
|
{
|
|
get { return cPos; }
|
|
set
|
|
{
|
|
cPos = value;
|
|
findIndex(cPos, out cLine, out curLineStart);
|
|
curLine = line[cLine];
|
|
curLineEnd = curLineStart + curLine.Length;
|
|
}
|
|
}
|
|
|
|
public override string ToString() { return "LineBuffer"; }
|
|
}
|
|
|
|
|
|
// ==============================================================
|
|
// ===== class BuildBuff : for unicode text files ========
|
|
// ==============================================================
|
|
|
|
class BuildBuffer : ScanBuff
|
|
{
|
|
// Double buffer for char stream.
|
|
class BufferElement
|
|
{
|
|
StringBuilder bldr = new StringBuilder();
|
|
StringBuilder next = new StringBuilder();
|
|
int minIx;
|
|
int maxIx;
|
|
int brkIx;
|
|
bool appendToNext;
|
|
|
|
internal BufferElement() { }
|
|
|
|
internal int MaxIndex { get { return maxIx; } }
|
|
// internal int MinIndex { get { return minIx; } }
|
|
|
|
internal char this[int index]
|
|
{
|
|
get
|
|
{
|
|
if (index < minIx || index >= maxIx)
|
|
throw new BufferException("Index was outside data buffer");
|
|
else if (index < brkIx)
|
|
return bldr[index - minIx];
|
|
else
|
|
return next[index - brkIx];
|
|
}
|
|
}
|
|
|
|
internal void Append(char[] block, int count)
|
|
{
|
|
maxIx += count;
|
|
if (appendToNext)
|
|
this.next.Append(block, 0, count);
|
|
else
|
|
{
|
|
this.bldr.Append(block, 0, count);
|
|
brkIx = maxIx;
|
|
appendToNext = true;
|
|
}
|
|
}
|
|
|
|
internal string GetString(int start, int limit)
|
|
{
|
|
if (limit <= start)
|
|
return "";
|
|
if (start >= minIx && limit <= maxIx)
|
|
if (limit < brkIx) // String entirely in bldr builder
|
|
return bldr.ToString(start - minIx, limit - start);
|
|
else if (start >= brkIx) // String entirely in next builder
|
|
return next.ToString(start - brkIx, limit - start);
|
|
else // Must do a string-concatenation
|
|
return
|
|
bldr.ToString(start - minIx, brkIx - start) +
|
|
next.ToString(0, limit - brkIx);
|
|
else
|
|
throw new BufferException("String was outside data buffer");
|
|
}
|
|
|
|
internal void Mark(int limit)
|
|
{
|
|
if (limit > brkIx + 16) // Rotate blocks
|
|
{
|
|
StringBuilder temp = bldr;
|
|
bldr = next;
|
|
next = temp;
|
|
next.Length = 0;
|
|
minIx = brkIx;
|
|
brkIx = maxIx;
|
|
}
|
|
}
|
|
}
|
|
|
|
BufferElement data = new BufferElement();
|
|
|
|
int bPos; // Postion index in the StringBuilder
|
|
BlockReader NextBlk; // Delegate that serves char-arrays;
|
|
|
|
private string EncodingName
|
|
{
|
|
get
|
|
{
|
|
StreamReader rdr = NextBlk.Target as StreamReader;
|
|
return (rdr == null ? "raw-bytes" : rdr.CurrentEncoding.BodyName);
|
|
}
|
|
}
|
|
|
|
public BuildBuffer(Stream stream)
|
|
{
|
|
FileStream fStrm = (stream as FileStream);
|
|
if (fStrm != null) FileName = fStrm.Name;
|
|
NextBlk = BlockReaderFactory.Raw(stream);
|
|
}
|
|
|
|
#if (!BYTEMODE)
|
|
public BuildBuffer(Stream stream, int fallbackCodePage)
|
|
{
|
|
FileStream fStrm = (stream as FileStream);
|
|
if (fStrm != null) FileName = fStrm.Name;
|
|
NextBlk = BlockReaderFactory.Get(stream, fallbackCodePage);
|
|
}
|
|
#endif
|
|
|
|
/// <summary>
|
|
/// Marks a conservative lower bound for the buffer,
|
|
/// allowing space to be reclaimed. If an application
|
|
/// needs to call GetString at arbitrary past locations
|
|
/// in the input stream, Mark() is not called.
|
|
/// </summary>
|
|
public override void Mark() { data.Mark(bPos - 2); }
|
|
|
|
public override int Pos
|
|
{
|
|
get { return bPos; }
|
|
set { bPos = value; }
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// Read returns the ordinal number of the next char, or
|
|
/// EOF (-1) for an end of stream. Note that the next
|
|
/// code point may require *two* calls of Read().
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public override int Read()
|
|
{
|
|
//
|
|
// Characters at positions
|
|
// [data.offset, data.offset + data.bldr.Length)
|
|
// are available in data.bldr.
|
|
//
|
|
if (bPos < data.MaxIndex)
|
|
{
|
|
// ch0 cannot be EOF
|
|
return (int)data[bPos++];
|
|
}
|
|
else // Read from underlying stream
|
|
{
|
|
// Experimental code, blocks of page size
|
|
char[] chrs = new char[4096];
|
|
int count = NextBlk(chrs, 0, 4096);
|
|
if (count == 0)
|
|
return EndOfFile;
|
|
else
|
|
{
|
|
data.Append(chrs, count);
|
|
return (int)data[bPos++];
|
|
}
|
|
}
|
|
}
|
|
|
|
public override string GetString(int begin, int limit)
|
|
{
|
|
return data.GetString(begin, limit);
|
|
}
|
|
|
|
public override string ToString()
|
|
{
|
|
return "StringBuilder buffer, encoding: " + this.EncodingName;
|
|
}
|
|
}
|
|
|
|
// =============== End ScanBuff-derived classes ==================
|
|
|
|
public delegate int BlockReader(char[] block, int index, int number);
|
|
|
|
// A delegate factory, serving up a delegate that
|
|
// reads a block of characters from the underlying
|
|
// encoded stream, via a StreamReader object.
|
|
//
|
|
public static class BlockReaderFactory
|
|
{
|
|
public static BlockReader Raw(Stream stream)
|
|
{
|
|
return delegate(char[] block, int index, int number)
|
|
{
|
|
byte[] b = new byte[number];
|
|
int count = stream.Read(b, 0, number);
|
|
int i = 0;
|
|
int j = index;
|
|
for (; i < count; i++, j++)
|
|
block[j] = (char)b[i];
|
|
return count;
|
|
};
|
|
}
|
|
|
|
#if (!BYTEMODE)
|
|
public static BlockReader Get(Stream stream, int fallbackCodePage)
|
|
{
|
|
Encoding encoding;
|
|
int preamble = Preamble(stream);
|
|
|
|
if (preamble != 0) // There is a valid BOM here!
|
|
encoding = Encoding.GetEncoding(preamble);
|
|
else if (fallbackCodePage == -1) // Fallback is "raw" bytes
|
|
return Raw(stream);
|
|
else if (fallbackCodePage != -2) // Anything but "guess"
|
|
encoding = Encoding.GetEncoding(fallbackCodePage);
|
|
else // This is the "guess" option
|
|
{
|
|
int guess = new Guesser(stream).GuessCodePage();
|
|
stream.Seek(0, SeekOrigin.Begin);
|
|
if (guess == -1) // ==> this is a 7-bit file
|
|
encoding = Encoding.ASCII;
|
|
else if (guess == 65001)
|
|
encoding = Encoding.UTF8;
|
|
else // ==> use the machine default
|
|
encoding = Encoding.Default;
|
|
}
|
|
StreamReader reader = new StreamReader(stream, encoding);
|
|
return reader.Read;
|
|
}
|
|
|
|
static int Preamble(Stream stream)
|
|
{
|
|
int b0 = stream.ReadByte();
|
|
int b1 = stream.ReadByte();
|
|
|
|
if (b0 == 0xfe && b1 == 0xff)
|
|
return 1201; // UTF16BE
|
|
if (b0 == 0xff && b1 == 0xfe)
|
|
return 1200; // UTF16LE
|
|
|
|
int b2 = stream.ReadByte();
|
|
if (b0 == 0xef && b1 == 0xbb && b2 == 0xbf)
|
|
return 65001; // UTF8
|
|
//
|
|
// There is no unicode preamble, so we
|
|
// return denoter for the machine default.
|
|
//
|
|
stream.Seek(0, SeekOrigin.Begin);
|
|
return 0;
|
|
}
|
|
#endif // !BYTEMODE
|
|
}
|
|
#endregion Buffer classes
|
|
|
|
// ==============================================================
|
|
// ============ class CodePageHandling =============
|
|
// ==============================================================
|
|
|
|
public static class CodePageHandling
|
|
{
|
|
public static int GetCodePage(string option)
|
|
{
|
|
string command = option.ToUpperInvariant();
|
|
if (command.StartsWith("CodePage:", StringComparison.OrdinalIgnoreCase))
|
|
command = command.Substring(9);
|
|
try
|
|
{
|
|
if (command.Equals("RAW"))
|
|
return -1;
|
|
else if (command.Equals("GUESS"))
|
|
return -2;
|
|
else if (command.Equals("DEFAULT"))
|
|
return 0;
|
|
else if (char.IsDigit(command[0]))
|
|
return int.Parse(command, CultureInfo.InvariantCulture);
|
|
else
|
|
{
|
|
Encoding enc = Encoding.GetEncoding(command);
|
|
return enc.CodePage;
|
|
}
|
|
}
|
|
catch (FormatException)
|
|
{
|
|
Console.Error.WriteLine(
|
|
"Invalid format \"{0}\", using machine default", option);
|
|
}
|
|
catch (ArgumentException)
|
|
{
|
|
Console.Error.WriteLine(
|
|
"Unknown code page \"{0}\", using machine default", option);
|
|
}
|
|
return 0;
|
|
}
|
|
}
|
|
#region guesser
|
|
#if (!BYTEMODE)
|
|
// ==============================================================
|
|
// ============ Encoding Guesser =============
|
|
// ==============================================================
|
|
|
|
/// <summary>
|
|
/// This class provides a simple finite state automaton that
|
|
/// scans the file looking for (1) valid UTF-8 byte patterns,
|
|
/// (2) bytes >= 0x80 which are not part of a UTF-8 sequence.
|
|
/// The method then guesses whether it is UTF-8 or maybe some
|
|
/// local machine default encoding. This works well for the
|
|
/// various Latin encodings.
|
|
/// </summary>
|
|
internal class Guesser
|
|
{
|
|
ScanBuff buffer;
|
|
|
|
public int GuessCodePage() { return Scan(); }
|
|
|
|
const int maxAccept = 10;
|
|
const int initial = 0;
|
|
const int eofNum = 0;
|
|
const int goStart = -1;
|
|
const int INITIAL = 0;
|
|
const int EndToken = 0;
|
|
|
|
#region user code
|
|
/*
|
|
* Reads the bytes of a file to determine if it is
|
|
* UTF-8 or a single-byte code page file.
|
|
*/
|
|
public long utfX;
|
|
public long uppr;
|
|
#endregion user code
|
|
|
|
int state;
|
|
int currentStart = startState[0];
|
|
int code;
|
|
|
|
#region ScannerTables
|
|
static int[] startState = new int[] { 11, 0 };
|
|
|
|
#region CharacterMap
|
|
static sbyte[] map = new sbyte[256] {
|
|
/* '\0' */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
/* '\x10' */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
/* '\x20' */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
/* '0' */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
/* '@' */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
/* 'P' */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
/* '`' */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
/* 'p' */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
/* '\x80' */ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
/* '\x90' */ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
/* '\xA0' */ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
/* '\xB0' */ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
/* '\xC0' */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
/* '\xD0' */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
/* '\xE0' */ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
|
/* '\xF0' */ 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5 };
|
|
#endregion
|
|
|
|
static sbyte[][] nextState = new sbyte[][] {
|
|
new sbyte[] {0, 0, 0, 0, 0, 0},
|
|
new sbyte[] {-1, -1, 10, -1, -1, -1},
|
|
new sbyte[] {-1, -1, -1, -1, -1, -1},
|
|
new sbyte[] {-1, -1, 8, -1, -1, -1},
|
|
new sbyte[] {-1, -1, 5, -1, -1, -1},
|
|
new sbyte[] {-1, -1, 6, -1, -1, -1},
|
|
new sbyte[] {-1, -1, 7, -1, -1, -1},
|
|
null,
|
|
new sbyte[] {-1, -1, 9, -1, -1, -1},
|
|
null,
|
|
null,
|
|
new sbyte[] {-1, 1, 2, 3, 4, 2}
|
|
};
|
|
|
|
|
|
[SuppressMessage("Microsoft.Performance", "CA1810:InitializeReferenceTypeStaticFieldsInline")]
|
|
// Reason for suppression: cannot have self-reference in array initializer.
|
|
static Guesser()
|
|
{
|
|
nextState[7] = nextState[2];
|
|
nextState[9] = nextState[2];
|
|
nextState[10] = nextState[2];
|
|
}
|
|
|
|
int NextState()
|
|
{
|
|
if (code == ScanBuff.EndOfFile)
|
|
return eofNum;
|
|
else
|
|
return nextState[state][map[code]];
|
|
}
|
|
#endregion
|
|
|
|
public Guesser(System.IO.Stream file) { SetSource(file); }
|
|
|
|
public void SetSource(System.IO.Stream source)
|
|
{
|
|
this.buffer = new BuildBuffer(source);
|
|
code = buffer.Read();
|
|
}
|
|
|
|
int Scan()
|
|
{
|
|
for (; ; )
|
|
{
|
|
int next;
|
|
state = currentStart;
|
|
while ((next = NextState()) == goStart)
|
|
code = buffer.Read();
|
|
|
|
state = next;
|
|
code = buffer.Read();
|
|
|
|
while ((next = NextState()) > eofNum)
|
|
{
|
|
state = next;
|
|
code = buffer.Read();
|
|
}
|
|
if (state <= maxAccept)
|
|
{
|
|
#region ActionSwitch
|
|
#pragma warning disable 162
|
|
switch (state)
|
|
{
|
|
case eofNum:
|
|
switch (currentStart)
|
|
{
|
|
case 11:
|
|
if (utfX == 0 && uppr == 0) return -1; /* raw ascii */
|
|
else if (uppr * 10 > utfX) return 0; /* default code page */
|
|
else return 65001; /* UTF-8 encoding */
|
|
break;
|
|
}
|
|
return EndToken;
|
|
case 1: // Recognized '{Upper128}', Shortest string "\xC0"
|
|
case 2: // Recognized '{Upper128}', Shortest string "\x80"
|
|
case 3: // Recognized '{Upper128}', Shortest string "\xE0"
|
|
case 4: // Recognized '{Upper128}', Shortest string "\xF0"
|
|
uppr++;
|
|
break;
|
|
case 5: // Recognized '{Utf8pfx4}{Utf8cont}', Shortest string "\xF0\x80"
|
|
uppr += 2;
|
|
break;
|
|
case 6: // Recognized '{Utf8pfx4}{Utf8cont}{2}', Shortest string "\xF0\x80\x80"
|
|
uppr += 3;
|
|
break;
|
|
case 7: // Recognized '{Utf8pfx4}{Utf8cont}{3}', Shortest string "\xF0\x80\x80\x80"
|
|
utfX += 3;
|
|
break;
|
|
case 8: // Recognized '{Utf8pfx3}{Utf8cont}', Shortest string "\xE0\x80"
|
|
uppr += 2;
|
|
break;
|
|
case 9: // Recognized '{Utf8pfx3}{Utf8cont}{2}', Shortest string "\xE0\x80\x80"
|
|
utfX += 2;
|
|
break;
|
|
case 10: // Recognized '{Utf8pfx2}{Utf8cont}', Shortest string "\xC0\x80"
|
|
utfX++;
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
#pragma warning restore 162
|
|
#endregion
|
|
}
|
|
}
|
|
}
|
|
} // end class Guesser
|
|
|
|
#endif // !BYTEMODE
|
|
#endregion
|
|
|
|
// End of code copied from embedded resource
|
|
|
|
} // end namespace
|