pascalabcnet/SyntaxTree/tree/SyntaxTreeStreamWriter.cs
AlexanderZemlyak 7b81e31a95
Multilingual support (#3278)
* Fix spython semantic error

* fixed bat, compiler and resources

* Переделали на кафедральном компе

* Post merge clean up

* Adapt code to new changes from master

* Squashed commit of the following:

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 Test for Global Keyword

* Add global_statement syntax tree node

* Move Tests

* Add SPythonGlobalStatementVisitor

* Add SyntaxVisitorError to SPythonGlobalVariableVisitor

* Squashed commit of the following:

commit 2cd248f986ecdd4c27337939539471a70e728a16
Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com>
Date:   Sun Sep 29 14:05:36 2024 +0300

    Update StandardSyntaxTreeConverter.cs

commit 6ca1c377f1d1be82176a89f0d1cdf627dc595e75
Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com>
Date:   Sun Sep 29 13:54:30 2024 +0300

    Update ListGeneratorNodesVisitor.cs

commit 64501e671207f09203fb3d92cd464e4196fa847b
Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com>
Date:   Sun Sep 29 13:49:44 2024 +0300

    Add ListGeneratorNodesVisitor

commit 469e38b298b076befa9650d3191a52858b40135f
Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com>
Date:   Sun Sep 29 13:07:56 2024 +0300

    Add list_generator node

commit 8c065cbea88b75b44711516c6c7627ef0da9d03b
Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com>
Date:   Sun Sep 29 12:56:04 2024 +0300

    Fix List Assign

commit ca3b11ec247ed8d92b6866c505cd6f8ba035492e
Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com>
Date:   Sun Sep 29 12:06:03 2024 +0300

    Fix Global Variables in Functions

commit f6c9f76346155e6611b118ab8bdaaecd41c2d7f0
Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com>
Date:   Sun Sep 29 11:27:14 2024 +0300

    Fix Assign with Type

commit 1b41dfed70dd94551457375832bea465d8b49d26
Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com>
Date:   Sun Sep 29 11:17:21 2024 +0300

    Fix Global Variables

commit 36d83320682079ad1b8a254eb2180998912e9464
Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com>
Date:   Sat Sep 28 20:59:29 2024 +0300

    Update AssignToVarConverterVisitor.cs

commit 660a33565af24a2fc56842a99a3c7bb4feda5408
Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com>
Date:   Sat Sep 28 20:20:44 2024 +0300

    Add Var and Assign Distinction to Visitor

commit 1098e5bf0072d3aef9c7a82af98a741b46f7f6bd
Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com>
Date:   Sat Sep 28 18:29:16 2024 +0300

    Create t1.pys

commit a8747cc41e55b2e4e28cda5ffc0c052c908a5c99
Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com>
Date:   Sat Sep 28 18:24:37 2024 +0300

    Move SymbolTable to AssignToVarConverterVisitor

commit b31fd297e6187998f9d21e238b39e674fab5021e
Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com>
Date:   Sat Sep 28 17:46:05 2024 +0300

    Add EraseGlobalNodeVisitor

commit c22a0342fad9a3d40823a0f3a94f067772b92db4
Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com>
Date:   Mon Sep 16 20:05:44 2024 +0300

    Squashed commit of the following:

    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 result Variable Name   to Local Variables

* Add node for SPython method call

* Add SPythonMethodCallVisitor

* Fix usage of currentFileName field

* Squashed commit of the following:

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 time dot time handle Visitor

* Move time dot time handeling to visitor only

* Delete test_indented.txt

* Create random1.pys

* Add Examples

* Squashed commit of the following:

commit 115ed2e1b7b361b35f0b213688ad0838e0bffa69
Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com>
Date:   Thu Nov 7 10:21:08 2024 +0300

    Add from import Handling

commit bdd3eb785e6c719201104497808e89dc20c4eacc
Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com>
Date:   Sun Nov 3 12:59:29 2024 +0300

    Add 'Import As'

commit e5747aa56e359633be366887d3cf67d1ec054701
Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com>
Date:   Sun Nov 3 11:08:50 2024 +0300

    Add Ident_list to import

commit 9d16fdb341b329adae45dec2bf6db04d8572675f
Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com>
Date:   Sun Nov 3 10:01:13 2024 +0300

    Move Import Handling to Visitor

commit d8a0e8f5ee840e3ff15caafd7a456f91e1f2a962
Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com>
Date:   Sat Nov 2 18:36:10 2024 +0300

    Rename of Productions Related to Import

commit 71282a457ab0c039a2f42c05249336d92ac76e7a
Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com>
Date:   Sat Nov 2 18:33:41 2024 +0300

    Move import to Statements

* Add new AST visitors call template

* Add syntax tree parameter

* Add SpecialSyntaxTreeConverter

* Add CollectNamesVisitor

* Read Symbols from Semantic Tree

* Add Visitor Renewaling

* Fix Usage of Standard Libraries

* Update AssignToVarConverterVisitor.cs

* Fix Foreach Node Visitor

* Refactor InterpreterVisitor (alpha version)

* Add Imports Nodes for Declarations

* Rename Method for Sending Object

* Fix Remove in interface_node

* Add ApplyConversionsAfterUsedModulesCompilation method to ILanguage interface

* Rename ApplyConcreteConversions to ApplyConversions

* Squashed commit of the following:

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

* Delete SPython files

* Fix case sensitive string comparison in some lambda classes

* Small fix in BaseLanguageInformation

* Revert changing Create string to constant in Pascal visitors

* Resolve some pull request issues

* Delete IndentArranger.exe

* Delete unused function in DomSyntaxTreeVisitor

* Update pabcnetc_clear/CommandConsoleCompiler.cs encoding

Co-authored-by: Sun Serega <sunserega2@gmail.com>

---------

Co-authored-by: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Co-authored-by: Владислав Крылов <krylov@sfedu.ru>
Co-authored-by: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com>
Co-authored-by: Sun Serega <sunserega2@gmail.com>
2025-06-17 18:34:44 +03:00

7425 lines
150 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/********************************************************************************************
Этот файл создан программой
PascalABC.NET: syntax tree generator v1.5(с) Водолазов Н., Ткачук А.В., Иванов С.О., 2007
Вручную не редактировать!
*********************************************************************************************/
using System;
using System.IO;
namespace PascalABCCompiler.SyntaxTree
{
public class SyntaxTreeStreamWriter:IVisitor
{
public BinaryWriter bw;
public void visit(expression _expression)
{
bw.Write((Int16)0);
write_expression(_expression);
}
public void write_expression(expression _expression)
{
write_declaration(_expression);
}
public void visit(syntax_tree_node _syntax_tree_node)
{
bw.Write((Int16)1);
write_syntax_tree_node(_syntax_tree_node);
}
public void write_syntax_tree_node(syntax_tree_node _syntax_tree_node)
{
if (_syntax_tree_node.source_context == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
if (_syntax_tree_node.source_context.begin_position == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_syntax_tree_node.source_context.begin_position.line_num);
bw.Write(_syntax_tree_node.source_context.begin_position.column_num);
}
if (_syntax_tree_node.source_context.end_position == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_syntax_tree_node.source_context.end_position.line_num);
bw.Write(_syntax_tree_node.source_context.end_position.column_num);
}
}
}
public void visit(statement _statement)
{
bw.Write((Int16)2);
write_statement(_statement);
}
public void write_statement(statement _statement)
{
write_declaration(_statement);
}
public void visit(statement_list _statement_list)
{
bw.Write((Int16)3);
write_statement_list(_statement_list);
}
public void write_statement_list(statement_list _statement_list)
{
write_statement(_statement_list);
if (_statement_list.subnodes == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_statement_list.subnodes.Count);
for(Int32 ssyy_i = 0; ssyy_i < _statement_list.subnodes.Count; ssyy_i++)
{
if (_statement_list.subnodes[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_statement_list.subnodes[ssyy_i].visit(this);
}
}
}
if (_statement_list.left_logical_bracket == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_statement_list.left_logical_bracket.visit(this);
}
if (_statement_list.right_logical_bracket == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_statement_list.right_logical_bracket.visit(this);
}
bw.Write(_statement_list.expr_lambda_body);
}
public void visit(ident _ident)
{
bw.Write((Int16)4);
write_ident(_ident);
}
public void write_ident(ident _ident)
{
write_addressed_value_funcname(_ident);
if (_ident.name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_ident.name);
}
}
public void visit(assign _assign)
{
bw.Write((Int16)5);
write_assign(_assign);
}
public void write_assign(assign _assign)
{
write_statement(_assign);
if (_assign.to == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_assign.to.visit(this);
}
if (_assign.from == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_assign.from.visit(this);
}
bw.Write((byte)_assign.operator_type);
}
public void visit(bin_expr _bin_expr)
{
bw.Write((Int16)6);
write_bin_expr(_bin_expr);
}
public void write_bin_expr(bin_expr _bin_expr)
{
write_addressed_value(_bin_expr);
if (_bin_expr.left == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_bin_expr.left.visit(this);
}
if (_bin_expr.right == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_bin_expr.right.visit(this);
}
bw.Write((byte)_bin_expr.operation_type);
}
public void visit(un_expr _un_expr)
{
bw.Write((Int16)7);
write_un_expr(_un_expr);
}
public void write_un_expr(un_expr _un_expr)
{
write_addressed_value(_un_expr);
if (_un_expr.subnode == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_un_expr.subnode.visit(this);
}
bw.Write((byte)_un_expr.operation_type);
}
public void visit(const_node _const_node)
{
bw.Write((Int16)8);
write_const_node(_const_node);
}
public void write_const_node(const_node _const_node)
{
write_addressed_value(_const_node);
}
public void visit(bool_const _bool_const)
{
bw.Write((Int16)9);
write_bool_const(_bool_const);
}
public void write_bool_const(bool_const _bool_const)
{
write_const_node(_bool_const);
bw.Write(_bool_const.val);
}
public void visit(int32_const _int32_const)
{
bw.Write((Int16)10);
write_int32_const(_int32_const);
}
public void write_int32_const(int32_const _int32_const)
{
write_const_node(_int32_const);
bw.Write(_int32_const.val);
}
public void visit(double_const _double_const)
{
bw.Write((Int16)11);
write_double_const(_double_const);
}
public void write_double_const(double_const _double_const)
{
write_const_node(_double_const);
bw.Write(_double_const.val);
}
public void visit(subprogram_body _subprogram_body)
{
bw.Write((Int16)12);
write_subprogram_body(_subprogram_body);
}
public void write_subprogram_body(subprogram_body _subprogram_body)
{
write_syntax_tree_node(_subprogram_body);
if (_subprogram_body.subprogram_code == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_subprogram_body.subprogram_code.visit(this);
}
if (_subprogram_body.subprogram_defs == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_subprogram_body.subprogram_defs.visit(this);
}
}
public void visit(addressed_value _addressed_value)
{
bw.Write((Int16)13);
write_addressed_value(_addressed_value);
}
public void write_addressed_value(addressed_value _addressed_value)
{
write_expression(_addressed_value);
}
public void visit(type_definition _type_definition)
{
bw.Write((Int16)14);
write_type_definition(_type_definition);
}
public void write_type_definition(type_definition _type_definition)
{
write_declaration(_type_definition);
if (_type_definition.attr_list == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_type_definition.attr_list.visit(this);
}
}
public void visit(roof_dereference _roof_dereference)
{
bw.Write((Int16)15);
write_roof_dereference(_roof_dereference);
}
public void write_roof_dereference(roof_dereference _roof_dereference)
{
write_dereference(_roof_dereference);
}
public void visit(named_type_reference _named_type_reference)
{
bw.Write((Int16)16);
write_named_type_reference(_named_type_reference);
}
public void write_named_type_reference(named_type_reference _named_type_reference)
{
write_type_definition(_named_type_reference);
if (_named_type_reference.names == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_named_type_reference.names.Count);
for(Int32 ssyy_i = 0; ssyy_i < _named_type_reference.names.Count; ssyy_i++)
{
if (_named_type_reference.names[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_named_type_reference.names[ssyy_i].visit(this);
}
}
}
}
public void visit(variable_definitions _variable_definitions)
{
bw.Write((Int16)17);
write_variable_definitions(_variable_definitions);
}
public void write_variable_definitions(variable_definitions _variable_definitions)
{
write_declaration(_variable_definitions);
if (_variable_definitions.var_definitions == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_variable_definitions.var_definitions.Count);
for(Int32 ssyy_i = 0; ssyy_i < _variable_definitions.var_definitions.Count; ssyy_i++)
{
if (_variable_definitions.var_definitions[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_variable_definitions.var_definitions[ssyy_i].visit(this);
}
}
}
}
public void visit(ident_list _ident_list)
{
bw.Write((Int16)18);
write_ident_list(_ident_list);
}
public void write_ident_list(ident_list _ident_list)
{
write_syntax_tree_node(_ident_list);
if (_ident_list.idents == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_ident_list.idents.Count);
for(Int32 ssyy_i = 0; ssyy_i < _ident_list.idents.Count; ssyy_i++)
{
if (_ident_list.idents[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_ident_list.idents[ssyy_i].visit(this);
}
}
}
}
public void visit(var_def_statement _var_def_statement)
{
bw.Write((Int16)19);
write_var_def_statement(_var_def_statement);
}
public void write_var_def_statement(var_def_statement _var_def_statement)
{
write_declaration(_var_def_statement);
if (_var_def_statement.vars == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_var_def_statement.vars.visit(this);
}
if (_var_def_statement.vars_type == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_var_def_statement.vars_type.visit(this);
}
if (_var_def_statement.inital_value == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_var_def_statement.inital_value.visit(this);
}
bw.Write((byte)_var_def_statement.var_attr);
bw.Write(_var_def_statement.is_event);
}
public void visit(declaration _declaration)
{
bw.Write((Int16)20);
write_declaration(_declaration);
}
public void write_declaration(declaration _declaration)
{
write_syntax_tree_node(_declaration);
if (_declaration.attributes == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_declaration.attributes.visit(this);
}
}
public void visit(declarations _declarations)
{
bw.Write((Int16)21);
write_declarations(_declarations);
}
public void write_declarations(declarations _declarations)
{
write_syntax_tree_node(_declarations);
if (_declarations.defs == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_declarations.defs.Count);
for(Int32 ssyy_i = 0; ssyy_i < _declarations.defs.Count; ssyy_i++)
{
if (_declarations.defs[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_declarations.defs[ssyy_i].visit(this);
}
}
}
}
public void visit(program_tree _program_tree)
{
bw.Write((Int16)22);
write_program_tree(_program_tree);
}
public void write_program_tree(program_tree _program_tree)
{
write_syntax_tree_node(_program_tree);
if (_program_tree.compilation_units == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_program_tree.compilation_units.Count);
for(Int32 ssyy_i = 0; ssyy_i < _program_tree.compilation_units.Count; ssyy_i++)
{
if (_program_tree.compilation_units[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_program_tree.compilation_units[ssyy_i].visit(this);
}
}
}
}
public void visit(program_name _program_name)
{
bw.Write((Int16)23);
write_program_name(_program_name);
}
public void write_program_name(program_name _program_name)
{
write_syntax_tree_node(_program_name);
if (_program_name.prog_name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_program_name.prog_name.visit(this);
}
}
public void visit(string_const _string_const)
{
bw.Write((Int16)24);
write_string_const(_string_const);
}
public void write_string_const(string_const _string_const)
{
write_literal(_string_const);
if (_string_const.Value == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_string_const.Value);
}
}
public void visit(expression_list _expression_list)
{
bw.Write((Int16)25);
write_expression_list(_expression_list);
}
public void write_expression_list(expression_list _expression_list)
{
write_syntax_tree_node(_expression_list);
if (_expression_list.expressions == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_expression_list.expressions.Count);
for(Int32 ssyy_i = 0; ssyy_i < _expression_list.expressions.Count; ssyy_i++)
{
if (_expression_list.expressions[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_expression_list.expressions[ssyy_i].visit(this);
}
}
}
}
public void visit(dereference _dereference)
{
bw.Write((Int16)26);
write_dereference(_dereference);
}
public void write_dereference(dereference _dereference)
{
write_addressed_value_funcname(_dereference);
if (_dereference.dereferencing_value == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_dereference.dereferencing_value.visit(this);
}
}
public void visit(indexer _indexer)
{
bw.Write((Int16)27);
write_indexer(_indexer);
}
public void write_indexer(indexer _indexer)
{
write_dereference(_indexer);
if (_indexer.indexes == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_indexer.indexes.visit(this);
}
}
public void visit(for_node _for_node)
{
bw.Write((Int16)28);
write_for_node(_for_node);
}
public void write_for_node(for_node _for_node)
{
write_statement(_for_node);
if (_for_node.loop_variable == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_for_node.loop_variable.visit(this);
}
if (_for_node.initial_value == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_for_node.initial_value.visit(this);
}
if (_for_node.finish_value == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_for_node.finish_value.visit(this);
}
if (_for_node.statements == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_for_node.statements.visit(this);
}
bw.Write((byte)_for_node.cycle_type);
if (_for_node.increment_value == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_for_node.increment_value.visit(this);
}
if (_for_node.type_name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_for_node.type_name.visit(this);
}
bw.Write(_for_node.create_loop_variable);
}
public void visit(repeat_node _repeat_node)
{
bw.Write((Int16)29);
write_repeat_node(_repeat_node);
}
public void write_repeat_node(repeat_node _repeat_node)
{
write_statement(_repeat_node);
if (_repeat_node.statements == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_repeat_node.statements.visit(this);
}
if (_repeat_node.expr == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_repeat_node.expr.visit(this);
}
}
public void visit(while_node _while_node)
{
bw.Write((Int16)30);
write_while_node(_while_node);
}
public void write_while_node(while_node _while_node)
{
write_statement(_while_node);
if (_while_node.expr == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_while_node.expr.visit(this);
}
if (_while_node.statements == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_while_node.statements.visit(this);
}
bw.Write((byte)_while_node.CycleType);
}
public void visit(if_node _if_node)
{
bw.Write((Int16)31);
write_if_node(_if_node);
}
public void write_if_node(if_node _if_node)
{
write_statement(_if_node);
if (_if_node.condition == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_if_node.condition.visit(this);
}
if (_if_node.then_body == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_if_node.then_body.visit(this);
}
if (_if_node.else_body == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_if_node.else_body.visit(this);
}
}
public void visit(ref_type _ref_type)
{
bw.Write((Int16)32);
write_ref_type(_ref_type);
}
public void write_ref_type(ref_type _ref_type)
{
write_type_definition(_ref_type);
if (_ref_type.pointed_to == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_ref_type.pointed_to.visit(this);
}
}
public void visit(diapason _diapason)
{
bw.Write((Int16)33);
write_diapason(_diapason);
}
public void write_diapason(diapason _diapason)
{
write_type_definition(_diapason);
if (_diapason.left == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_diapason.left.visit(this);
}
if (_diapason.right == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_diapason.right.visit(this);
}
}
public void visit(indexers_types _indexers_types)
{
bw.Write((Int16)34);
write_indexers_types(_indexers_types);
}
public void write_indexers_types(indexers_types _indexers_types)
{
write_type_definition(_indexers_types);
if (_indexers_types.indexers == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_indexers_types.indexers.Count);
for(Int32 ssyy_i = 0; ssyy_i < _indexers_types.indexers.Count; ssyy_i++)
{
if (_indexers_types.indexers[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_indexers_types.indexers[ssyy_i].visit(this);
}
}
}
}
public void visit(array_type _array_type)
{
bw.Write((Int16)35);
write_array_type(_array_type);
}
public void write_array_type(array_type _array_type)
{
write_type_definition(_array_type);
if (_array_type.indexers == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_array_type.indexers.visit(this);
}
if (_array_type.elements_type == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_array_type.elements_type.visit(this);
}
}
public void visit(label_definitions _label_definitions)
{
bw.Write((Int16)36);
write_label_definitions(_label_definitions);
}
public void write_label_definitions(label_definitions _label_definitions)
{
write_declaration(_label_definitions);
if (_label_definitions.labels == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_label_definitions.labels.visit(this);
}
}
public void visit(procedure_attribute _procedure_attribute)
{
bw.Write((Int16)37);
write_procedure_attribute(_procedure_attribute);
}
public void write_procedure_attribute(procedure_attribute _procedure_attribute)
{
write_ident(_procedure_attribute);
bw.Write((byte)_procedure_attribute.attribute_type);
}
public void visit(typed_parameters _typed_parameters)
{
bw.Write((Int16)38);
write_typed_parameters(_typed_parameters);
}
public void write_typed_parameters(typed_parameters _typed_parameters)
{
write_declaration(_typed_parameters);
if (_typed_parameters.idents == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_typed_parameters.idents.visit(this);
}
if (_typed_parameters.vars_type == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_typed_parameters.vars_type.visit(this);
}
bw.Write((byte)_typed_parameters.param_kind);
if (_typed_parameters.inital_value == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_typed_parameters.inital_value.visit(this);
}
}
public void visit(formal_parameters _formal_parameters)
{
bw.Write((Int16)39);
write_formal_parameters(_formal_parameters);
}
public void write_formal_parameters(formal_parameters _formal_parameters)
{
write_syntax_tree_node(_formal_parameters);
if (_formal_parameters.params_list == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_formal_parameters.params_list.Count);
for(Int32 ssyy_i = 0; ssyy_i < _formal_parameters.params_list.Count; ssyy_i++)
{
if (_formal_parameters.params_list[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_formal_parameters.params_list[ssyy_i].visit(this);
}
}
}
}
public void visit(procedure_attributes_list _procedure_attributes_list)
{
bw.Write((Int16)40);
write_procedure_attributes_list(_procedure_attributes_list);
}
public void write_procedure_attributes_list(procedure_attributes_list _procedure_attributes_list)
{
write_syntax_tree_node(_procedure_attributes_list);
if (_procedure_attributes_list.proc_attributes == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_procedure_attributes_list.proc_attributes.Count);
for(Int32 ssyy_i = 0; ssyy_i < _procedure_attributes_list.proc_attributes.Count; ssyy_i++)
{
if (_procedure_attributes_list.proc_attributes[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_procedure_attributes_list.proc_attributes[ssyy_i].visit(this);
}
}
}
}
public void visit(procedure_header _procedure_header)
{
bw.Write((Int16)41);
write_procedure_header(_procedure_header);
}
public void write_procedure_header(procedure_header _procedure_header)
{
write_type_definition(_procedure_header);
if (_procedure_header.parameters == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_procedure_header.parameters.visit(this);
}
if (_procedure_header.proc_attributes == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_procedure_header.proc_attributes.visit(this);
}
if (_procedure_header.name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_procedure_header.name.visit(this);
}
bw.Write(_procedure_header.of_object);
bw.Write(_procedure_header.class_keyword);
if (_procedure_header.template_args == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_procedure_header.template_args.visit(this);
}
if (_procedure_header.where_defs == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_procedure_header.where_defs.visit(this);
}
}
public void visit(function_header _function_header)
{
bw.Write((Int16)42);
write_function_header(_function_header);
}
public void write_function_header(function_header _function_header)
{
write_procedure_header(_function_header);
if (_function_header.return_type == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_function_header.return_type.visit(this);
}
}
public void visit(procedure_definition _procedure_definition)
{
bw.Write((Int16)43);
write_procedure_definition(_procedure_definition);
}
public void write_procedure_definition(procedure_definition _procedure_definition)
{
write_declaration(_procedure_definition);
if (_procedure_definition.proc_header == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_procedure_definition.proc_header.visit(this);
}
if (_procedure_definition.proc_body == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_procedure_definition.proc_body.visit(this);
}
bw.Write(_procedure_definition.is_short_definition);
}
public void visit(type_declaration _type_declaration)
{
bw.Write((Int16)44);
write_type_declaration(_type_declaration);
}
public void write_type_declaration(type_declaration _type_declaration)
{
write_declaration(_type_declaration);
if (_type_declaration.type_name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_type_declaration.type_name.visit(this);
}
if (_type_declaration.type_def == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_type_declaration.type_def.visit(this);
}
}
public void visit(type_declarations _type_declarations)
{
bw.Write((Int16)45);
write_type_declarations(_type_declarations);
}
public void write_type_declarations(type_declarations _type_declarations)
{
write_declaration(_type_declarations);
if (_type_declarations.types_decl == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_type_declarations.types_decl.Count);
for(Int32 ssyy_i = 0; ssyy_i < _type_declarations.types_decl.Count; ssyy_i++)
{
if (_type_declarations.types_decl[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_type_declarations.types_decl[ssyy_i].visit(this);
}
}
}
}
public void visit(simple_const_definition _simple_const_definition)
{
bw.Write((Int16)46);
write_simple_const_definition(_simple_const_definition);
}
public void write_simple_const_definition(simple_const_definition _simple_const_definition)
{
write_const_definition(_simple_const_definition);
}
public void visit(typed_const_definition _typed_const_definition)
{
bw.Write((Int16)47);
write_typed_const_definition(_typed_const_definition);
}
public void write_typed_const_definition(typed_const_definition _typed_const_definition)
{
write_const_definition(_typed_const_definition);
if (_typed_const_definition.const_type == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_typed_const_definition.const_type.visit(this);
}
}
public void visit(const_definition _const_definition)
{
bw.Write((Int16)48);
write_const_definition(_const_definition);
}
public void write_const_definition(const_definition _const_definition)
{
write_declaration(_const_definition);
if (_const_definition.const_name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_const_definition.const_name.visit(this);
}
if (_const_definition.const_value == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_const_definition.const_value.visit(this);
}
}
public void visit(consts_definitions_list _consts_definitions_list)
{
bw.Write((Int16)49);
write_consts_definitions_list(_consts_definitions_list);
}
public void write_consts_definitions_list(consts_definitions_list _consts_definitions_list)
{
write_declaration(_consts_definitions_list);
if (_consts_definitions_list.const_defs == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_consts_definitions_list.const_defs.Count);
for(Int32 ssyy_i = 0; ssyy_i < _consts_definitions_list.const_defs.Count; ssyy_i++)
{
if (_consts_definitions_list.const_defs[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_consts_definitions_list.const_defs[ssyy_i].visit(this);
}
}
}
}
public void visit(unit_name _unit_name)
{
bw.Write((Int16)50);
write_unit_name(_unit_name);
}
public void write_unit_name(unit_name _unit_name)
{
write_syntax_tree_node(_unit_name);
if (_unit_name.idunit_name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_unit_name.idunit_name.visit(this);
}
bw.Write((byte)_unit_name.HeaderKeyword);
}
public void visit(unit_or_namespace _unit_or_namespace)
{
bw.Write((Int16)51);
write_unit_or_namespace(_unit_or_namespace);
}
public void write_unit_or_namespace(unit_or_namespace _unit_or_namespace)
{
write_syntax_tree_node(_unit_or_namespace);
if (_unit_or_namespace.name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_unit_or_namespace.name.visit(this);
}
}
public void visit(uses_unit_in _uses_unit_in)
{
bw.Write((Int16)52);
write_uses_unit_in(_uses_unit_in);
}
public void write_uses_unit_in(uses_unit_in _uses_unit_in)
{
write_unit_or_namespace(_uses_unit_in);
if (_uses_unit_in.in_file == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_uses_unit_in.in_file.visit(this);
}
}
public void visit(uses_list _uses_list)
{
bw.Write((Int16)53);
write_uses_list(_uses_list);
}
public void write_uses_list(uses_list _uses_list)
{
write_syntax_tree_node(_uses_list);
if (_uses_list.units == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_uses_list.units.Count);
for(Int32 ssyy_i = 0; ssyy_i < _uses_list.units.Count; ssyy_i++)
{
if (_uses_list.units[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_uses_list.units[ssyy_i].visit(this);
}
}
}
}
public void visit(program_body _program_body)
{
bw.Write((Int16)54);
write_program_body(_program_body);
}
public void write_program_body(program_body _program_body)
{
write_syntax_tree_node(_program_body);
if (_program_body.used_units == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_program_body.used_units.visit(this);
}
if (_program_body.program_definitions == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_program_body.program_definitions.visit(this);
}
if (_program_body.program_code == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_program_body.program_code.visit(this);
}
if (_program_body.using_list == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_program_body.using_list.visit(this);
}
}
public void visit(compilation_unit _compilation_unit)
{
bw.Write((Int16)55);
write_compilation_unit(_compilation_unit);
}
public void write_compilation_unit(compilation_unit _compilation_unit)
{
write_syntax_tree_node(_compilation_unit);
if (_compilation_unit.file_name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_compilation_unit.file_name);
}
if (_compilation_unit.compiler_directives == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_compilation_unit.compiler_directives.Count);
for(Int32 ssyy_i = 0; ssyy_i < _compilation_unit.compiler_directives.Count; ssyy_i++)
{
if (_compilation_unit.compiler_directives[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_compilation_unit.compiler_directives[ssyy_i].visit(this);
}
}
}
if (_compilation_unit.Language == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_compilation_unit.Language);
}
}
public void visit(unit_module _unit_module)
{
bw.Write((Int16)56);
write_unit_module(_unit_module);
}
public void write_unit_module(unit_module _unit_module)
{
write_compilation_unit(_unit_module);
if (_unit_module.unit_name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_unit_module.unit_name.visit(this);
}
if (_unit_module.interface_part == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_unit_module.interface_part.visit(this);
}
if (_unit_module.implementation_part == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_unit_module.implementation_part.visit(this);
}
if (_unit_module.initialization_part == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_unit_module.initialization_part.visit(this);
}
if (_unit_module.finalization_part == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_unit_module.finalization_part.visit(this);
}
if (_unit_module.attributes == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_unit_module.attributes.visit(this);
}
}
public void visit(program_module _program_module)
{
bw.Write((Int16)57);
write_program_module(_program_module);
}
public void write_program_module(program_module _program_module)
{
write_compilation_unit(_program_module);
if (_program_module.program_name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_program_module.program_name.visit(this);
}
if (_program_module.used_units == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_program_module.used_units.visit(this);
}
if (_program_module.program_block == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_program_module.program_block.visit(this);
}
if (_program_module.using_namespaces == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_program_module.using_namespaces.visit(this);
}
}
public void visit(hex_constant _hex_constant)
{
bw.Write((Int16)58);
write_hex_constant(_hex_constant);
}
public void write_hex_constant(hex_constant _hex_constant)
{
write_int64_const(_hex_constant);
}
public void visit(get_address _get_address)
{
bw.Write((Int16)59);
write_get_address(_get_address);
}
public void write_get_address(get_address _get_address)
{
write_addressed_value_funcname(_get_address);
if (_get_address.address_of == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_get_address.address_of.visit(this);
}
}
public void visit(case_variant _case_variant)
{
bw.Write((Int16)60);
write_case_variant(_case_variant);
}
public void write_case_variant(case_variant _case_variant)
{
write_statement(_case_variant);
if (_case_variant.conditions == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_case_variant.conditions.visit(this);
}
if (_case_variant.exec_if_true == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_case_variant.exec_if_true.visit(this);
}
}
public void visit(case_node _case_node)
{
bw.Write((Int16)61);
write_case_node(_case_node);
}
public void write_case_node(case_node _case_node)
{
write_statement(_case_node);
if (_case_node.param == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_case_node.param.visit(this);
}
if (_case_node.conditions == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_case_node.conditions.visit(this);
}
if (_case_node.else_statement == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_case_node.else_statement.visit(this);
}
}
public void visit(method_name _method_name)
{
bw.Write((Int16)62);
write_method_name(_method_name);
}
public void write_method_name(method_name _method_name)
{
write_syntax_tree_node(_method_name);
if (_method_name.ln == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_method_name.ln.Count);
for(Int32 ssyy_i = 0; ssyy_i < _method_name.ln.Count; ssyy_i++)
{
if (_method_name.ln[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_method_name.ln[ssyy_i].visit(this);
}
}
}
if (_method_name.class_name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_method_name.class_name.visit(this);
}
if (_method_name.meth_name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_method_name.meth_name.visit(this);
}
if (_method_name.explicit_interface_name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_method_name.explicit_interface_name.visit(this);
}
}
public void visit(dot_node _dot_node)
{
bw.Write((Int16)63);
write_dot_node(_dot_node);
}
public void write_dot_node(dot_node _dot_node)
{
write_addressed_value_funcname(_dot_node);
if (_dot_node.left == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_dot_node.left.visit(this);
}
if (_dot_node.right == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_dot_node.right.visit(this);
}
}
public void visit(empty_statement _empty_statement)
{
bw.Write((Int16)64);
write_empty_statement(_empty_statement);
}
public void write_empty_statement(empty_statement _empty_statement)
{
write_statement(_empty_statement);
}
public void visit(goto_statement _goto_statement)
{
bw.Write((Int16)65);
write_goto_statement(_goto_statement);
}
public void write_goto_statement(goto_statement _goto_statement)
{
write_statement(_goto_statement);
if (_goto_statement.label == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_goto_statement.label.visit(this);
}
}
public void visit(labeled_statement _labeled_statement)
{
bw.Write((Int16)66);
write_labeled_statement(_labeled_statement);
}
public void write_labeled_statement(labeled_statement _labeled_statement)
{
write_statement(_labeled_statement);
if (_labeled_statement.label_name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_labeled_statement.label_name.visit(this);
}
if (_labeled_statement.to_statement == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_labeled_statement.to_statement.visit(this);
}
}
public void visit(with_statement _with_statement)
{
bw.Write((Int16)67);
write_with_statement(_with_statement);
}
public void write_with_statement(with_statement _with_statement)
{
write_statement(_with_statement);
if (_with_statement.what_do == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_with_statement.what_do.visit(this);
}
if (_with_statement.do_with == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_with_statement.do_with.visit(this);
}
}
public void visit(method_call _method_call)
{
bw.Write((Int16)68);
write_method_call(_method_call);
}
public void write_method_call(method_call _method_call)
{
write_dereference(_method_call);
if (_method_call.parameters == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_method_call.parameters.visit(this);
}
}
public void visit(pascal_set_constant _pascal_set_constant)
{
bw.Write((Int16)69);
write_pascal_set_constant(_pascal_set_constant);
}
public void write_pascal_set_constant(pascal_set_constant _pascal_set_constant)
{
write_addressed_value(_pascal_set_constant);
if (_pascal_set_constant.values == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_pascal_set_constant.values.visit(this);
}
}
public void visit(array_const _array_const)
{
bw.Write((Int16)70);
write_array_const(_array_const);
}
public void write_array_const(array_const _array_const)
{
write_expression(_array_const);
if (_array_const.elements == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_array_const.elements.visit(this);
}
}
public void visit(write_accessor_name _write_accessor_name)
{
bw.Write((Int16)71);
write_write_accessor_name(_write_accessor_name);
}
public void write_write_accessor_name(write_accessor_name _write_accessor_name)
{
write_syntax_tree_node(_write_accessor_name);
if (_write_accessor_name.accessor_name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_write_accessor_name.accessor_name.visit(this);
}
if (_write_accessor_name.pr == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_write_accessor_name.pr.visit(this);
}
if (_write_accessor_name.statment_for_formatting == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_write_accessor_name.statment_for_formatting.visit(this);
}
}
public void visit(read_accessor_name _read_accessor_name)
{
bw.Write((Int16)72);
write_read_accessor_name(_read_accessor_name);
}
public void write_read_accessor_name(read_accessor_name _read_accessor_name)
{
write_syntax_tree_node(_read_accessor_name);
if (_read_accessor_name.accessor_name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_read_accessor_name.accessor_name.visit(this);
}
if (_read_accessor_name.pr == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_read_accessor_name.pr.visit(this);
}
if (_read_accessor_name.expression_for_formatting == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_read_accessor_name.expression_for_formatting.visit(this);
}
}
public void visit(property_accessors _property_accessors)
{
bw.Write((Int16)73);
write_property_accessors(_property_accessors);
}
public void write_property_accessors(property_accessors _property_accessors)
{
write_syntax_tree_node(_property_accessors);
if (_property_accessors.read_accessor == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_property_accessors.read_accessor.visit(this);
}
if (_property_accessors.write_accessor == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_property_accessors.write_accessor.visit(this);
}
}
public void visit(simple_property _simple_property)
{
bw.Write((Int16)74);
write_simple_property(_simple_property);
}
public void write_simple_property(simple_property _simple_property)
{
write_declaration(_simple_property);
if (_simple_property.property_name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_simple_property.property_name.visit(this);
}
if (_simple_property.property_type == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_simple_property.property_type.visit(this);
}
if (_simple_property.index_expression == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_simple_property.index_expression.visit(this);
}
if (_simple_property.accessors == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_simple_property.accessors.visit(this);
}
if (_simple_property.array_default == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_simple_property.array_default.visit(this);
}
if (_simple_property.parameter_list == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_simple_property.parameter_list.visit(this);
}
bw.Write((byte)_simple_property.attr);
bw.Write((byte)_simple_property.virt_over_none_attr);
bw.Write(_simple_property.is_auto);
if (_simple_property.initial_value == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_simple_property.initial_value.visit(this);
}
}
public void visit(index_property _index_property)
{
bw.Write((Int16)75);
write_index_property(_index_property);
}
public void write_index_property(index_property _index_property)
{
write_simple_property(_index_property);
if (_index_property.property_parametres == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_index_property.property_parametres.visit(this);
}
if (_index_property.is_default == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_index_property.is_default.visit(this);
}
}
public void visit(class_members _class_members)
{
bw.Write((Int16)76);
write_class_members(_class_members);
}
public void write_class_members(class_members _class_members)
{
write_syntax_tree_node(_class_members);
if (_class_members.members == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_class_members.members.Count);
for(Int32 ssyy_i = 0; ssyy_i < _class_members.members.Count; ssyy_i++)
{
if (_class_members.members[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_class_members.members[ssyy_i].visit(this);
}
}
}
if (_class_members.access_mod == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_class_members.access_mod.visit(this);
}
}
public void visit(access_modifer_node _access_modifer_node)
{
bw.Write((Int16)77);
write_access_modifer_node(_access_modifer_node);
}
public void write_access_modifer_node(access_modifer_node _access_modifer_node)
{
write_syntax_tree_node(_access_modifer_node);
bw.Write((byte)_access_modifer_node.access_level);
}
public void visit(class_body_list _class_body_list)
{
bw.Write((Int16)78);
write_class_body_list(_class_body_list);
}
public void write_class_body_list(class_body_list _class_body_list)
{
write_syntax_tree_node(_class_body_list);
if (_class_body_list.class_def_blocks == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_class_body_list.class_def_blocks.Count);
for(Int32 ssyy_i = 0; ssyy_i < _class_body_list.class_def_blocks.Count; ssyy_i++)
{
if (_class_body_list.class_def_blocks[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_class_body_list.class_def_blocks[ssyy_i].visit(this);
}
}
}
}
public void visit(class_definition _class_definition)
{
bw.Write((Int16)79);
write_class_definition(_class_definition);
}
public void write_class_definition(class_definition _class_definition)
{
write_type_definition(_class_definition);
if (_class_definition.class_parents == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_class_definition.class_parents.visit(this);
}
if (_class_definition.body == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_class_definition.body.visit(this);
}
bw.Write((byte)_class_definition.keyword);
if (_class_definition.template_args == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_class_definition.template_args.visit(this);
}
if (_class_definition.where_section == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_class_definition.where_section.visit(this);
}
bw.Write((byte)_class_definition.attribute);
bw.Write(_class_definition.is_auto);
}
public void visit(default_indexer_property_node _default_indexer_property_node)
{
bw.Write((Int16)80);
write_default_indexer_property_node(_default_indexer_property_node);
}
public void write_default_indexer_property_node(default_indexer_property_node _default_indexer_property_node)
{
write_syntax_tree_node(_default_indexer_property_node);
}
public void visit(known_type_definition _known_type_definition)
{
bw.Write((Int16)81);
write_known_type_definition(_known_type_definition);
}
public void write_known_type_definition(known_type_definition _known_type_definition)
{
write_type_definition(_known_type_definition);
bw.Write((byte)_known_type_definition.tp);
if (_known_type_definition.unit_name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_known_type_definition.unit_name.visit(this);
}
}
public void visit(set_type_definition _set_type_definition)
{
bw.Write((Int16)82);
write_set_type_definition(_set_type_definition);
}
public void write_set_type_definition(set_type_definition _set_type_definition)
{
write_type_definition(_set_type_definition);
if (_set_type_definition.of_type == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_set_type_definition.of_type.visit(this);
}
}
public void visit(record_const_definition _record_const_definition)
{
bw.Write((Int16)83);
write_record_const_definition(_record_const_definition);
}
public void write_record_const_definition(record_const_definition _record_const_definition)
{
write_statement(_record_const_definition);
if (_record_const_definition.name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_record_const_definition.name.visit(this);
}
if (_record_const_definition.val == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_record_const_definition.val.visit(this);
}
}
public void visit(record_const _record_const)
{
bw.Write((Int16)84);
write_record_const(_record_const);
}
public void write_record_const(record_const _record_const)
{
write_expression(_record_const);
if (_record_const.rec_consts == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_record_const.rec_consts.Count);
for(Int32 ssyy_i = 0; ssyy_i < _record_const.rec_consts.Count; ssyy_i++)
{
if (_record_const.rec_consts[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_record_const.rec_consts[ssyy_i].visit(this);
}
}
}
}
public void visit(record_type _record_type)
{
bw.Write((Int16)85);
write_record_type(_record_type);
}
public void write_record_type(record_type _record_type)
{
write_type_definition(_record_type);
if (_record_type.parts == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_record_type.parts.visit(this);
}
if (_record_type.base_type == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_record_type.base_type.visit(this);
}
}
public void visit(enum_type_definition _enum_type_definition)
{
bw.Write((Int16)86);
write_enum_type_definition(_enum_type_definition);
}
public void write_enum_type_definition(enum_type_definition _enum_type_definition)
{
write_type_definition(_enum_type_definition);
if (_enum_type_definition.enumerators == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_enum_type_definition.enumerators.visit(this);
}
}
public void visit(char_const _char_const)
{
bw.Write((Int16)87);
write_char_const(_char_const);
}
public void write_char_const(char_const _char_const)
{
write_literal(_char_const);
bw.Write(_char_const.cconst);
}
public void visit(raise_statement _raise_statement)
{
bw.Write((Int16)88);
write_raise_statement(_raise_statement);
}
public void write_raise_statement(raise_statement _raise_statement)
{
write_statement(_raise_statement);
if (_raise_statement.excep == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_raise_statement.excep.visit(this);
}
}
public void visit(sharp_char_const _sharp_char_const)
{
bw.Write((Int16)89);
write_sharp_char_const(_sharp_char_const);
}
public void write_sharp_char_const(sharp_char_const _sharp_char_const)
{
write_literal(_sharp_char_const);
bw.Write((byte)_sharp_char_const.char_num);
}
public void visit(literal_const_line _literal_const_line)
{
bw.Write((Int16)90);
write_literal_const_line(_literal_const_line);
}
public void write_literal_const_line(literal_const_line _literal_const_line)
{
write_literal(_literal_const_line);
if (_literal_const_line.literals == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_literal_const_line.literals.Count);
for(Int32 ssyy_i = 0; ssyy_i < _literal_const_line.literals.Count; ssyy_i++)
{
if (_literal_const_line.literals[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_literal_const_line.literals[ssyy_i].visit(this);
}
}
}
}
public void visit(string_num_definition _string_num_definition)
{
bw.Write((Int16)91);
write_string_num_definition(_string_num_definition);
}
public void write_string_num_definition(string_num_definition _string_num_definition)
{
write_type_definition(_string_num_definition);
if (_string_num_definition.num_of_symbols == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_string_num_definition.num_of_symbols.visit(this);
}
if (_string_num_definition.name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_string_num_definition.name.visit(this);
}
}
public void visit(variant _variant)
{
bw.Write((Int16)92);
write_variant(_variant);
}
public void write_variant(variant _variant)
{
write_syntax_tree_node(_variant);
if (_variant.vars == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_variant.vars.visit(this);
}
if (_variant.vars_type == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_variant.vars_type.visit(this);
}
}
public void visit(variant_list _variant_list)
{
bw.Write((Int16)93);
write_variant_list(_variant_list);
}
public void write_variant_list(variant_list _variant_list)
{
write_syntax_tree_node(_variant_list);
if (_variant_list.vars == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_variant_list.vars.Count);
for(Int32 ssyy_i = 0; ssyy_i < _variant_list.vars.Count; ssyy_i++)
{
if (_variant_list.vars[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_variant_list.vars[ssyy_i].visit(this);
}
}
}
}
public void visit(variant_type _variant_type)
{
bw.Write((Int16)94);
write_variant_type(_variant_type);
}
public void write_variant_type(variant_type _variant_type)
{
write_syntax_tree_node(_variant_type);
if (_variant_type.case_exprs == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_variant_type.case_exprs.visit(this);
}
if (_variant_type.parts == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_variant_type.parts.visit(this);
}
}
public void visit(variant_types _variant_types)
{
bw.Write((Int16)95);
write_variant_types(_variant_types);
}
public void write_variant_types(variant_types _variant_types)
{
write_syntax_tree_node(_variant_types);
if (_variant_types.vars == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_variant_types.vars.Count);
for(Int32 ssyy_i = 0; ssyy_i < _variant_types.vars.Count; ssyy_i++)
{
if (_variant_types.vars[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_variant_types.vars[ssyy_i].visit(this);
}
}
}
}
public void visit(variant_record_type _variant_record_type)
{
bw.Write((Int16)96);
write_variant_record_type(_variant_record_type);
}
public void write_variant_record_type(variant_record_type _variant_record_type)
{
write_syntax_tree_node(_variant_record_type);
if (_variant_record_type.var_name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_variant_record_type.var_name.visit(this);
}
if (_variant_record_type.var_type == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_variant_record_type.var_type.visit(this);
}
if (_variant_record_type.vars == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_variant_record_type.vars.visit(this);
}
}
public void visit(procedure_call _procedure_call)
{
bw.Write((Int16)97);
write_procedure_call(_procedure_call);
}
public void write_procedure_call(procedure_call _procedure_call)
{
write_statement(_procedure_call);
if (_procedure_call.func_name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_procedure_call.func_name.visit(this);
}
bw.Write(_procedure_call.is_ident);
}
public void visit(class_predefinition _class_predefinition)
{
bw.Write((Int16)98);
write_class_predefinition(_class_predefinition);
}
public void write_class_predefinition(class_predefinition _class_predefinition)
{
write_type_declaration(_class_predefinition);
if (_class_predefinition.class_name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_class_predefinition.class_name.visit(this);
}
}
public void visit(nil_const _nil_const)
{
bw.Write((Int16)99);
write_nil_const(_nil_const);
}
public void write_nil_const(nil_const _nil_const)
{
write_const_node(_nil_const);
}
public void visit(file_type_definition _file_type_definition)
{
bw.Write((Int16)100);
write_file_type_definition(_file_type_definition);
}
public void write_file_type_definition(file_type_definition _file_type_definition)
{
write_type_definition(_file_type_definition);
if (_file_type_definition.elem_type == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_file_type_definition.elem_type.visit(this);
}
}
public void visit(constructor _constructor)
{
bw.Write((Int16)101);
write_constructor(_constructor);
}
public void write_constructor(constructor _constructor)
{
write_procedure_header(_constructor);
}
public void visit(destructor _destructor)
{
bw.Write((Int16)102);
write_destructor(_destructor);
}
public void write_destructor(destructor _destructor)
{
write_procedure_header(_destructor);
}
public void visit(inherited_method_call _inherited_method_call)
{
bw.Write((Int16)103);
write_inherited_method_call(_inherited_method_call);
}
public void write_inherited_method_call(inherited_method_call _inherited_method_call)
{
write_statement(_inherited_method_call);
if (_inherited_method_call.method_name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_inherited_method_call.method_name.visit(this);
}
if (_inherited_method_call.exprs == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_inherited_method_call.exprs.visit(this);
}
}
public void visit(typecast_node _typecast_node)
{
bw.Write((Int16)104);
write_typecast_node(_typecast_node);
}
public void write_typecast_node(typecast_node _typecast_node)
{
write_addressed_value(_typecast_node);
if (_typecast_node.expr == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_typecast_node.expr.visit(this);
}
if (_typecast_node.type_def == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_typecast_node.type_def.visit(this);
}
bw.Write((byte)_typecast_node.cast_op);
}
public void visit(interface_node _interface_node)
{
bw.Write((Int16)105);
write_interface_node(_interface_node);
}
public void write_interface_node(interface_node _interface_node)
{
write_syntax_tree_node(_interface_node);
if (_interface_node.interface_definitions == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_interface_node.interface_definitions.visit(this);
}
if (_interface_node.uses_modules == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_interface_node.uses_modules.visit(this);
}
if (_interface_node.using_namespaces == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_interface_node.using_namespaces.visit(this);
}
}
public void visit(implementation_node _implementation_node)
{
bw.Write((Int16)106);
write_implementation_node(_implementation_node);
}
public void write_implementation_node(implementation_node _implementation_node)
{
write_syntax_tree_node(_implementation_node);
if (_implementation_node.uses_modules == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_implementation_node.uses_modules.visit(this);
}
if (_implementation_node.implementation_definitions == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_implementation_node.implementation_definitions.visit(this);
}
if (_implementation_node.using_namespaces == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_implementation_node.using_namespaces.visit(this);
}
}
public void visit(diap_expr _diap_expr)
{
bw.Write((Int16)107);
write_diap_expr(_diap_expr);
}
public void write_diap_expr(diap_expr _diap_expr)
{
write_expression(_diap_expr);
if (_diap_expr.left == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_diap_expr.left.visit(this);
}
if (_diap_expr.right == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_diap_expr.right.visit(this);
}
}
public void visit(block _block)
{
bw.Write((Int16)108);
write_block(_block);
}
public void write_block(block _block)
{
write_proc_block(_block);
if (_block.defs == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_block.defs.visit(this);
}
if (_block.program_code == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_block.program_code.visit(this);
}
}
public void visit(proc_block _proc_block)
{
bw.Write((Int16)109);
write_proc_block(_proc_block);
}
public void write_proc_block(proc_block _proc_block)
{
write_syntax_tree_node(_proc_block);
}
public void visit(array_of_named_type_definition _array_of_named_type_definition)
{
bw.Write((Int16)110);
write_array_of_named_type_definition(_array_of_named_type_definition);
}
public void write_array_of_named_type_definition(array_of_named_type_definition _array_of_named_type_definition)
{
write_type_definition(_array_of_named_type_definition);
if (_array_of_named_type_definition.type_name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_array_of_named_type_definition.type_name.visit(this);
}
}
public void visit(array_of_const_type_definition _array_of_const_type_definition)
{
bw.Write((Int16)111);
write_array_of_const_type_definition(_array_of_const_type_definition);
}
public void write_array_of_const_type_definition(array_of_const_type_definition _array_of_const_type_definition)
{
write_type_definition(_array_of_const_type_definition);
}
public void visit(literal _literal)
{
bw.Write((Int16)112);
write_literal(_literal);
}
public void write_literal(literal _literal)
{
write_const_node(_literal);
}
public void visit(case_variants _case_variants)
{
bw.Write((Int16)113);
write_case_variants(_case_variants);
}
public void write_case_variants(case_variants _case_variants)
{
write_syntax_tree_node(_case_variants);
if (_case_variants.variants == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_case_variants.variants.Count);
for(Int32 ssyy_i = 0; ssyy_i < _case_variants.variants.Count; ssyy_i++)
{
if (_case_variants.variants[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_case_variants.variants[ssyy_i].visit(this);
}
}
}
}
public void visit(diapason_expr _diapason_expr)
{
bw.Write((Int16)114);
write_diapason_expr(_diapason_expr);
}
public void write_diapason_expr(diapason_expr _diapason_expr)
{
write_expression(_diapason_expr);
if (_diapason_expr.left == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_diapason_expr.left.visit(this);
}
if (_diapason_expr.right == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_diapason_expr.right.visit(this);
}
}
public void visit(var_def_list_for_record _var_def_list_for_record)
{
bw.Write((Int16)115);
write_var_def_list_for_record(_var_def_list_for_record);
}
public void write_var_def_list_for_record(var_def_list_for_record _var_def_list_for_record)
{
write_syntax_tree_node(_var_def_list_for_record);
if (_var_def_list_for_record.vars == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_var_def_list_for_record.vars.Count);
for(Int32 ssyy_i = 0; ssyy_i < _var_def_list_for_record.vars.Count; ssyy_i++)
{
if (_var_def_list_for_record.vars[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_var_def_list_for_record.vars[ssyy_i].visit(this);
}
}
}
}
public void visit(record_type_parts _record_type_parts)
{
bw.Write((Int16)116);
write_record_type_parts(_record_type_parts);
}
public void write_record_type_parts(record_type_parts _record_type_parts)
{
write_syntax_tree_node(_record_type_parts);
if (_record_type_parts.fixed_part == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_record_type_parts.fixed_part.visit(this);
}
if (_record_type_parts.variant_part == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_record_type_parts.variant_part.visit(this);
}
}
public void visit(property_array_default _property_array_default)
{
bw.Write((Int16)117);
write_property_array_default(_property_array_default);
}
public void write_property_array_default(property_array_default _property_array_default)
{
write_syntax_tree_node(_property_array_default);
}
public void visit(property_interface _property_interface)
{
bw.Write((Int16)118);
write_property_interface(_property_interface);
}
public void write_property_interface(property_interface _property_interface)
{
write_syntax_tree_node(_property_interface);
if (_property_interface.parameter_list == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_property_interface.parameter_list.visit(this);
}
if (_property_interface.property_type == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_property_interface.property_type.visit(this);
}
if (_property_interface.index_expression == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_property_interface.index_expression.visit(this);
}
}
public void visit(property_parameter _property_parameter)
{
bw.Write((Int16)119);
write_property_parameter(_property_parameter);
}
public void write_property_parameter(property_parameter _property_parameter)
{
write_syntax_tree_node(_property_parameter);
if (_property_parameter.names == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_property_parameter.names.visit(this);
}
if (_property_parameter.type == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_property_parameter.type.visit(this);
}
}
public void visit(property_parameter_list _property_parameter_list)
{
bw.Write((Int16)120);
write_property_parameter_list(_property_parameter_list);
}
public void write_property_parameter_list(property_parameter_list _property_parameter_list)
{
write_syntax_tree_node(_property_parameter_list);
if (_property_parameter_list.parameters == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_property_parameter_list.parameters.Count);
for(Int32 ssyy_i = 0; ssyy_i < _property_parameter_list.parameters.Count; ssyy_i++)
{
if (_property_parameter_list.parameters[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_property_parameter_list.parameters[ssyy_i].visit(this);
}
}
}
}
public void visit(inherited_ident _inherited_ident)
{
bw.Write((Int16)121);
write_inherited_ident(_inherited_ident);
}
public void write_inherited_ident(inherited_ident _inherited_ident)
{
write_ident(_inherited_ident);
}
public void visit(format_expr _format_expr)
{
bw.Write((Int16)122);
write_format_expr(_format_expr);
}
public void write_format_expr(format_expr _format_expr)
{
write_addressed_value(_format_expr);
if (_format_expr.expr == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_format_expr.expr.visit(this);
}
if (_format_expr.format1 == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_format_expr.format1.visit(this);
}
if (_format_expr.format2 == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_format_expr.format2.visit(this);
}
}
public void visit(initfinal_part _initfinal_part)
{
bw.Write((Int16)123);
write_initfinal_part(_initfinal_part);
}
public void write_initfinal_part(initfinal_part _initfinal_part)
{
write_syntax_tree_node(_initfinal_part);
if (_initfinal_part.initialization_sect == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_initfinal_part.initialization_sect.visit(this);
}
if (_initfinal_part.finalization_sect == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_initfinal_part.finalization_sect.visit(this);
}
}
public void visit(token_info _token_info)
{
bw.Write((Int16)124);
write_token_info(_token_info);
}
public void write_token_info(token_info _token_info)
{
write_syntax_tree_node(_token_info);
if (_token_info.text == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_token_info.text);
}
}
public void visit(raise_stmt _raise_stmt)
{
bw.Write((Int16)125);
write_raise_stmt(_raise_stmt);
}
public void write_raise_stmt(raise_stmt _raise_stmt)
{
write_statement(_raise_stmt);
if (_raise_stmt.expr == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_raise_stmt.expr.visit(this);
}
if (_raise_stmt.address == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_raise_stmt.address.visit(this);
}
}
public void visit(op_type_node _op_type_node)
{
bw.Write((Int16)126);
write_op_type_node(_op_type_node);
}
public void write_op_type_node(op_type_node _op_type_node)
{
write_token_info(_op_type_node);
bw.Write((byte)_op_type_node.type);
}
public void visit(file_type _file_type)
{
bw.Write((Int16)127);
write_file_type(_file_type);
}
public void write_file_type(file_type _file_type)
{
write_type_definition(_file_type);
if (_file_type.file_of_type == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_file_type.file_of_type.visit(this);
}
}
public void visit(known_type_ident _known_type_ident)
{
bw.Write((Int16)128);
write_known_type_ident(_known_type_ident);
}
public void write_known_type_ident(known_type_ident _known_type_ident)
{
write_ident(_known_type_ident);
bw.Write((byte)_known_type_ident.type);
}
public void visit(exception_handler _exception_handler)
{
bw.Write((Int16)129);
write_exception_handler(_exception_handler);
}
public void write_exception_handler(exception_handler _exception_handler)
{
write_syntax_tree_node(_exception_handler);
if (_exception_handler.variable == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_exception_handler.variable.visit(this);
}
if (_exception_handler.type_name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_exception_handler.type_name.visit(this);
}
if (_exception_handler.statements == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_exception_handler.statements.visit(this);
}
}
public void visit(exception_ident _exception_ident)
{
bw.Write((Int16)130);
write_exception_ident(_exception_ident);
}
public void write_exception_ident(exception_ident _exception_ident)
{
write_syntax_tree_node(_exception_ident);
if (_exception_ident.variable == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_exception_ident.variable.visit(this);
}
if (_exception_ident.type_name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_exception_ident.type_name.visit(this);
}
}
public void visit(exception_handler_list _exception_handler_list)
{
bw.Write((Int16)131);
write_exception_handler_list(_exception_handler_list);
}
public void write_exception_handler_list(exception_handler_list _exception_handler_list)
{
write_syntax_tree_node(_exception_handler_list);
if (_exception_handler_list.handlers == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_exception_handler_list.handlers.Count);
for(Int32 ssyy_i = 0; ssyy_i < _exception_handler_list.handlers.Count; ssyy_i++)
{
if (_exception_handler_list.handlers[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_exception_handler_list.handlers[ssyy_i].visit(this);
}
}
}
}
public void visit(exception_block _exception_block)
{
bw.Write((Int16)132);
write_exception_block(_exception_block);
}
public void write_exception_block(exception_block _exception_block)
{
write_syntax_tree_node(_exception_block);
if (_exception_block.stmt_list == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_exception_block.stmt_list.visit(this);
}
if (_exception_block.handlers == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_exception_block.handlers.visit(this);
}
if (_exception_block.else_stmt_list == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_exception_block.else_stmt_list.visit(this);
}
}
public void visit(try_handler _try_handler)
{
bw.Write((Int16)133);
write_try_handler(_try_handler);
}
public void write_try_handler(try_handler _try_handler)
{
write_syntax_tree_node(_try_handler);
}
public void visit(try_handler_finally _try_handler_finally)
{
bw.Write((Int16)134);
write_try_handler_finally(_try_handler_finally);
}
public void write_try_handler_finally(try_handler_finally _try_handler_finally)
{
write_try_handler(_try_handler_finally);
if (_try_handler_finally.stmt_list == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_try_handler_finally.stmt_list.visit(this);
}
}
public void visit(try_handler_except _try_handler_except)
{
bw.Write((Int16)135);
write_try_handler_except(_try_handler_except);
}
public void write_try_handler_except(try_handler_except _try_handler_except)
{
write_try_handler(_try_handler_except);
if (_try_handler_except.except_block == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_try_handler_except.except_block.visit(this);
}
}
public void visit(try_stmt _try_stmt)
{
bw.Write((Int16)136);
write_try_stmt(_try_stmt);
}
public void write_try_stmt(try_stmt _try_stmt)
{
write_statement(_try_stmt);
if (_try_stmt.stmt_list == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_try_stmt.stmt_list.visit(this);
}
if (_try_stmt.handler == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_try_stmt.handler.visit(this);
}
}
public void visit(inherited_message _inherited_message)
{
bw.Write((Int16)137);
write_inherited_message(_inherited_message);
}
public void write_inherited_message(inherited_message _inherited_message)
{
write_statement(_inherited_message);
}
public void visit(external_directive _external_directive)
{
bw.Write((Int16)138);
write_external_directive(_external_directive);
}
public void write_external_directive(external_directive _external_directive)
{
write_proc_block(_external_directive);
if (_external_directive.modulename == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_external_directive.modulename.visit(this);
}
if (_external_directive.name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_external_directive.name.visit(this);
}
}
public void visit(using_list _using_list)
{
bw.Write((Int16)139);
write_using_list(_using_list);
}
public void write_using_list(using_list _using_list)
{
write_syntax_tree_node(_using_list);
if (_using_list.namespaces == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_using_list.namespaces.Count);
for(Int32 ssyy_i = 0; ssyy_i < _using_list.namespaces.Count; ssyy_i++)
{
if (_using_list.namespaces[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_using_list.namespaces[ssyy_i].visit(this);
}
}
}
}
public void visit(jump_stmt _jump_stmt)
{
bw.Write((Int16)140);
write_jump_stmt(_jump_stmt);
}
public void write_jump_stmt(jump_stmt _jump_stmt)
{
write_statement(_jump_stmt);
if (_jump_stmt.expr == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_jump_stmt.expr.visit(this);
}
bw.Write((byte)_jump_stmt.JumpType);
}
public void visit(loop_stmt _loop_stmt)
{
bw.Write((Int16)141);
write_loop_stmt(_loop_stmt);
}
public void write_loop_stmt(loop_stmt _loop_stmt)
{
write_statement(_loop_stmt);
if (_loop_stmt.count == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_loop_stmt.count.visit(this);
}
if (_loop_stmt.stmt == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_loop_stmt.stmt.visit(this);
}
}
public void visit(foreach_stmt _foreach_stmt)
{
bw.Write((Int16)142);
write_foreach_stmt(_foreach_stmt);
}
public void write_foreach_stmt(foreach_stmt _foreach_stmt)
{
write_statement(_foreach_stmt);
if (_foreach_stmt.identifier == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_foreach_stmt.identifier.visit(this);
}
if (_foreach_stmt.type_name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_foreach_stmt.type_name.visit(this);
}
if (_foreach_stmt.in_what == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_foreach_stmt.in_what.visit(this);
}
if (_foreach_stmt.stmt == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_foreach_stmt.stmt.visit(this);
}
if (_foreach_stmt.index == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_foreach_stmt.index.visit(this);
}
}
public void visit(addressed_value_funcname _addressed_value_funcname)
{
bw.Write((Int16)143);
write_addressed_value_funcname(_addressed_value_funcname);
}
public void write_addressed_value_funcname(addressed_value_funcname _addressed_value_funcname)
{
write_addressed_value(_addressed_value_funcname);
}
public void visit(named_type_reference_list _named_type_reference_list)
{
bw.Write((Int16)144);
write_named_type_reference_list(_named_type_reference_list);
}
public void write_named_type_reference_list(named_type_reference_list _named_type_reference_list)
{
write_syntax_tree_node(_named_type_reference_list);
if (_named_type_reference_list.types == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_named_type_reference_list.types.Count);
for(Int32 ssyy_i = 0; ssyy_i < _named_type_reference_list.types.Count; ssyy_i++)
{
if (_named_type_reference_list.types[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_named_type_reference_list.types[ssyy_i].visit(this);
}
}
}
}
public void visit(template_param_list _template_param_list)
{
bw.Write((Int16)145);
write_template_param_list(_template_param_list);
}
public void write_template_param_list(template_param_list _template_param_list)
{
write_dereference(_template_param_list);
if (_template_param_list.params_list == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_template_param_list.params_list.Count);
for(Int32 ssyy_i = 0; ssyy_i < _template_param_list.params_list.Count; ssyy_i++)
{
if (_template_param_list.params_list[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_template_param_list.params_list[ssyy_i].visit(this);
}
}
}
}
public void visit(template_type_reference _template_type_reference)
{
bw.Write((Int16)146);
write_template_type_reference(_template_type_reference);
}
public void write_template_type_reference(template_type_reference _template_type_reference)
{
write_named_type_reference(_template_type_reference);
if (_template_type_reference.name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_template_type_reference.name.visit(this);
}
if (_template_type_reference.params_list == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_template_type_reference.params_list.visit(this);
}
}
public void visit(int64_const _int64_const)
{
bw.Write((Int16)147);
write_int64_const(_int64_const);
}
public void write_int64_const(int64_const _int64_const)
{
write_const_node(_int64_const);
bw.Write(_int64_const.val);
}
public void visit(uint64_const _uint64_const)
{
bw.Write((Int16)148);
write_uint64_const(_uint64_const);
}
public void write_uint64_const(uint64_const _uint64_const)
{
write_const_node(_uint64_const);
bw.Write(_uint64_const.val);
}
public void visit(new_expr _new_expr)
{
bw.Write((Int16)149);
write_new_expr(_new_expr);
}
public void write_new_expr(new_expr _new_expr)
{
write_addressed_value(_new_expr);
if (_new_expr.type == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_new_expr.type.visit(this);
}
if (_new_expr.params_list == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_new_expr.params_list.visit(this);
}
bw.Write(_new_expr.new_array);
if (_new_expr.array_init_expr == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_new_expr.array_init_expr.visit(this);
}
}
public void visit(where_type_specificator_list _where_type_specificator_list)
{
bw.Write((Int16)150);
write_where_type_specificator_list(_where_type_specificator_list);
}
public void write_where_type_specificator_list(where_type_specificator_list _where_type_specificator_list)
{
write_syntax_tree_node(_where_type_specificator_list);
if (_where_type_specificator_list.defs == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_where_type_specificator_list.defs.Count);
for(Int32 ssyy_i = 0; ssyy_i < _where_type_specificator_list.defs.Count; ssyy_i++)
{
if (_where_type_specificator_list.defs[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_where_type_specificator_list.defs[ssyy_i].visit(this);
}
}
}
}
public void visit(where_definition _where_definition)
{
bw.Write((Int16)151);
write_where_definition(_where_definition);
}
public void write_where_definition(where_definition _where_definition)
{
write_syntax_tree_node(_where_definition);
if (_where_definition.names == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_where_definition.names.visit(this);
}
if (_where_definition.types == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_where_definition.types.visit(this);
}
}
public void visit(where_definition_list _where_definition_list)
{
bw.Write((Int16)152);
write_where_definition_list(_where_definition_list);
}
public void write_where_definition_list(where_definition_list _where_definition_list)
{
write_syntax_tree_node(_where_definition_list);
if (_where_definition_list.defs == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_where_definition_list.defs.Count);
for(Int32 ssyy_i = 0; ssyy_i < _where_definition_list.defs.Count; ssyy_i++)
{
if (_where_definition_list.defs[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_where_definition_list.defs[ssyy_i].visit(this);
}
}
}
}
public void visit(sizeof_operator _sizeof_operator)
{
bw.Write((Int16)153);
write_sizeof_operator(_sizeof_operator);
}
public void write_sizeof_operator(sizeof_operator _sizeof_operator)
{
write_addressed_value(_sizeof_operator);
if (_sizeof_operator.type_def == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_sizeof_operator.type_def.visit(this);
}
if (_sizeof_operator.expr == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_sizeof_operator.expr.visit(this);
}
}
public void visit(typeof_operator _typeof_operator)
{
bw.Write((Int16)154);
write_typeof_operator(_typeof_operator);
}
public void write_typeof_operator(typeof_operator _typeof_operator)
{
write_addressed_value(_typeof_operator);
if (_typeof_operator.type_name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_typeof_operator.type_name.visit(this);
}
}
public void visit(compiler_directive _compiler_directive)
{
bw.Write((Int16)155);
write_compiler_directive(_compiler_directive);
}
public void write_compiler_directive(compiler_directive _compiler_directive)
{
write_syntax_tree_node(_compiler_directive);
if (_compiler_directive.Name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_compiler_directive.Name.visit(this);
}
if (_compiler_directive.Directive == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_compiler_directive.Directive.visit(this);
}
}
public void visit(operator_name_ident _operator_name_ident)
{
bw.Write((Int16)156);
write_operator_name_ident(_operator_name_ident);
}
public void write_operator_name_ident(operator_name_ident _operator_name_ident)
{
write_ident(_operator_name_ident);
bw.Write((byte)_operator_name_ident.operator_type);
}
public void visit(var_statement _var_statement)
{
bw.Write((Int16)157);
write_var_statement(_var_statement);
}
public void write_var_statement(var_statement _var_statement)
{
write_statement(_var_statement);
if (_var_statement.var_def == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_var_statement.var_def.visit(this);
}
}
public void visit(question_colon_expression _question_colon_expression)
{
bw.Write((Int16)158);
write_question_colon_expression(_question_colon_expression);
}
public void write_question_colon_expression(question_colon_expression _question_colon_expression)
{
write_addressed_value(_question_colon_expression);
if (_question_colon_expression.condition == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_question_colon_expression.condition.visit(this);
}
if (_question_colon_expression.ret_if_true == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_question_colon_expression.ret_if_true.visit(this);
}
if (_question_colon_expression.ret_if_false == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_question_colon_expression.ret_if_false.visit(this);
}
}
public void visit(expression_as_statement _expression_as_statement)
{
bw.Write((Int16)159);
write_expression_as_statement(_expression_as_statement);
}
public void write_expression_as_statement(expression_as_statement _expression_as_statement)
{
write_statement(_expression_as_statement);
if (_expression_as_statement.expr == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_expression_as_statement.expr.visit(this);
}
}
public void visit(c_scalar_type _c_scalar_type)
{
bw.Write((Int16)160);
write_c_scalar_type(_c_scalar_type);
}
public void write_c_scalar_type(c_scalar_type _c_scalar_type)
{
write_type_definition(_c_scalar_type);
bw.Write((byte)_c_scalar_type.scalar_name);
bw.Write((byte)_c_scalar_type.sign);
}
public void visit(c_module _c_module)
{
bw.Write((Int16)161);
write_c_module(_c_module);
}
public void write_c_module(c_module _c_module)
{
write_compilation_unit(_c_module);
if (_c_module.defs == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_c_module.defs.visit(this);
}
if (_c_module.used_units == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_c_module.used_units.visit(this);
}
}
public void visit(declarations_as_statement _declarations_as_statement)
{
bw.Write((Int16)162);
write_declarations_as_statement(_declarations_as_statement);
}
public void write_declarations_as_statement(declarations_as_statement _declarations_as_statement)
{
write_statement(_declarations_as_statement);
if (_declarations_as_statement.defs == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_declarations_as_statement.defs.visit(this);
}
}
public void visit(array_size _array_size)
{
bw.Write((Int16)163);
write_array_size(_array_size);
}
public void write_array_size(array_size _array_size)
{
write_type_definition(_array_size);
if (_array_size.max_value == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_array_size.max_value.visit(this);
}
}
public void visit(enumerator _enumerator)
{
bw.Write((Int16)164);
write_enumerator(_enumerator);
}
public void write_enumerator(enumerator _enumerator)
{
write_syntax_tree_node(_enumerator);
if (_enumerator.name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_enumerator.name.visit(this);
}
if (_enumerator.value == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_enumerator.value.visit(this);
}
}
public void visit(enumerator_list _enumerator_list)
{
bw.Write((Int16)165);
write_enumerator_list(_enumerator_list);
}
public void write_enumerator_list(enumerator_list _enumerator_list)
{
write_syntax_tree_node(_enumerator_list);
if (_enumerator_list.enumerators == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_enumerator_list.enumerators.Count);
for(Int32 ssyy_i = 0; ssyy_i < _enumerator_list.enumerators.Count; ssyy_i++)
{
if (_enumerator_list.enumerators[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_enumerator_list.enumerators[ssyy_i].visit(this);
}
}
}
}
public void visit(c_for_cycle _c_for_cycle)
{
bw.Write((Int16)166);
write_c_for_cycle(_c_for_cycle);
}
public void write_c_for_cycle(c_for_cycle _c_for_cycle)
{
write_statement(_c_for_cycle);
if (_c_for_cycle.expr1 == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_c_for_cycle.expr1.visit(this);
}
if (_c_for_cycle.expr2 == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_c_for_cycle.expr2.visit(this);
}
if (_c_for_cycle.expr3 == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_c_for_cycle.expr3.visit(this);
}
if (_c_for_cycle.stmt == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_c_for_cycle.stmt.visit(this);
}
}
public void visit(switch_stmt _switch_stmt)
{
bw.Write((Int16)167);
write_switch_stmt(_switch_stmt);
}
public void write_switch_stmt(switch_stmt _switch_stmt)
{
write_statement(_switch_stmt);
if (_switch_stmt.condition == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_switch_stmt.condition.visit(this);
}
if (_switch_stmt.stmt == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_switch_stmt.stmt.visit(this);
}
bw.Write((byte)_switch_stmt.Part);
}
public void visit(type_definition_attr_list _type_definition_attr_list)
{
bw.Write((Int16)168);
write_type_definition_attr_list(_type_definition_attr_list);
}
public void write_type_definition_attr_list(type_definition_attr_list _type_definition_attr_list)
{
write_syntax_tree_node(_type_definition_attr_list);
if (_type_definition_attr_list.attributes == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_type_definition_attr_list.attributes.Count);
for(Int32 ssyy_i = 0; ssyy_i < _type_definition_attr_list.attributes.Count; ssyy_i++)
{
if (_type_definition_attr_list.attributes[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_type_definition_attr_list.attributes[ssyy_i].visit(this);
}
}
}
}
public void visit(type_definition_attr _type_definition_attr)
{
bw.Write((Int16)169);
write_type_definition_attr(_type_definition_attr);
}
public void write_type_definition_attr(type_definition_attr _type_definition_attr)
{
write_type_definition(_type_definition_attr);
bw.Write((byte)_type_definition_attr.attr);
}
public void visit(lock_stmt _lock_stmt)
{
bw.Write((Int16)170);
write_lock_stmt(_lock_stmt);
}
public void write_lock_stmt(lock_stmt _lock_stmt)
{
write_statement(_lock_stmt);
if (_lock_stmt.lock_object == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_lock_stmt.lock_object.visit(this);
}
if (_lock_stmt.stmt == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_lock_stmt.stmt.visit(this);
}
}
public void visit(compiler_directive_list _compiler_directive_list)
{
bw.Write((Int16)171);
write_compiler_directive_list(_compiler_directive_list);
}
public void write_compiler_directive_list(compiler_directive_list _compiler_directive_list)
{
write_compiler_directive(_compiler_directive_list);
if (_compiler_directive_list.directives == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_compiler_directive_list.directives.Count);
for(Int32 ssyy_i = 0; ssyy_i < _compiler_directive_list.directives.Count; ssyy_i++)
{
if (_compiler_directive_list.directives[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_compiler_directive_list.directives[ssyy_i].visit(this);
}
}
}
}
public void visit(compiler_directive_if _compiler_directive_if)
{
bw.Write((Int16)172);
write_compiler_directive_if(_compiler_directive_if);
}
public void write_compiler_directive_if(compiler_directive_if _compiler_directive_if)
{
write_compiler_directive(_compiler_directive_if);
if (_compiler_directive_if.if_part == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_compiler_directive_if.if_part.visit(this);
}
if (_compiler_directive_if.elseif_part == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_compiler_directive_if.elseif_part.visit(this);
}
}
public void visit(documentation_comment_list _documentation_comment_list)
{
bw.Write((Int16)173);
write_documentation_comment_list(_documentation_comment_list);
}
public void write_documentation_comment_list(documentation_comment_list _documentation_comment_list)
{
write_syntax_tree_node(_documentation_comment_list);
if (_documentation_comment_list.sections == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_documentation_comment_list.sections.Count);
for(Int32 ssyy_i = 0; ssyy_i < _documentation_comment_list.sections.Count; ssyy_i++)
{
if (_documentation_comment_list.sections[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_documentation_comment_list.sections[ssyy_i].visit(this);
}
}
}
}
public void visit(documentation_comment_tag _documentation_comment_tag)
{
bw.Write((Int16)174);
write_documentation_comment_tag(_documentation_comment_tag);
}
public void write_documentation_comment_tag(documentation_comment_tag _documentation_comment_tag)
{
write_syntax_tree_node(_documentation_comment_tag);
if (_documentation_comment_tag.name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_documentation_comment_tag.name);
}
if (_documentation_comment_tag.parameters == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_documentation_comment_tag.parameters.Count);
for(Int32 ssyy_i = 0; ssyy_i < _documentation_comment_tag.parameters.Count; ssyy_i++)
{
if (_documentation_comment_tag.parameters[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_documentation_comment_tag.parameters[ssyy_i].visit(this);
}
}
}
if (_documentation_comment_tag.text == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_documentation_comment_tag.text);
}
}
public void visit(documentation_comment_tag_param _documentation_comment_tag_param)
{
bw.Write((Int16)175);
write_documentation_comment_tag_param(_documentation_comment_tag_param);
}
public void write_documentation_comment_tag_param(documentation_comment_tag_param _documentation_comment_tag_param)
{
write_syntax_tree_node(_documentation_comment_tag_param);
if (_documentation_comment_tag_param.name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_documentation_comment_tag_param.name);
}
if (_documentation_comment_tag_param.value == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_documentation_comment_tag_param.value);
}
}
public void visit(documentation_comment_section _documentation_comment_section)
{
bw.Write((Int16)176);
write_documentation_comment_section(_documentation_comment_section);
}
public void write_documentation_comment_section(documentation_comment_section _documentation_comment_section)
{
write_syntax_tree_node(_documentation_comment_section);
if (_documentation_comment_section.tags == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_documentation_comment_section.tags.Count);
for(Int32 ssyy_i = 0; ssyy_i < _documentation_comment_section.tags.Count; ssyy_i++)
{
if (_documentation_comment_section.tags[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_documentation_comment_section.tags[ssyy_i].visit(this);
}
}
}
if (_documentation_comment_section.text == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_documentation_comment_section.text);
}
}
public void visit(token_taginfo _token_taginfo)
{
bw.Write((Int16)177);
write_token_taginfo(_token_taginfo);
}
public void write_token_taginfo(token_taginfo _token_taginfo)
{
write_token_info(_token_taginfo);
bw.Write((byte)_token_taginfo.tag);
}
public void visit(declaration_specificator _declaration_specificator)
{
bw.Write((Int16)178);
write_declaration_specificator(_declaration_specificator);
}
public void write_declaration_specificator(declaration_specificator _declaration_specificator)
{
write_type_definition(_declaration_specificator);
bw.Write((byte)_declaration_specificator.specificator);
if (_declaration_specificator.name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_declaration_specificator.name);
}
}
public void visit(ident_with_templateparams _ident_with_templateparams)
{
bw.Write((Int16)179);
write_ident_with_templateparams(_ident_with_templateparams);
}
public void write_ident_with_templateparams(ident_with_templateparams _ident_with_templateparams)
{
write_addressed_value_funcname(_ident_with_templateparams);
if (_ident_with_templateparams.name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_ident_with_templateparams.name.visit(this);
}
if (_ident_with_templateparams.template_params == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_ident_with_templateparams.template_params.visit(this);
}
}
public void visit(template_type_name _template_type_name)
{
bw.Write((Int16)180);
write_template_type_name(_template_type_name);
}
public void write_template_type_name(template_type_name _template_type_name)
{
write_ident(_template_type_name);
if (_template_type_name.template_args == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_template_type_name.template_args.visit(this);
}
}
public void visit(default_operator _default_operator)
{
bw.Write((Int16)181);
write_default_operator(_default_operator);
}
public void write_default_operator(default_operator _default_operator)
{
write_addressed_value(_default_operator);
if (_default_operator.type_name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_default_operator.type_name.visit(this);
}
}
public void visit(bracket_expr _bracket_expr)
{
bw.Write((Int16)182);
write_bracket_expr(_bracket_expr);
}
public void write_bracket_expr(bracket_expr _bracket_expr)
{
write_addressed_value(_bracket_expr);
if (_bracket_expr.expr == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_bracket_expr.expr.visit(this);
}
}
public void visit(attribute _attribute)
{
bw.Write((Int16)183);
write_attribute(_attribute);
}
public void write_attribute(attribute _attribute)
{
write_syntax_tree_node(_attribute);
if (_attribute.qualifier == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_attribute.qualifier.visit(this);
}
if (_attribute.type == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_attribute.type.visit(this);
}
if (_attribute.arguments == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_attribute.arguments.visit(this);
}
}
public void visit(simple_attribute_list _simple_attribute_list)
{
bw.Write((Int16)184);
write_simple_attribute_list(_simple_attribute_list);
}
public void write_simple_attribute_list(simple_attribute_list _simple_attribute_list)
{
write_syntax_tree_node(_simple_attribute_list);
if (_simple_attribute_list.attributes == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_simple_attribute_list.attributes.Count);
for(Int32 ssyy_i = 0; ssyy_i < _simple_attribute_list.attributes.Count; ssyy_i++)
{
if (_simple_attribute_list.attributes[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_simple_attribute_list.attributes[ssyy_i].visit(this);
}
}
}
}
public void visit(attribute_list _attribute_list)
{
bw.Write((Int16)185);
write_attribute_list(_attribute_list);
}
public void write_attribute_list(attribute_list _attribute_list)
{
write_syntax_tree_node(_attribute_list);
if (_attribute_list.attributes == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_attribute_list.attributes.Count);
for(Int32 ssyy_i = 0; ssyy_i < _attribute_list.attributes.Count; ssyy_i++)
{
if (_attribute_list.attributes[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_attribute_list.attributes[ssyy_i].visit(this);
}
}
}
}
public void visit(function_lambda_definition _function_lambda_definition)
{
bw.Write((Int16)186);
write_function_lambda_definition(_function_lambda_definition);
}
public void write_function_lambda_definition(function_lambda_definition _function_lambda_definition)
{
write_expression(_function_lambda_definition);
if (_function_lambda_definition.ident_list == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_function_lambda_definition.ident_list.visit(this);
}
if (_function_lambda_definition.return_type == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_function_lambda_definition.return_type.visit(this);
}
if (_function_lambda_definition.formal_parameters == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_function_lambda_definition.formal_parameters.visit(this);
}
if (_function_lambda_definition.proc_body == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_function_lambda_definition.proc_body.visit(this);
}
bw.Write((byte)_function_lambda_definition.proc_definition);
if (_function_lambda_definition.parameters == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_function_lambda_definition.parameters.visit(this);
}
if (_function_lambda_definition.lambda_name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_function_lambda_definition.lambda_name);
}
if (_function_lambda_definition.defs == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_function_lambda_definition.defs.Count);
for(Int32 ssyy_i = 0; ssyy_i < _function_lambda_definition.defs.Count; ssyy_i++)
{
if (_function_lambda_definition.defs[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_function_lambda_definition.defs[ssyy_i].visit(this);
}
}
}
bw.Write((byte)_function_lambda_definition.lambda_visit_mode);
if (_function_lambda_definition.substituting_node == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_function_lambda_definition.substituting_node.visit(this);
}
bw.Write((byte)_function_lambda_definition.usedkeyword);
}
public void visit(function_lambda_call _function_lambda_call)
{
bw.Write((Int16)187);
write_function_lambda_call(_function_lambda_call);
}
public void write_function_lambda_call(function_lambda_call _function_lambda_call)
{
write_expression(_function_lambda_call);
if (_function_lambda_call.f_lambda_def == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_function_lambda_call.f_lambda_def.visit(this);
}
if (_function_lambda_call.parameters == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_function_lambda_call.parameters.visit(this);
}
}
public void visit(semantic_check _semantic_check)
{
bw.Write((Int16)188);
write_semantic_check(_semantic_check);
}
public void write_semantic_check(semantic_check _semantic_check)
{
write_statement(_semantic_check);
if (_semantic_check.CheckName == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_semantic_check.CheckName);
}
if (_semantic_check.param == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_semantic_check.param.Count);
for(Int32 ssyy_i = 0; ssyy_i < _semantic_check.param.Count; ssyy_i++)
{
if (_semantic_check.param[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_semantic_check.param[ssyy_i].visit(this);
}
}
}
bw.Write((byte)_semantic_check.fictive);
}
public void visit(lambda_inferred_type _lambda_inferred_type)
{
bw.Write((Int16)189);
write_lambda_inferred_type(_lambda_inferred_type);
}
public void write_lambda_inferred_type(lambda_inferred_type _lambda_inferred_type)
{
write_type_definition(_lambda_inferred_type);
bw.Write((byte)_lambda_inferred_type.real_type);
}
public void visit(same_type_node _same_type_node)
{
bw.Write((Int16)190);
write_same_type_node(_same_type_node);
}
public void write_same_type_node(same_type_node _same_type_node)
{
write_type_definition(_same_type_node);
if (_same_type_node.ex == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_same_type_node.ex.visit(this);
}
}
public void visit(name_assign_expr _name_assign_expr)
{
bw.Write((Int16)191);
write_name_assign_expr(_name_assign_expr);
}
public void write_name_assign_expr(name_assign_expr _name_assign_expr)
{
write_expression(_name_assign_expr);
if (_name_assign_expr.name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_name_assign_expr.name.visit(this);
}
if (_name_assign_expr.expr == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_name_assign_expr.expr.visit(this);
}
}
public void visit(name_assign_expr_list _name_assign_expr_list)
{
bw.Write((Int16)192);
write_name_assign_expr_list(_name_assign_expr_list);
}
public void write_name_assign_expr_list(name_assign_expr_list _name_assign_expr_list)
{
write_syntax_tree_node(_name_assign_expr_list);
if (_name_assign_expr_list.name_expr == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_name_assign_expr_list.name_expr.Count);
for(Int32 ssyy_i = 0; ssyy_i < _name_assign_expr_list.name_expr.Count; ssyy_i++)
{
if (_name_assign_expr_list.name_expr[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_name_assign_expr_list.name_expr[ssyy_i].visit(this);
}
}
}
}
public void visit(unnamed_type_object _unnamed_type_object)
{
bw.Write((Int16)193);
write_unnamed_type_object(_unnamed_type_object);
}
public void write_unnamed_type_object(unnamed_type_object _unnamed_type_object)
{
write_addressed_value(_unnamed_type_object);
if (_unnamed_type_object.ne_list == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_unnamed_type_object.ne_list.visit(this);
}
bw.Write(_unnamed_type_object.is_class);
if (_unnamed_type_object.new_ex == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_unnamed_type_object.new_ex.visit(this);
}
}
public void visit(semantic_type_node _semantic_type_node)
{
bw.Write((Int16)194);
write_semantic_type_node(_semantic_type_node);
}
public void write_semantic_type_node(semantic_type_node _semantic_type_node)
{
write_type_definition(_semantic_type_node);
bw.Write((byte)_semantic_type_node.type);
}
public void visit(short_func_definition _short_func_definition)
{
bw.Write((Int16)195);
write_short_func_definition(_short_func_definition);
}
public void write_short_func_definition(short_func_definition _short_func_definition)
{
write_procedure_definition(_short_func_definition);
if (_short_func_definition.procdef == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_short_func_definition.procdef.visit(this);
}
}
public void visit(no_type_foreach _no_type_foreach)
{
bw.Write((Int16)196);
write_no_type_foreach(_no_type_foreach);
}
public void write_no_type_foreach(no_type_foreach _no_type_foreach)
{
write_type_definition(_no_type_foreach);
}
public void visit(matching_expression _matching_expression)
{
bw.Write((Int16)197);
write_matching_expression(_matching_expression);
}
public void write_matching_expression(matching_expression _matching_expression)
{
write_addressed_value(_matching_expression);
if (_matching_expression.left == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_matching_expression.left.visit(this);
}
if (_matching_expression.right == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_matching_expression.right.visit(this);
}
}
public void visit(closure_substituting_node _closure_substituting_node)
{
bw.Write((Int16)198);
write_closure_substituting_node(_closure_substituting_node);
}
public void write_closure_substituting_node(closure_substituting_node _closure_substituting_node)
{
write_ident(_closure_substituting_node);
if (_closure_substituting_node.substitution == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_closure_substituting_node.substitution.visit(this);
}
}
public void visit(sequence_type _sequence_type)
{
bw.Write((Int16)199);
write_sequence_type(_sequence_type);
}
public void write_sequence_type(sequence_type _sequence_type)
{
write_type_definition(_sequence_type);
if (_sequence_type.elements_type == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_sequence_type.elements_type.visit(this);
}
}
public void visit(modern_proc_type _modern_proc_type)
{
bw.Write((Int16)200);
write_modern_proc_type(_modern_proc_type);
}
public void write_modern_proc_type(modern_proc_type _modern_proc_type)
{
write_type_definition(_modern_proc_type);
if (_modern_proc_type.aloneparam == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_modern_proc_type.aloneparam.visit(this);
}
if (_modern_proc_type.el == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_modern_proc_type.el.visit(this);
}
if (_modern_proc_type.res == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_modern_proc_type.res.visit(this);
}
}
public void visit(yield_node _yield_node)
{
bw.Write((Int16)201);
write_yield_node(_yield_node);
}
public void write_yield_node(yield_node _yield_node)
{
write_statement(_yield_node);
if (_yield_node.ex == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_yield_node.ex.visit(this);
}
}
public void visit(template_operator_name _template_operator_name)
{
bw.Write((Int16)202);
write_template_operator_name(_template_operator_name);
}
public void write_template_operator_name(template_operator_name _template_operator_name)
{
write_template_type_name(_template_operator_name);
if (_template_operator_name.opname == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_template_operator_name.opname.visit(this);
}
}
public void visit(semantic_addr_value _semantic_addr_value)
{
bw.Write((Int16)203);
write_semantic_addr_value(_semantic_addr_value);
}
public void write_semantic_addr_value(semantic_addr_value _semantic_addr_value)
{
write_addressed_value(_semantic_addr_value);
bw.Write((byte)_semantic_addr_value.expr);
}
public void visit(pair_type_stlist _pair_type_stlist)
{
bw.Write((Int16)204);
write_pair_type_stlist(_pair_type_stlist);
}
public void write_pair_type_stlist(pair_type_stlist _pair_type_stlist)
{
write_syntax_tree_node(_pair_type_stlist);
if (_pair_type_stlist.tn == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_pair_type_stlist.tn.visit(this);
}
if (_pair_type_stlist.exprs == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_pair_type_stlist.exprs.visit(this);
}
}
public void visit(assign_tuple _assign_tuple)
{
bw.Write((Int16)205);
write_assign_tuple(_assign_tuple);
}
public void write_assign_tuple(assign_tuple _assign_tuple)
{
write_statement(_assign_tuple);
if (_assign_tuple.vars == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_assign_tuple.vars.visit(this);
}
if (_assign_tuple.expr == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_assign_tuple.expr.visit(this);
}
}
public void visit(addressed_value_list _addressed_value_list)
{
bw.Write((Int16)206);
write_addressed_value_list(_addressed_value_list);
}
public void write_addressed_value_list(addressed_value_list _addressed_value_list)
{
write_syntax_tree_node(_addressed_value_list);
if (_addressed_value_list.variables == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_addressed_value_list.variables.Count);
for(Int32 ssyy_i = 0; ssyy_i < _addressed_value_list.variables.Count; ssyy_i++)
{
if (_addressed_value_list.variables[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_addressed_value_list.variables[ssyy_i].visit(this);
}
}
}
}
public void visit(tuple_node _tuple_node)
{
bw.Write((Int16)207);
write_tuple_node(_tuple_node);
}
public void write_tuple_node(tuple_node _tuple_node)
{
write_addressed_value(_tuple_node);
if (_tuple_node.el == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_tuple_node.el.visit(this);
}
}
public void visit(uses_closure _uses_closure)
{
bw.Write((Int16)208);
write_uses_closure(_uses_closure);
}
public void write_uses_closure(uses_closure _uses_closure)
{
write_uses_list(_uses_closure);
if (_uses_closure.listunitsections == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_uses_closure.listunitsections.Count);
for(Int32 ssyy_i = 0; ssyy_i < _uses_closure.listunitsections.Count; ssyy_i++)
{
if (_uses_closure.listunitsections[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_uses_closure.listunitsections[ssyy_i].visit(this);
}
}
}
}
public void visit(dot_question_node _dot_question_node)
{
bw.Write((Int16)209);
write_dot_question_node(_dot_question_node);
}
public void write_dot_question_node(dot_question_node _dot_question_node)
{
write_addressed_value_funcname(_dot_question_node);
if (_dot_question_node.left == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_dot_question_node.left.visit(this);
}
if (_dot_question_node.right == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_dot_question_node.right.visit(this);
}
}
public void visit(slice_expr _slice_expr)
{
bw.Write((Int16)210);
write_slice_expr(_slice_expr);
}
public void write_slice_expr(slice_expr _slice_expr)
{
write_dereference(_slice_expr);
if (_slice_expr.v == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_slice_expr.v.visit(this);
}
if (_slice_expr.from == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_slice_expr.from.visit(this);
}
if (_slice_expr.to == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_slice_expr.to.visit(this);
}
if (_slice_expr.step == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_slice_expr.step.visit(this);
}
}
public void visit(no_type _no_type)
{
bw.Write((Int16)211);
write_no_type(_no_type);
}
public void write_no_type(no_type _no_type)
{
write_type_definition(_no_type);
}
public void visit(yield_unknown_ident _yield_unknown_ident)
{
bw.Write((Int16)212);
write_yield_unknown_ident(_yield_unknown_ident);
}
public void write_yield_unknown_ident(yield_unknown_ident _yield_unknown_ident)
{
write_ident(_yield_unknown_ident);
if (_yield_unknown_ident.UnknownID == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_yield_unknown_ident.UnknownID.visit(this);
}
}
public void visit(yield_unknown_expression_type _yield_unknown_expression_type)
{
bw.Write((Int16)213);
write_yield_unknown_expression_type(_yield_unknown_expression_type);
}
public void write_yield_unknown_expression_type(yield_unknown_expression_type _yield_unknown_expression_type)
{
write_type_definition(_yield_unknown_expression_type);
}
public void visit(yield_unknown_foreach_type _yield_unknown_foreach_type)
{
bw.Write((Int16)214);
write_yield_unknown_foreach_type(_yield_unknown_foreach_type);
}
public void write_yield_unknown_foreach_type(yield_unknown_foreach_type _yield_unknown_foreach_type)
{
write_type_definition(_yield_unknown_foreach_type);
}
public void visit(yield_sequence_node _yield_sequence_node)
{
bw.Write((Int16)215);
write_yield_sequence_node(_yield_sequence_node);
}
public void write_yield_sequence_node(yield_sequence_node _yield_sequence_node)
{
write_statement(_yield_sequence_node);
if (_yield_sequence_node.ex == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_yield_sequence_node.ex.visit(this);
}
}
public void visit(assign_var_tuple _assign_var_tuple)
{
bw.Write((Int16)216);
write_assign_var_tuple(_assign_var_tuple);
}
public void write_assign_var_tuple(assign_var_tuple _assign_var_tuple)
{
write_statement(_assign_var_tuple);
if (_assign_var_tuple.idents == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_assign_var_tuple.idents.visit(this);
}
if (_assign_var_tuple.expr == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_assign_var_tuple.expr.visit(this);
}
}
public void visit(slice_expr_question _slice_expr_question)
{
bw.Write((Int16)217);
write_slice_expr_question(_slice_expr_question);
}
public void write_slice_expr_question(slice_expr_question _slice_expr_question)
{
write_slice_expr(_slice_expr_question);
}
public void visit(semantic_check_sugared_statement_node _semantic_check_sugared_statement_node)
{
bw.Write((Int16)218);
write_semantic_check_sugared_statement_node(_semantic_check_sugared_statement_node);
}
public void write_semantic_check_sugared_statement_node(semantic_check_sugared_statement_node _semantic_check_sugared_statement_node)
{
write_statement(_semantic_check_sugared_statement_node);
bw.Write((byte)_semantic_check_sugared_statement_node.typ);
if (_semantic_check_sugared_statement_node.lst == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_semantic_check_sugared_statement_node.lst.Count);
for(Int32 ssyy_i = 0; ssyy_i < _semantic_check_sugared_statement_node.lst.Count; ssyy_i++)
{
if (_semantic_check_sugared_statement_node.lst[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_semantic_check_sugared_statement_node.lst[ssyy_i].visit(this);
}
}
}
}
public void visit(sugared_expression _sugared_expression)
{
bw.Write((Int16)219);
write_sugared_expression(_sugared_expression);
}
public void write_sugared_expression(sugared_expression _sugared_expression)
{
write_expression(_sugared_expression);
bw.Write((byte)_sugared_expression.sugared_expr);
if (_sugared_expression.new_expr == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_sugared_expression.new_expr.visit(this);
}
}
public void visit(sugared_addressed_value _sugared_addressed_value)
{
bw.Write((Int16)220);
write_sugared_addressed_value(_sugared_addressed_value);
}
public void write_sugared_addressed_value(sugared_addressed_value _sugared_addressed_value)
{
write_addressed_value(_sugared_addressed_value);
bw.Write((byte)_sugared_addressed_value.sugared_expr);
if (_sugared_addressed_value.new_addr_value == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_sugared_addressed_value.new_addr_value.visit(this);
}
}
public void visit(double_question_node _double_question_node)
{
bw.Write((Int16)221);
write_double_question_node(_double_question_node);
}
public void write_double_question_node(double_question_node _double_question_node)
{
write_addressed_value_funcname(_double_question_node);
if (_double_question_node.left == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_double_question_node.left.visit(this);
}
if (_double_question_node.right == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_double_question_node.right.visit(this);
}
}
public void visit(pattern_node _pattern_node)
{
bw.Write((Int16)222);
write_pattern_node(_pattern_node);
}
public void write_pattern_node(pattern_node _pattern_node)
{
write_syntax_tree_node(_pattern_node);
if (_pattern_node.parameters == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_pattern_node.parameters.Count);
for(Int32 ssyy_i = 0; ssyy_i < _pattern_node.parameters.Count; ssyy_i++)
{
if (_pattern_node.parameters[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_pattern_node.parameters[ssyy_i].visit(this);
}
}
}
}
public void visit(type_pattern _type_pattern)
{
bw.Write((Int16)223);
write_type_pattern(_type_pattern);
}
public void write_type_pattern(type_pattern _type_pattern)
{
write_pattern_node(_type_pattern);
if (_type_pattern.identifier == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_type_pattern.identifier.visit(this);
}
if (_type_pattern.type == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_type_pattern.type.visit(this);
}
}
public void visit(is_pattern_expr _is_pattern_expr)
{
bw.Write((Int16)224);
write_is_pattern_expr(_is_pattern_expr);
}
public void write_is_pattern_expr(is_pattern_expr _is_pattern_expr)
{
write_addressed_value(_is_pattern_expr);
if (_is_pattern_expr.left == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_is_pattern_expr.left.visit(this);
}
if (_is_pattern_expr.right == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_is_pattern_expr.right.visit(this);
}
}
public void visit(match_with _match_with)
{
bw.Write((Int16)225);
write_match_with(_match_with);
}
public void write_match_with(match_with _match_with)
{
write_statement(_match_with);
if (_match_with.expr == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_match_with.expr.visit(this);
}
if (_match_with.case_list == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_match_with.case_list.visit(this);
}
if (_match_with.defaultAction == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_match_with.defaultAction.visit(this);
}
}
public void visit(pattern_case _pattern_case)
{
bw.Write((Int16)226);
write_pattern_case(_pattern_case);
}
public void write_pattern_case(pattern_case _pattern_case)
{
write_statement(_pattern_case);
if (_pattern_case.pattern == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_pattern_case.pattern.visit(this);
}
if (_pattern_case.case_action == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_pattern_case.case_action.visit(this);
}
if (_pattern_case.condition == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_pattern_case.condition.visit(this);
}
}
public void visit(pattern_cases _pattern_cases)
{
bw.Write((Int16)227);
write_pattern_cases(_pattern_cases);
}
public void write_pattern_cases(pattern_cases _pattern_cases)
{
write_statement(_pattern_cases);
if (_pattern_cases.elements == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_pattern_cases.elements.Count);
for(Int32 ssyy_i = 0; ssyy_i < _pattern_cases.elements.Count; ssyy_i++)
{
if (_pattern_cases.elements[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_pattern_cases.elements[ssyy_i].visit(this);
}
}
}
}
public void visit(deconstructor_pattern _deconstructor_pattern)
{
bw.Write((Int16)228);
write_deconstructor_pattern(_deconstructor_pattern);
}
public void write_deconstructor_pattern(deconstructor_pattern _deconstructor_pattern)
{
write_pattern_node(_deconstructor_pattern);
if (_deconstructor_pattern.type == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_deconstructor_pattern.type.visit(this);
}
if (_deconstructor_pattern.const_params_check == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_deconstructor_pattern.const_params_check.visit(this);
}
}
public void visit(pattern_parameter _pattern_parameter)
{
bw.Write((Int16)229);
write_pattern_parameter(_pattern_parameter);
}
public void write_pattern_parameter(pattern_parameter _pattern_parameter)
{
write_syntax_tree_node(_pattern_parameter);
}
public void visit(desugared_deconstruction _desugared_deconstruction)
{
bw.Write((Int16)230);
write_desugared_deconstruction(_desugared_deconstruction);
}
public void write_desugared_deconstruction(desugared_deconstruction _desugared_deconstruction)
{
write_statement(_desugared_deconstruction);
if (_desugared_deconstruction.variables == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_desugared_deconstruction.variables.visit(this);
}
if (_desugared_deconstruction.deconstruction_target == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_desugared_deconstruction.deconstruction_target.visit(this);
}
}
public void visit(var_deconstructor_parameter _var_deconstructor_parameter)
{
bw.Write((Int16)231);
write_var_deconstructor_parameter(_var_deconstructor_parameter);
}
public void write_var_deconstructor_parameter(var_deconstructor_parameter _var_deconstructor_parameter)
{
write_pattern_parameter(_var_deconstructor_parameter);
if (_var_deconstructor_parameter.identifier == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_var_deconstructor_parameter.identifier.visit(this);
}
if (_var_deconstructor_parameter.type == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_var_deconstructor_parameter.type.visit(this);
}
bw.Write(_var_deconstructor_parameter.var_keyword_used);
}
public void visit(recursive_deconstructor_parameter _recursive_deconstructor_parameter)
{
bw.Write((Int16)232);
write_recursive_deconstructor_parameter(_recursive_deconstructor_parameter);
}
public void write_recursive_deconstructor_parameter(recursive_deconstructor_parameter _recursive_deconstructor_parameter)
{
write_recursive_pattern_parameter(_recursive_deconstructor_parameter);
}
public void visit(deconstruction_variables_definition _deconstruction_variables_definition)
{
bw.Write((Int16)233);
write_deconstruction_variables_definition(_deconstruction_variables_definition);
}
public void write_deconstruction_variables_definition(deconstruction_variables_definition _deconstruction_variables_definition)
{
write_declaration(_deconstruction_variables_definition);
if (_deconstruction_variables_definition.definitions == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_deconstruction_variables_definition.definitions.Count);
for(Int32 ssyy_i = 0; ssyy_i < _deconstruction_variables_definition.definitions.Count; ssyy_i++)
{
if (_deconstruction_variables_definition.definitions[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_deconstruction_variables_definition.definitions[ssyy_i].visit(this);
}
}
}
}
public void visit(var_tuple_def_statement _var_tuple_def_statement)
{
bw.Write((Int16)234);
write_var_tuple_def_statement(_var_tuple_def_statement);
}
public void write_var_tuple_def_statement(var_tuple_def_statement _var_tuple_def_statement)
{
write_var_def_statement(_var_tuple_def_statement);
}
public void visit(semantic_check_sugared_var_def_statement_node _semantic_check_sugared_var_def_statement_node)
{
bw.Write((Int16)235);
write_semantic_check_sugared_var_def_statement_node(_semantic_check_sugared_var_def_statement_node);
}
public void write_semantic_check_sugared_var_def_statement_node(semantic_check_sugared_var_def_statement_node _semantic_check_sugared_var_def_statement_node)
{
write_var_def_statement(_semantic_check_sugared_var_def_statement_node);
bw.Write((byte)_semantic_check_sugared_var_def_statement_node.typ);
if (_semantic_check_sugared_var_def_statement_node.lst == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_semantic_check_sugared_var_def_statement_node.lst.Count);
for(Int32 ssyy_i = 0; ssyy_i < _semantic_check_sugared_var_def_statement_node.lst.Count; ssyy_i++)
{
if (_semantic_check_sugared_var_def_statement_node.lst[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_semantic_check_sugared_var_def_statement_node.lst[ssyy_i].visit(this);
}
}
}
}
public void visit(const_pattern _const_pattern)
{
bw.Write((Int16)236);
write_const_pattern(_const_pattern);
}
public void write_const_pattern(const_pattern _const_pattern)
{
write_pattern_node(_const_pattern);
if (_const_pattern.pattern_expressions == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_const_pattern.pattern_expressions.visit(this);
}
}
public void visit(tuple_pattern_wild_card _tuple_pattern_wild_card)
{
bw.Write((Int16)237);
write_tuple_pattern_wild_card(_tuple_pattern_wild_card);
}
public void write_tuple_pattern_wild_card(tuple_pattern_wild_card _tuple_pattern_wild_card)
{
write_pattern_parameter(_tuple_pattern_wild_card);
}
public void visit(const_pattern_parameter _const_pattern_parameter)
{
bw.Write((Int16)238);
write_const_pattern_parameter(_const_pattern_parameter);
}
public void write_const_pattern_parameter(const_pattern_parameter _const_pattern_parameter)
{
write_pattern_parameter(_const_pattern_parameter);
if (_const_pattern_parameter.const_param == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_const_pattern_parameter.const_param.visit(this);
}
}
public void visit(wild_card_deconstructor_parameter _wild_card_deconstructor_parameter)
{
bw.Write((Int16)239);
write_wild_card_deconstructor_parameter(_wild_card_deconstructor_parameter);
}
public void write_wild_card_deconstructor_parameter(wild_card_deconstructor_parameter _wild_card_deconstructor_parameter)
{
write_pattern_parameter(_wild_card_deconstructor_parameter);
}
public void visit(collection_pattern _collection_pattern)
{
bw.Write((Int16)240);
write_collection_pattern(_collection_pattern);
}
public void write_collection_pattern(collection_pattern _collection_pattern)
{
write_pattern_node(_collection_pattern);
}
public void visit(collection_pattern_gap_parameter _collection_pattern_gap_parameter)
{
bw.Write((Int16)241);
write_collection_pattern_gap_parameter(_collection_pattern_gap_parameter);
}
public void write_collection_pattern_gap_parameter(collection_pattern_gap_parameter _collection_pattern_gap_parameter)
{
write_pattern_parameter(_collection_pattern_gap_parameter);
}
public void visit(collection_pattern_wild_card _collection_pattern_wild_card)
{
bw.Write((Int16)242);
write_collection_pattern_wild_card(_collection_pattern_wild_card);
}
public void write_collection_pattern_wild_card(collection_pattern_wild_card _collection_pattern_wild_card)
{
write_pattern_parameter(_collection_pattern_wild_card);
}
public void visit(collection_pattern_var_parameter _collection_pattern_var_parameter)
{
bw.Write((Int16)243);
write_collection_pattern_var_parameter(_collection_pattern_var_parameter);
}
public void write_collection_pattern_var_parameter(collection_pattern_var_parameter _collection_pattern_var_parameter)
{
write_pattern_parameter(_collection_pattern_var_parameter);
if (_collection_pattern_var_parameter.identifier == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_collection_pattern_var_parameter.identifier.visit(this);
}
if (_collection_pattern_var_parameter.type == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_collection_pattern_var_parameter.type.visit(this);
}
}
public void visit(recursive_collection_parameter _recursive_collection_parameter)
{
bw.Write((Int16)244);
write_recursive_collection_parameter(_recursive_collection_parameter);
}
public void write_recursive_collection_parameter(recursive_collection_parameter _recursive_collection_parameter)
{
write_recursive_pattern_parameter(_recursive_collection_parameter);
}
public void visit(recursive_pattern_parameter _recursive_pattern_parameter)
{
bw.Write((Int16)245);
write_recursive_pattern_parameter(_recursive_pattern_parameter);
}
public void write_recursive_pattern_parameter(recursive_pattern_parameter _recursive_pattern_parameter)
{
write_pattern_parameter(_recursive_pattern_parameter);
if (_recursive_pattern_parameter.pattern == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_recursive_pattern_parameter.pattern.visit(this);
}
}
public void visit(tuple_pattern _tuple_pattern)
{
bw.Write((Int16)246);
write_tuple_pattern(_tuple_pattern);
}
public void write_tuple_pattern(tuple_pattern _tuple_pattern)
{
write_pattern_node(_tuple_pattern);
}
public void visit(tuple_pattern_var_parameter _tuple_pattern_var_parameter)
{
bw.Write((Int16)247);
write_tuple_pattern_var_parameter(_tuple_pattern_var_parameter);
}
public void write_tuple_pattern_var_parameter(tuple_pattern_var_parameter _tuple_pattern_var_parameter)
{
write_pattern_parameter(_tuple_pattern_var_parameter);
if (_tuple_pattern_var_parameter.identifier == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_tuple_pattern_var_parameter.identifier.visit(this);
}
if (_tuple_pattern_var_parameter.type == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_tuple_pattern_var_parameter.type.visit(this);
}
}
public void visit(recursive_tuple_parameter _recursive_tuple_parameter)
{
bw.Write((Int16)248);
write_recursive_tuple_parameter(_recursive_tuple_parameter);
}
public void write_recursive_tuple_parameter(recursive_tuple_parameter _recursive_tuple_parameter)
{
write_recursive_pattern_parameter(_recursive_tuple_parameter);
}
public void visit(diapason_expr_new _diapason_expr_new)
{
bw.Write((Int16)249);
write_diapason_expr_new(_diapason_expr_new);
}
public void write_diapason_expr_new(diapason_expr_new _diapason_expr_new)
{
write_addressed_value(_diapason_expr_new);
if (_diapason_expr_new.left == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_diapason_expr_new.left.visit(this);
}
if (_diapason_expr_new.right == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_diapason_expr_new.right.visit(this);
}
}
public void visit(if_expr_new _if_expr_new)
{
bw.Write((Int16)250);
write_if_expr_new(_if_expr_new);
}
public void write_if_expr_new(if_expr_new _if_expr_new)
{
write_expression(_if_expr_new);
if (_if_expr_new.condition == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_if_expr_new.condition.visit(this);
}
if (_if_expr_new.if_true == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_if_expr_new.if_true.visit(this);
}
if (_if_expr_new.if_false == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_if_expr_new.if_false.visit(this);
}
}
public void visit(simple_expr_with_deref _simple_expr_with_deref)
{
bw.Write((Int16)251);
write_simple_expr_with_deref(_simple_expr_with_deref);
}
public void write_simple_expr_with_deref(simple_expr_with_deref _simple_expr_with_deref)
{
write_expression(_simple_expr_with_deref);
if (_simple_expr_with_deref.simple_expr == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_simple_expr_with_deref.simple_expr.visit(this);
}
bw.Write(_simple_expr_with_deref.has_deref);
}
public void visit(index _index)
{
bw.Write((Int16)252);
write_index(_index);
}
public void write_index(index _index)
{
write_expression(_index);
if (_index.index_expr == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_index.index_expr.visit(this);
}
bw.Write(_index.inverted);
}
public void visit(array_const_new _array_const_new)
{
bw.Write((Int16)253);
write_array_const_new(_array_const_new);
}
public void write_array_const_new(array_const_new _array_const_new)
{
write_addressed_value(_array_const_new);
if (_array_const_new.elements == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_array_const_new.elements.visit(this);
}
bw.Write(_array_const_new.braces_type);
}
public void visit(semantic_ith_element_of _semantic_ith_element_of)
{
bw.Write((Int16)254);
write_semantic_ith_element_of(_semantic_ith_element_of);
}
public void write_semantic_ith_element_of(semantic_ith_element_of _semantic_ith_element_of)
{
write_expression(_semantic_ith_element_of);
if (_semantic_ith_element_of.id == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_semantic_ith_element_of.id.visit(this);
}
if (_semantic_ith_element_of.index == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_semantic_ith_element_of.index.visit(this);
}
}
public void visit(bigint_const _bigint_const)
{
bw.Write((Int16)255);
write_bigint_const(_bigint_const);
}
public void write_bigint_const(bigint_const _bigint_const)
{
write_const_node(_bigint_const);
bw.Write(_bigint_const.val);
}
public void visit(foreach_stmt_formatting _foreach_stmt_formatting)
{
bw.Write((Int16)256);
write_foreach_stmt_formatting(_foreach_stmt_formatting);
}
public void write_foreach_stmt_formatting(foreach_stmt_formatting _foreach_stmt_formatting)
{
write_statement(_foreach_stmt_formatting);
if (_foreach_stmt_formatting.il == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_foreach_stmt_formatting.il.visit(this);
}
if (_foreach_stmt_formatting.in_what == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_foreach_stmt_formatting.in_what.visit(this);
}
if (_foreach_stmt_formatting.stmt == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_foreach_stmt_formatting.stmt.visit(this);
}
if (_foreach_stmt_formatting.index == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_foreach_stmt_formatting.index.visit(this);
}
}
public void visit(property_ident _property_ident)
{
bw.Write((Int16)257);
write_property_ident(_property_ident);
}
public void write_property_ident(property_ident _property_ident)
{
write_ident(_property_ident);
if (_property_ident.ln == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_property_ident.ln.Count);
for(Int32 ssyy_i = 0; ssyy_i < _property_ident.ln.Count; ssyy_i++)
{
if (_property_ident.ln[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_property_ident.ln[ssyy_i].visit(this);
}
}
}
}
public void visit(expression_with_let _expression_with_let)
{
bw.Write((Int16)258);
write_expression_with_let(_expression_with_let);
}
public void write_expression_with_let(expression_with_let _expression_with_let)
{
write_addressed_value(_expression_with_let);
if (_expression_with_let.stat == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_expression_with_let.stat.visit(this);
}
if (_expression_with_let.expr == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_expression_with_let.expr.visit(this);
}
}
public void visit(lambda_any_type_node_syntax _lambda_any_type_node_syntax)
{
bw.Write((Int16)259);
write_lambda_any_type_node_syntax(_lambda_any_type_node_syntax);
}
public void write_lambda_any_type_node_syntax(lambda_any_type_node_syntax _lambda_any_type_node_syntax)
{
write_expression(_lambda_any_type_node_syntax);
}
public void visit(ref_var_def_statement _ref_var_def_statement)
{
bw.Write((Int16)260);
write_ref_var_def_statement(_ref_var_def_statement);
}
public void write_ref_var_def_statement(ref_var_def_statement _ref_var_def_statement)
{
write_declaration(_ref_var_def_statement);
if (_ref_var_def_statement.var == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_ref_var_def_statement.var.visit(this);
}
if (_ref_var_def_statement.initial_value == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_ref_var_def_statement.initial_value.visit(this);
}
}
public void visit(let_var_expr _let_var_expr)
{
bw.Write((Int16)261);
write_let_var_expr(_let_var_expr);
}
public void write_let_var_expr(let_var_expr _let_var_expr)
{
write_expression(_let_var_expr);
if (_let_var_expr.id == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_let_var_expr.id.visit(this);
}
if (_let_var_expr.ex == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_let_var_expr.ex.visit(this);
}
}
public void visit(to_expr _to_expr)
{
bw.Write((Int16)262);
write_to_expr(_to_expr);
}
public void write_to_expr(to_expr _to_expr)
{
write_expression(_to_expr);
if (_to_expr.key == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_to_expr.key.visit(this);
}
if (_to_expr.value == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_to_expr.value.visit(this);
}
}
public void visit(global_statement _global_statement)
{
bw.Write((Int16)263);
write_global_statement(_global_statement);
}
public void write_global_statement(global_statement _global_statement)
{
write_statement(_global_statement);
if (_global_statement.idents == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_global_statement.idents.visit(this);
}
}
public void visit(generator_object _generator_object)
{
bw.Write((Int16)264);
write_generator_object(_generator_object);
}
public void write_generator_object(generator_object _generator_object)
{
write_addressed_value(_generator_object);
if (_generator_object._expr == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_generator_object._expr.visit(this);
}
if (_generator_object._ident == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_generator_object._ident.visit(this);
}
if (_generator_object._range == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_generator_object._range.visit(this);
}
if (_generator_object._condition == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_generator_object._condition.visit(this);
}
}
public void visit(import_statement _import_statement)
{
bw.Write((Int16)265);
write_import_statement(_import_statement);
}
public void write_import_statement(import_statement _import_statement)
{
write_statement(_import_statement);
if (_import_statement.modules_names == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_import_statement.modules_names.visit(this);
}
}
public void visit(as_statement _as_statement)
{
bw.Write((Int16)266);
write_as_statement(_as_statement);
}
public void write_as_statement(as_statement _as_statement)
{
write_statement(_as_statement);
if (_as_statement.real_name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_as_statement.real_name.visit(this);
}
if (_as_statement.alias == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_as_statement.alias.visit(this);
}
}
public void visit(as_statement_list _as_statement_list)
{
bw.Write((Int16)267);
write_as_statement_list(_as_statement_list);
}
public void write_as_statement_list(as_statement_list _as_statement_list)
{
write_statement(_as_statement_list);
if (_as_statement_list.as_statements == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
bw.Write(_as_statement_list.as_statements.Count);
for(Int32 ssyy_i = 0; ssyy_i < _as_statement_list.as_statements.Count; ssyy_i++)
{
if (_as_statement_list.as_statements[ssyy_i] == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_as_statement_list.as_statements[ssyy_i].visit(this);
}
}
}
}
public void visit(from_import_statement _from_import_statement)
{
bw.Write((Int16)268);
write_from_import_statement(_from_import_statement);
}
public void write_from_import_statement(from_import_statement _from_import_statement)
{
write_statement(_from_import_statement);
if (_from_import_statement.module_name == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_from_import_statement.module_name.visit(this);
}
bw.Write(_from_import_statement.is_star);
if (_from_import_statement.imported_names == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_from_import_statement.imported_names.visit(this);
}
}
public void visit(return_statement _return_statement)
{
bw.Write((Int16)269);
write_return_statement(_return_statement);
}
public void write_return_statement(return_statement _return_statement)
{
write_statement(_return_statement);
if (_return_statement.expr == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_return_statement.expr.visit(this);
}
}
}
}