* Fix spython semantic error * fixed bat, compiler and resources * Переделали на кафедральном компе * Post merge clean up * Adapt code to new changes from master * Squashed commit of the following: commita6f6d8a90bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 23:11:54 2024 +0300 Правки рейтинга в TeacherPlugin commit2365eb3633Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 15:54:15 2024 +0300 LinkLabel в TeacherControlPlugin commit1835b811efAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:51:44 2024 +0300 MathNet Signed commitb23d6df9e9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:16:15 2024 +0300 MathNet.Numerics.dll commit790fba67b8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 27 17:56:09 2024 +0300 3.10.0 commit1ec4204fd2Author: Sun Serega <sunserega2@gmail.com> Date: Mon Aug 26 09:20:27 2024 +0300 `.Batch` cleanup (#3108) commitb5e674c311Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:12:14 2024 +0300 3_10_0 commit7face043cfAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:11:08 2024 +0300 ToSet commite456ad528eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 23:13:57 2024 +0300 3.9.0.3530 commit3247469e6dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 22:55:27 2024 +0300 Добавлен DrawPoints в Turtle Исправлена ошибка с отображением подписей в Y-координате commit7548142623Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 14:27:53 2024 +0300 1. Глобально. SetDecimalSeparator(',') SetNumberFormat(DecimalSeparator := ',' и куча других параметров) s.ToReal(nfi) s.ToReals(nfi) StrToReal(nfi) StrToFloat(nfi) FloatToStr(nfi) var nfi := NumberFormat(DecimalSeparator := ',') s.ToReal(DecimalSeparator := ',') s.ToReals(DecimalSeparator := ',') StrToReal(DecimalSeparator := ',') commitd94885b950Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 12:13:09 2024 +0300 randomElement для строк .ToReals - разделителями могут быть пробел табуляция и переход на новую строку NumberFormat - функция, возвращающая nfi commitae2e26acf8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Aug 23 19:33:55 2024 +0300 PT4 - новые dll файлы старых заданий серий A commit0f8aa6fa3cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 17:28:05 2024 +0300 SetOf как основной синоним HSet commitdb4b53be20Merge:86852e0a5b9fd59a84Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:42 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit86852e0a59Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:14 2024 +0300 School - ToBase(number: int64 commitb9fd59a840Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 15:08:44 2024 +0200 #2830 commit4f0b0f8ba0Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 14:43:49 2024 +0200 #3194 commite3ee0fed4cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 13:49:30 2024 +0200 #3097 commitd396c4a9feAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 10:40:23 2024 +0200 #3178 commit0d846d2335Merge:e91e35398a65a86921Author: Ivan Bondarev <ibond84@googlemail.com> Date: Mon Aug 12 15:24:11 2024 +0200 Merge pull request #3170 from samuraiGH/ForeachResolver-rework Foreach resolver rework commita65a869211Author: samuraiGH <anonimajzer3@mail.ru> Date: Mon Aug 12 15:50:42 2024 +0300 increasing pcu file version commite91e353984Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 11 15:21:29 2024 +0300 Обновленный модуль Turtle.pas commitc18238df39Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 20:18:57 2024 +0300 3.9.0.3523 commit1da2b524a6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 19:34:10 2024 +0300 School PrimeDivisors commit47c61d8b14Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:48:07 2024 +0300 New directive to disable linking pascal standard modules (#3186) * Add new 'disable standard units' directive and it's processing * Refactor InitializeNewUnit function * Improve disable standard units directive checks * Add null check in programs.cs to avoid error * Rename error related to disable standard units directive * Add referencing standard net libraries * Add checks for duplicates when injecting references commitfc3ab96caeAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:46:40 2024 +0300 Delete DocumentedUnits option and Exclude HelpBuilder project (#3192) * Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug Достаточно их аналогов из CompilerOptions. * Add recreating CompilerOptions when reloading Compiler * Change Rebuild checkbox logic * Delete documented units fiels from CompilerInternalDebug * Revert "Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug" This reverts commit 25e92b22722b7e251ab0156148fdf28ee3175c27. * Exclude HelpBuilder commit64acde6460Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 18:21:04 2024 +0300 Сделал возможным неявное приведение некоторого типа к array of T (при описании оператора в виде статической функции класса) School - IsPrime(n) commit3db5709101Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 10:56:18 2024 +0300 ZipCartesianFuncs.pas commitc4fd47128bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Jul 30 22:56:03 2024 +0300 Zip, Cartesian - сделаны внешние функции до 5 параметров, в т.ч. с проекцией Zip, Cartesian - методы расширения дополнены чтобы было как во внешних Перегенерирована справка commit7d66f26d4fAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Mon Jul 1 00:16:43 2024 +0300 cleanup and more tests commit464dc794a8Author: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 23:31:28 2024 +0300 cleanup and more comments commit32f126370cAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 21:35:06 2024 +0300 attempt to fix GetEnumerator resolving for Pascal types commitfb3eeeb28bAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 16:26:35 2024 +0300 fix tests commit84b0dfe537Author: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 15:49:13 2024 +0300 fix getting MethodInfo commit5fa4d9fce7Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:45:07 2024 +0300 cold fix set of T resolving commit460ce636abAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:21:06 2024 +0300 hot fix set of T resolving commit83c2f29ac6Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:53:11 2024 +0300 fix method filtering again commitc840a1a47aAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:32:41 2024 +0300 fix type recovery commit2436627fddAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 19:18:32 2024 +0300 fixing method filtering commit15a05360a4Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:25:39 2024 +0300 attempt to fix GetEnumerator resolving for compiled types commit4fd020d084Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:21:00 2024 +0300 adding tests * Add Test for Global Keyword * Add global_statement syntax tree node * Move Tests * Add SPythonGlobalStatementVisitor * Add SyntaxVisitorError to SPythonGlobalVariableVisitor * Squashed commit of the following: commit 2cd248f986ecdd4c27337939539471a70e728a16 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sun Sep 29 14:05:36 2024 +0300 Update StandardSyntaxTreeConverter.cs commit 6ca1c377f1d1be82176a89f0d1cdf627dc595e75 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sun Sep 29 13:54:30 2024 +0300 Update ListGeneratorNodesVisitor.cs commit 64501e671207f09203fb3d92cd464e4196fa847b Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sun Sep 29 13:49:44 2024 +0300 Add ListGeneratorNodesVisitor commit 469e38b298b076befa9650d3191a52858b40135f Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sun Sep 29 13:07:56 2024 +0300 Add list_generator node commit 8c065cbea88b75b44711516c6c7627ef0da9d03b Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sun Sep 29 12:56:04 2024 +0300 Fix List Assign commit ca3b11ec247ed8d92b6866c505cd6f8ba035492e Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sun Sep 29 12:06:03 2024 +0300 Fix Global Variables in Functions commit f6c9f76346155e6611b118ab8bdaaecd41c2d7f0 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sun Sep 29 11:27:14 2024 +0300 Fix Assign with Type commit 1b41dfed70dd94551457375832bea465d8b49d26 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sun Sep 29 11:17:21 2024 +0300 Fix Global Variables commit 36d83320682079ad1b8a254eb2180998912e9464 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sat Sep 28 20:59:29 2024 +0300 Update AssignToVarConverterVisitor.cs commit 660a33565af24a2fc56842a99a3c7bb4feda5408 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sat Sep 28 20:20:44 2024 +0300 Add Var and Assign Distinction to Visitor commit 1098e5bf0072d3aef9c7a82af98a741b46f7f6bd Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sat Sep 28 18:29:16 2024 +0300 Create t1.pys commit a8747cc41e55b2e4e28cda5ffc0c052c908a5c99 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sat Sep 28 18:24:37 2024 +0300 Move SymbolTable to AssignToVarConverterVisitor commit b31fd297e6187998f9d21e238b39e674fab5021e Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sat Sep 28 17:46:05 2024 +0300 Add EraseGlobalNodeVisitor commit c22a0342fad9a3d40823a0f3a94f067772b92db4 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Mon Sep 16 20:05:44 2024 +0300 Squashed commit of the following: commit8f7e92d418Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Sep 16 08:25:43 2024 +0300 Turtle переделал на паттерн Команда commita6f6d8a90bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 23:11:54 2024 +0300 Правки рейтинга в TeacherPlugin commit2365eb3633Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 15:54:15 2024 +0300 LinkLabel в TeacherControlPlugin commit1835b811efAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:51:44 2024 +0300 MathNet Signed commitb23d6df9e9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:16:15 2024 +0300 MathNet.Numerics.dll commit790fba67b8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 27 17:56:09 2024 +0300 3.10.0 commit1ec4204fd2Author: Sun Serega <sunserega2@gmail.com> Date: Mon Aug 26 09:20:27 2024 +0300 `.Batch` cleanup (#3108) commitb5e674c311Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:12:14 2024 +0300 3_10_0 commit7face043cfAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:11:08 2024 +0300 ToSet commite456ad528eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 23:13:57 2024 +0300 3.9.0.3530 commit3247469e6dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 22:55:27 2024 +0300 Добавлен DrawPoints в Turtle Исправлена ошибка с отображением подписей в Y-координате commit7548142623Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 14:27:53 2024 +0300 1. Глобально. SetDecimalSeparator(',') SetNumberFormat(DecimalSeparator := ',' и куча других параметров) s.ToReal(nfi) s.ToReals(nfi) StrToReal(nfi) StrToFloat(nfi) FloatToStr(nfi) var nfi := NumberFormat(DecimalSeparator := ',') s.ToReal(DecimalSeparator := ',') s.ToReals(DecimalSeparator := ',') StrToReal(DecimalSeparator := ',') commitd94885b950Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 12:13:09 2024 +0300 randomElement для строк .ToReals - разделителями могут быть пробел табуляция и переход на новую строку NumberFormat - функция, возвращающая nfi commitae2e26acf8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Aug 23 19:33:55 2024 +0300 PT4 - новые dll файлы старых заданий серий A commit0f8aa6fa3cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 17:28:05 2024 +0300 SetOf как основной синоним HSet commitdb4b53be20Merge:86852e0a5b9fd59a84Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:42 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit86852e0a59Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:14 2024 +0300 School - ToBase(number: int64 commitb9fd59a840Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 15:08:44 2024 +0200 #2830 commit4f0b0f8ba0Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 14:43:49 2024 +0200 #3194 commite3ee0fed4cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 13:49:30 2024 +0200 #3097 commitd396c4a9feAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 10:40:23 2024 +0200 #3178 commit0d846d2335Merge:e91e35398a65a86921Author: Ivan Bondarev <ibond84@googlemail.com> Date: Mon Aug 12 15:24:11 2024 +0200 Merge pull request #3170 from samuraiGH/ForeachResolver-rework Foreach resolver rework commita65a869211Author: samuraiGH <anonimajzer3@mail.ru> Date: Mon Aug 12 15:50:42 2024 +0300 increasing pcu file version commite91e353984Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 11 15:21:29 2024 +0300 Обновленный модуль Turtle.pas commitc18238df39Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 20:18:57 2024 +0300 3.9.0.3523 commit1da2b524a6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 19:34:10 2024 +0300 School PrimeDivisors commit47c61d8b14Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:48:07 2024 +0300 New directive to disable linking pascal standard modules (#3186) * Add new 'disable standard units' directive and it's processing * Refactor InitializeNewUnit function * Improve disable standard units directive checks * Add null check in programs.cs to avoid error * Rename error related to disable standard units directive * Add referencing standard net libraries * Add checks for duplicates when injecting references commitfc3ab96caeAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:46:40 2024 +0300 Delete DocumentedUnits option and Exclude HelpBuilder project (#3192) * Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug Достаточно их аналогов из CompilerOptions. * Add recreating CompilerOptions when reloading Compiler * Change Rebuild checkbox logic * Delete documented units fiels from CompilerInternalDebug * Revert "Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug" This reverts commit 25e92b22722b7e251ab0156148fdf28ee3175c27. * Exclude HelpBuilder commit64acde6460Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 18:21:04 2024 +0300 Сделал возможным неявное приведение некоторого типа к array of T (при описании оператора в виде статической функции класса) School - IsPrime(n) commit3db5709101Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 10:56:18 2024 +0300 ZipCartesianFuncs.pas commitc4fd47128bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Jul 30 22:56:03 2024 +0300 Zip, Cartesian - сделаны внешние функции до 5 параметров, в т.ч. с проекцией Zip, Cartesian - методы расширения дополнены чтобы было как во внешних Перегенерирована справка commit7d66f26d4fAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Mon Jul 1 00:16:43 2024 +0300 cleanup and more tests commit464dc794a8Author: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 23:31:28 2024 +0300 cleanup and more comments commit32f126370cAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 21:35:06 2024 +0300 attempt to fix GetEnumerator resolving for Pascal types commitfb3eeeb28bAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 16:26:35 2024 +0300 fix tests commit84b0dfe537Author: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 15:49:13 2024 +0300 fix getting MethodInfo commit5fa4d9fce7Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:45:07 2024 +0300 cold fix set of T resolving commit460ce636abAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:21:06 2024 +0300 hot fix set of T resolving commit83c2f29ac6Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:53:11 2024 +0300 fix method filtering again commitc840a1a47aAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:32:41 2024 +0300 fix type recovery commit2436627fddAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 19:18:32 2024 +0300 fixing method filtering commit15a05360a4Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:25:39 2024 +0300 attempt to fix GetEnumerator resolving for compiled types commit4fd020d084Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:21:00 2024 +0300 adding tests * Add result Variable Name to Local Variables * Add node for SPython method call * Add SPythonMethodCallVisitor * Fix usage of currentFileName field * Squashed commit of the following: commit53b3fd0881Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Oct 9 14:09:01 2024 +0300 Добавил временное преобразование от array of T в set of T commit271d5792ceAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Tue Oct 8 10:00:14 2024 +0300 Documentation (#3211) * Add Compiler documentation * Add Intellisense documentation * Move documentation folder to root directory commit79f9ab73a0Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Oct 5 15:33:20 2024 +0300 PT4_32 commit0a20c8d32cAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Sep 26 09:02:31 2024 +0200 Add `.DistinctBy` (#3122) commit11981dbf47Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Sep 25 11:53:02 2024 +0300 IndexMinBy, IndexMaxBy MinBy, MaxBy - более эффективная реализация GraphWPF - SaveToClipboard commit3eb1d2bd85Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 17:42:09 2024 +0200 #3197 commit20edd487e3Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 12:39:03 2024 +0200 #3204 commit7261231c9cMerge:7debbe7029ab932977Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 09:49:58 2024 +0200 Merge pull request #3207 from AlexanderZemlyak/fix_linux_version Fix linux version commit9ab9329771Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Sun Sep 22 10:23:18 2024 +0300 Add new projects in PascalACBNETLinux.sln commit7debbe702aAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 21 14:29:38 2024 +0300 Критическое обновление LightPT commit40335b873eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Sep 20 22:58:46 2024 +0300 LightPT - OutputListIsClearedFromSpaces := False; Coords - DrawLine commit078281db17Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Sep 19 22:42:44 2024 +0300 coords suite commit8d51f999a5Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Sep 19 20:28:28 2024 +0300 Автоклассы - разрешение наследования от классов без полей Модуль Coords commit8f7e92d418Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Sep 16 08:25:43 2024 +0300 Turtle переделал на паттерн Команда commita6f6d8a90bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 23:11:54 2024 +0300 Правки рейтинга в TeacherPlugin commit2365eb3633Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 15:54:15 2024 +0300 LinkLabel в TeacherControlPlugin commit1835b811efAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:51:44 2024 +0300 MathNet Signed commitb23d6df9e9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:16:15 2024 +0300 MathNet.Numerics.dll commit790fba67b8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 27 17:56:09 2024 +0300 3.10.0 commit1ec4204fd2Author: Sun Serega <sunserega2@gmail.com> Date: Mon Aug 26 09:20:27 2024 +0300 `.Batch` cleanup (#3108) commitb5e674c311Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:12:14 2024 +0300 3_10_0 commit7face043cfAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:11:08 2024 +0300 ToSet commite456ad528eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 23:13:57 2024 +0300 3.9.0.3530 commit3247469e6dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 22:55:27 2024 +0300 Добавлен DrawPoints в Turtle Исправлена ошибка с отображением подписей в Y-координате commit7548142623Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 14:27:53 2024 +0300 1. Глобально. SetDecimalSeparator(',') SetNumberFormat(DecimalSeparator := ',' и куча других параметров) s.ToReal(nfi) s.ToReals(nfi) StrToReal(nfi) StrToFloat(nfi) FloatToStr(nfi) var nfi := NumberFormat(DecimalSeparator := ',') s.ToReal(DecimalSeparator := ',') s.ToReals(DecimalSeparator := ',') StrToReal(DecimalSeparator := ',') commitd94885b950Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 12:13:09 2024 +0300 randomElement для строк .ToReals - разделителями могут быть пробел табуляция и переход на новую строку NumberFormat - функция, возвращающая nfi commitae2e26acf8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Aug 23 19:33:55 2024 +0300 PT4 - новые dll файлы старых заданий серий A commit0f8aa6fa3cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 17:28:05 2024 +0300 SetOf как основной синоним HSet commitdb4b53be20Merge:86852e0a5b9fd59a84Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:42 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit86852e0a59Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:14 2024 +0300 School - ToBase(number: int64 commitb9fd59a840Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 15:08:44 2024 +0200 #2830 commit4f0b0f8ba0Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 14:43:49 2024 +0200 #3194 commite3ee0fed4cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 13:49:30 2024 +0200 #3097 commitd396c4a9feAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 10:40:23 2024 +0200 #3178 commit0d846d2335Merge:e91e35398a65a86921Author: Ivan Bondarev <ibond84@googlemail.com> Date: Mon Aug 12 15:24:11 2024 +0200 Merge pull request #3170 from samuraiGH/ForeachResolver-rework Foreach resolver rework commita65a869211Author: samuraiGH <anonimajzer3@mail.ru> Date: Mon Aug 12 15:50:42 2024 +0300 increasing pcu file version commite91e353984Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 11 15:21:29 2024 +0300 Обновленный модуль Turtle.pas commitc18238df39Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 20:18:57 2024 +0300 3.9.0.3523 commit1da2b524a6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 19:34:10 2024 +0300 School PrimeDivisors commit47c61d8b14Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:48:07 2024 +0300 New directive to disable linking pascal standard modules (#3186) * Add new 'disable standard units' directive and it's processing * Refactor InitializeNewUnit function * Improve disable standard units directive checks * Add null check in programs.cs to avoid error * Rename error related to disable standard units directive * Add referencing standard net libraries * Add checks for duplicates when injecting references commitfc3ab96caeAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:46:40 2024 +0300 Delete DocumentedUnits option and Exclude HelpBuilder project (#3192) * Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug Достаточно их аналогов из CompilerOptions. * Add recreating CompilerOptions when reloading Compiler * Change Rebuild checkbox logic * Delete documented units fiels from CompilerInternalDebug * Revert "Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug" This reverts commit 25e92b22722b7e251ab0156148fdf28ee3175c27. * Exclude HelpBuilder commit64acde6460Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 18:21:04 2024 +0300 Сделал возможным неявное приведение некоторого типа к array of T (при описании оператора в виде статической функции класса) School - IsPrime(n) commit3db5709101Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 10:56:18 2024 +0300 ZipCartesianFuncs.pas commitc4fd47128bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Jul 30 22:56:03 2024 +0300 Zip, Cartesian - сделаны внешние функции до 5 параметров, в т.ч. с проекцией Zip, Cartesian - методы расширения дополнены чтобы было как во внешних Перегенерирована справка commit7d66f26d4fAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Mon Jul 1 00:16:43 2024 +0300 cleanup and more tests commit464dc794a8Author: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 23:31:28 2024 +0300 cleanup and more comments commit32f126370cAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 21:35:06 2024 +0300 attempt to fix GetEnumerator resolving for Pascal types commitfb3eeeb28bAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 16:26:35 2024 +0300 fix tests commit84b0dfe537Author: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 15:49:13 2024 +0300 fix getting MethodInfo commit5fa4d9fce7Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:45:07 2024 +0300 cold fix set of T resolving commit460ce636abAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:21:06 2024 +0300 hot fix set of T resolving commit83c2f29ac6Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:53:11 2024 +0300 fix method filtering again commitc840a1a47aAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:32:41 2024 +0300 fix type recovery commit2436627fddAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 19:18:32 2024 +0300 fixing method filtering commit15a05360a4Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:25:39 2024 +0300 attempt to fix GetEnumerator resolving for compiled types commit4fd020d084Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:21:00 2024 +0300 adding tests * Add time dot time handle Visitor * Move time dot time handeling to visitor only * Delete test_indented.txt * Create random1.pys * Add Examples * Squashed commit of the following: commit 115ed2e1b7b361b35f0b213688ad0838e0bffa69 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Thu Nov 7 10:21:08 2024 +0300 Add from import Handling commit bdd3eb785e6c719201104497808e89dc20c4eacc Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sun Nov 3 12:59:29 2024 +0300 Add 'Import As' commit e5747aa56e359633be366887d3cf67d1ec054701 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sun Nov 3 11:08:50 2024 +0300 Add Ident_list to import commit 9d16fdb341b329adae45dec2bf6db04d8572675f Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sun Nov 3 10:01:13 2024 +0300 Move Import Handling to Visitor commit d8a0e8f5ee840e3ff15caafd7a456f91e1f2a962 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sat Nov 2 18:36:10 2024 +0300 Rename of Productions Related to Import commit 71282a457ab0c039a2f42c05249336d92ac76e7a Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sat Nov 2 18:33:41 2024 +0300 Move import to Statements * Add new AST visitors call template * Add syntax tree parameter * Add SpecialSyntaxTreeConverter * Add CollectNamesVisitor * Read Symbols from Semantic Tree * Add Visitor Renewaling * Fix Usage of Standard Libraries * Update AssignToVarConverterVisitor.cs * Fix Foreach Node Visitor * Refactor InterpreterVisitor (alpha version) * Add Imports Nodes for Declarations * Rename Method for Sending Object * Fix Remove in interface_node * Add ApplyConversionsAfterUsedModulesCompilation method to ILanguage interface * Rename ApplyConcreteConversions to ApplyConversions * Squashed commit of the following: commita484b0e82dAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Dec 12 13:49:17 2024 +0200 fix (#3231) commit6ef11f249cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 11:05:45 2024 +0300 3.10.2 commitdb9679d89fAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 10:59:20 2024 +0300 Закончил превращение синтаксиса [] по умолчанию в массивы commit45fdde24b4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 18:08:00 2024 +0100 #3229 commit494b47624dMerge:5875b99297906d73daAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:42:07 2024 +0100 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit5875b99296Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:41:53 2024 +0100 platformtarget native - .NET 9.0 commit7906d73da3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 3 14:25:37 2024 +0300 Небольшие изменения в реализации операций с множествами commit087591c7b6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 27 11:37:07 2024 +0300 3.10.1 Coords - доработки Distance, Middle, DrawText с фоном и рамкой. Глобальные переменные настройки commitd268d4f83bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Nov 21 22:24:07 2024 +0300 NSToBytes переделал с исключением commit2bacdc8c28Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 13:20:33 2024 +0300 Комментарии к NewSet commite917ac8ecaAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 12:42:15 2024 +0300 TypeName для set commit206289c6a7Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 20:23:03 2024 +0300 Везде заменил _hs на hs в NewSet Убрал вызовы методов расширений NewSet в PABCSystem.pas Убрал var в operator + commitd8262078f6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 13:56:47 2024 +0300 Исправление мелких ошибок NewSet Все тесты проходят. Проблема, которая остаётся - в режиме ускорения такие программы падают: begin var s: set of byte; Print(s = [1]); end. Причина - из dll не вызывается конструктор записи без параметров, хотя он определён. В C# вообще у записей не может быть конструктора по умолчанию - наверное потому. Но для NewSet надо бы сделать исключение commitf8819665baAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 16 10:56:11 2024 +0300 NS2 commit591d9ebe60Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:34:10 2024 +0100 fix commitc6505634f4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:12:33 2024 +0100 fix commita6564df23cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 20:52:29 2024 +0100 fix in new sets commit03be5bd931Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 13 22:13:41 2024 +0300 Переставил operator:= в NewSet commit96c68f1666Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Nov 12 21:38:07 2024 +0100 #3223 commit82776f3c77Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 9 12:18:19 2024 +0300 NewSet - много мелких исправлений. Все тесты проходят кроме Tests 5 - видимо с pabcrtl.dll commitfbd63efa89Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Nov 3 16:59:48 2024 +0300 NewSets Некоторые тесты надо исправить commit746c4ae2c2Author: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 21:00:42 2024 +0100 #3221 commit350d07326dAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 18:35:51 2024 +0100 #3221 commitaae9ab408bAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 18:25:06 2024 +0100 #3221 commit1e4a811e04Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Oct 30 20:42:59 2024 +0100 test for #3219 commitd1a1247ecdAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Oct 30 20:24:16 2024 +0100 #3219 commit13b3071d80Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Oct 28 22:42:17 2024 +0300 закомментировал extensions преобразования arr to set. Надеюсь в новой реализации всё исправить commit6d5c18f457Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Oct 24 10:17:48 2024 +0300 SF XLSX.pas commit0c773a7ecbAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Oct 16 12:04:33 2024 +0300 tree.xml с парой новых узлов для Питона commit53b3fd0881Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Oct 9 14:09:01 2024 +0300 Добавил временное преобразование от array of T в set of T commit271d5792ceAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Tue Oct 8 10:00:14 2024 +0300 Documentation (#3211) * Add Compiler documentation * Add Intellisense documentation * Move documentation folder to root directory commit79f9ab73a0Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Oct 5 15:33:20 2024 +0300 PT4_32 commit0a20c8d32cAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Sep 26 09:02:31 2024 +0200 Add `.DistinctBy` (#3122) commit11981dbf47Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Sep 25 11:53:02 2024 +0300 IndexMinBy, IndexMaxBy MinBy, MaxBy - более эффективная реализация GraphWPF - SaveToClipboard commit3eb1d2bd85Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 17:42:09 2024 +0200 #3197 commit20edd487e3Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 12:39:03 2024 +0200 #3204 commit7261231c9cMerge:7debbe7029ab932977Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 09:49:58 2024 +0200 Merge pull request #3207 from AlexanderZemlyak/fix_linux_version Fix linux version commit9ab9329771Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Sun Sep 22 10:23:18 2024 +0300 Add new projects in PascalACBNETLinux.sln commit7debbe702aAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 21 14:29:38 2024 +0300 Критическое обновление LightPT commit40335b873eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Sep 20 22:58:46 2024 +0300 LightPT - OutputListIsClearedFromSpaces := False; Coords - DrawLine commit078281db17Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Sep 19 22:42:44 2024 +0300 coords suite commit8d51f999a5Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Sep 19 20:28:28 2024 +0300 Автоклассы - разрешение наследования от классов без полей Модуль Coords commit8f7e92d418Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Sep 16 08:25:43 2024 +0300 Turtle переделал на паттерн Команда commita6f6d8a90bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 23:11:54 2024 +0300 Правки рейтинга в TeacherPlugin commit2365eb3633Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 15:54:15 2024 +0300 LinkLabel в TeacherControlPlugin commit1835b811efAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:51:44 2024 +0300 MathNet Signed commitb23d6df9e9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:16:15 2024 +0300 MathNet.Numerics.dll commit790fba67b8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 27 17:56:09 2024 +0300 3.10.0 commit1ec4204fd2Author: Sun Serega <sunserega2@gmail.com> Date: Mon Aug 26 09:20:27 2024 +0300 `.Batch` cleanup (#3108) commitb5e674c311Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:12:14 2024 +0300 3_10_0 commit7face043cfAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:11:08 2024 +0300 ToSet commite456ad528eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 23:13:57 2024 +0300 3.9.0.3530 commit3247469e6dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 22:55:27 2024 +0300 Добавлен DrawPoints в Turtle Исправлена ошибка с отображением подписей в Y-координате commit7548142623Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 14:27:53 2024 +0300 1. Глобально. SetDecimalSeparator(',') SetNumberFormat(DecimalSeparator := ',' и куча других параметров) s.ToReal(nfi) s.ToReals(nfi) StrToReal(nfi) StrToFloat(nfi) FloatToStr(nfi) var nfi := NumberFormat(DecimalSeparator := ',') s.ToReal(DecimalSeparator := ',') s.ToReals(DecimalSeparator := ',') StrToReal(DecimalSeparator := ',') commitd94885b950Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 12:13:09 2024 +0300 randomElement для строк .ToReals - разделителями могут быть пробел табуляция и переход на новую строку NumberFormat - функция, возвращающая nfi commitae2e26acf8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Aug 23 19:33:55 2024 +0300 PT4 - новые dll файлы старых заданий серий A commit0f8aa6fa3cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 17:28:05 2024 +0300 SetOf как основной синоним HSet commitdb4b53be20Merge:86852e0a5b9fd59a84Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:42 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit86852e0a59Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:14 2024 +0300 School - ToBase(number: int64 commitb9fd59a840Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 15:08:44 2024 +0200 #2830 commit4f0b0f8ba0Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 14:43:49 2024 +0200 #3194 commite3ee0fed4cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 13:49:30 2024 +0200 #3097 commitd396c4a9feAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 10:40:23 2024 +0200 #3178 commit0d846d2335Merge:e91e35398a65a86921Author: Ivan Bondarev <ibond84@googlemail.com> Date: Mon Aug 12 15:24:11 2024 +0200 Merge pull request #3170 from samuraiGH/ForeachResolver-rework Foreach resolver rework commita65a869211Author: samuraiGH <anonimajzer3@mail.ru> Date: Mon Aug 12 15:50:42 2024 +0300 increasing pcu file version commite91e353984Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 11 15:21:29 2024 +0300 Обновленный модуль Turtle.pas commitc18238df39Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 20:18:57 2024 +0300 3.9.0.3523 commit1da2b524a6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 19:34:10 2024 +0300 School PrimeDivisors commit47c61d8b14Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:48:07 2024 +0300 New directive to disable linking pascal standard modules (#3186) * Add new 'disable standard units' directive and it's processing * Refactor InitializeNewUnit function * Improve disable standard units directive checks * Add null check in programs.cs to avoid error * Rename error related to disable standard units directive * Add referencing standard net libraries * Add checks for duplicates when injecting references commitfc3ab96caeAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:46:40 2024 +0300 Delete DocumentedUnits option and Exclude HelpBuilder project (#3192) * Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug Достаточно их аналогов из CompilerOptions. * Add recreating CompilerOptions when reloading Compiler * Change Rebuild checkbox logic * Delete documented units fiels from CompilerInternalDebug * Revert "Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug" This reverts commit 25e92b22722b7e251ab0156148fdf28ee3175c27. * Exclude HelpBuilder commit64acde6460Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 18:21:04 2024 +0300 Сделал возможным неявное приведение некоторого типа к array of T (при описании оператора в виде статической функции класса) School - IsPrime(n) commit3db5709101Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 10:56:18 2024 +0300 ZipCartesianFuncs.pas commitc4fd47128bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Jul 30 22:56:03 2024 +0300 Zip, Cartesian - сделаны внешние функции до 5 параметров, в т.ч. с проекцией Zip, Cartesian - методы расширения дополнены чтобы было как во внешних Перегенерирована справка commit7d66f26d4fAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Mon Jul 1 00:16:43 2024 +0300 cleanup and more tests commit464dc794a8Author: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 23:31:28 2024 +0300 cleanup and more comments commit32f126370cAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 21:35:06 2024 +0300 attempt to fix GetEnumerator resolving for Pascal types commitfb3eeeb28bAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 16:26:35 2024 +0300 fix tests commit84b0dfe537Author: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 15:49:13 2024 +0300 fix getting MethodInfo commit5fa4d9fce7Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:45:07 2024 +0300 cold fix set of T resolving commit460ce636abAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:21:06 2024 +0300 hot fix set of T resolving commit83c2f29ac6Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:53:11 2024 +0300 fix method filtering again commitc840a1a47aAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:32:41 2024 +0300 fix type recovery commit2436627fddAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 19:18:32 2024 +0300 fixing method filtering commit15a05360a4Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:25:39 2024 +0300 attempt to fix GetEnumerator resolving for compiled types commit4fd020d084Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:21:00 2024 +0300 adding tests * Move unitNames dictionary to CompilationUnit class * Implement Spython StringResorces for SyntaxTree Converters * Move post conversion method to ISyntaxTreeConverter interface * Override get_system_module in SpythonSyntaxTreeVisitor * Fix Unit and Function Having Same Name Bug * Add TimeMeasurements Programs * Swap Visitors for Supporting New Imports * Fix Function with Named Parameters Substitution * Add Error for Using Global * Fix yyloc Bug and Add SyntaxVisiters Errors * Move List Desugar from Visiter to Parser (temp) * Move List Generator Desugaring Back to Visitors * Add Args after Kvarg Error Message * Fix Parser and Visitors' Errors Messages * Moved Examples Programs * Update Name Substitution Logic * Squashed commit of the following: commitb68b8da970Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 17 15:52:18 2024 +0300 Примеры Coords1.pas Coords2.pas.pas commit8a9788e6f9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 17 15:06:57 2024 +0300 Перенес проверку set array на уровень парсера Немного поправил Intellisense по наведению для NewSet По точке там что то другое работает commit874ddebad3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 21:00:38 2024 +0300 Поправил грамматику [] Теперь нельзя в режиме ## использовать атрибуты Зато можно [1,2,3].Print commit080fb487e1Merge:a53dcd9eda484b0e82Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 15:25:24 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commita53dcd9ed2Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 15:25:16 2024 +0300 SF Prm Cmb для строк commita484b0e82dAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Dec 12 13:49:17 2024 +0200 fix (#3231) commit6ef11f249cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 11:05:45 2024 +0300 3.10.2 commitdb9679d89fAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 10:59:20 2024 +0300 Закончил превращение синтаксиса [] по умолчанию в массивы commit45fdde24b4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 18:08:00 2024 +0100 #3229 commit494b47624dMerge:5875b99297906d73daAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:42:07 2024 +0100 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit5875b99296Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:41:53 2024 +0100 platformtarget native - .NET 9.0 commit7906d73da3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 3 14:25:37 2024 +0300 Небольшие изменения в реализации операций с множествами commit087591c7b6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 27 11:37:07 2024 +0300 3.10.1 Coords - доработки Distance, Middle, DrawText с фоном и рамкой. Глобальные переменные настройки commitd268d4f83bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Nov 21 22:24:07 2024 +0300 NSToBytes переделал с исключением commit2bacdc8c28Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 13:20:33 2024 +0300 Комментарии к NewSet commite917ac8ecaAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 12:42:15 2024 +0300 TypeName для set commit206289c6a7Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 20:23:03 2024 +0300 Везде заменил _hs на hs в NewSet Убрал вызовы методов расширений NewSet в PABCSystem.pas Убрал var в operator + commitd8262078f6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 13:56:47 2024 +0300 Исправление мелких ошибок NewSet Все тесты проходят. Проблема, которая остаётся - в режиме ускорения такие программы падают: begin var s: set of byte; Print(s = [1]); end. Причина - из dll не вызывается конструктор записи без параметров, хотя он определён. В C# вообще у записей не может быть конструктора по умолчанию - наверное потому. Но для NewSet надо бы сделать исключение commitf8819665baAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 16 10:56:11 2024 +0300 NS2 commit591d9ebe60Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:34:10 2024 +0100 fix commitc6505634f4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:12:33 2024 +0100 fix commita6564df23cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 20:52:29 2024 +0100 fix in new sets commit03be5bd931Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 13 22:13:41 2024 +0300 Переставил operator:= в NewSet commit96c68f1666Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Nov 12 21:38:07 2024 +0100 #3223 commit82776f3c77Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 9 12:18:19 2024 +0300 NewSet - много мелких исправлений. Все тесты проходят кроме Tests 5 - видимо с pabcrtl.dll commitfbd63efa89Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Nov 3 16:59:48 2024 +0300 NewSets Некоторые тесты надо исправить commit746c4ae2c2Author: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 21:00:42 2024 +0100 #3221 commit350d07326dAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 18:35:51 2024 +0100 #3221 commitaae9ab408bAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 18:25:06 2024 +0100 #3221 commit1e4a811e04Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Oct 30 20:42:59 2024 +0100 test for #3219 commitd1a1247ecdAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Oct 30 20:24:16 2024 +0100 #3219 commit13b3071d80Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Oct 28 22:42:17 2024 +0300 закомментировал extensions преобразования arr to set. Надеюсь в новой реализации всё исправить commit6d5c18f457Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Oct 24 10:17:48 2024 +0300 SF XLSX.pas commit0c773a7ecbAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Oct 16 12:04:33 2024 +0300 tree.xml с парой новых узлов для Питона commit53b3fd0881Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Oct 9 14:09:01 2024 +0300 Добавил временное преобразование от array of T в set of T commit271d5792ceAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Tue Oct 8 10:00:14 2024 +0300 Documentation (#3211) * Add Compiler documentation * Add Intellisense documentation * Move documentation folder to root directory commit79f9ab73a0Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Oct 5 15:33:20 2024 +0300 PT4_32 commit0a20c8d32cAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Sep 26 09:02:31 2024 +0200 Add `.DistinctBy` (#3122) commit11981dbf47Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Sep 25 11:53:02 2024 +0300 IndexMinBy, IndexMaxBy MinBy, MaxBy - более эффективная реализация GraphWPF - SaveToClipboard commit3eb1d2bd85Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 17:42:09 2024 +0200 #3197 commit20edd487e3Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 12:39:03 2024 +0200 #3204 commit7261231c9cMerge:7debbe7029ab932977Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 09:49:58 2024 +0200 Merge pull request #3207 from AlexanderZemlyak/fix_linux_version Fix linux version commit9ab9329771Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Sun Sep 22 10:23:18 2024 +0300 Add new projects in PascalACBNETLinux.sln commit7debbe702aAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 21 14:29:38 2024 +0300 Критическое обновление LightPT commit40335b873eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Sep 20 22:58:46 2024 +0300 LightPT - OutputListIsClearedFromSpaces := False; Coords - DrawLine commit078281db17Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Sep 19 22:42:44 2024 +0300 coords suite commit8d51f999a5Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Sep 19 20:28:28 2024 +0300 Автоклассы - разрешение наследования от классов без полей Модуль Coords commit8f7e92d418Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Sep 16 08:25:43 2024 +0300 Turtle переделал на паттерн Команда commita6f6d8a90bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 23:11:54 2024 +0300 Правки рейтинга в TeacherPlugin commit2365eb3633Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 15:54:15 2024 +0300 LinkLabel в TeacherControlPlugin commit1835b811efAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:51:44 2024 +0300 MathNet Signed commitb23d6df9e9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:16:15 2024 +0300 MathNet.Numerics.dll commit790fba67b8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 27 17:56:09 2024 +0300 3.10.0 commit1ec4204fd2Author: Sun Serega <sunserega2@gmail.com> Date: Mon Aug 26 09:20:27 2024 +0300 `.Batch` cleanup (#3108) commitb5e674c311Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:12:14 2024 +0300 3_10_0 commit7face043cfAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:11:08 2024 +0300 ToSet commite456ad528eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 23:13:57 2024 +0300 3.9.0.3530 commit3247469e6dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 22:55:27 2024 +0300 Добавлен DrawPoints в Turtle Исправлена ошибка с отображением подписей в Y-координате commit7548142623Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 14:27:53 2024 +0300 1. Глобально. SetDecimalSeparator(',') SetNumberFormat(DecimalSeparator := ',' и куча других параметров) s.ToReal(nfi) s.ToReals(nfi) StrToReal(nfi) StrToFloat(nfi) FloatToStr(nfi) var nfi := NumberFormat(DecimalSeparator := ',') s.ToReal(DecimalSeparator := ',') s.ToReals(DecimalSeparator := ',') StrToReal(DecimalSeparator := ',') commitd94885b950Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 12:13:09 2024 +0300 randomElement для строк .ToReals - разделителями могут быть пробел табуляция и переход на новую строку NumberFormat - функция, возвращающая nfi commitae2e26acf8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Aug 23 19:33:55 2024 +0300 PT4 - новые dll файлы старых заданий серий A commit0f8aa6fa3cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 17:28:05 2024 +0300 SetOf как основной синоним HSet commitdb4b53be20Merge:86852e0a5b9fd59a84Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:42 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit86852e0a59Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:14 2024 +0300 School - ToBase(number: int64 commitb9fd59a840Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 15:08:44 2024 +0200 #2830 commit4f0b0f8ba0Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 14:43:49 2024 +0200 #3194 commite3ee0fed4cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 13:49:30 2024 +0200 #3097 commitd396c4a9feAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 10:40:23 2024 +0200 #3178 commit0d846d2335Merge:e91e35398a65a86921Author: Ivan Bondarev <ibond84@googlemail.com> Date: Mon Aug 12 15:24:11 2024 +0200 Merge pull request #3170 from samuraiGH/ForeachResolver-rework Foreach resolver rework commita65a869211Author: samuraiGH <anonimajzer3@mail.ru> Date: Mon Aug 12 15:50:42 2024 +0300 increasing pcu file version commite91e353984Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 11 15:21:29 2024 +0300 Обновленный модуль Turtle.pas commitc18238df39Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 20:18:57 2024 +0300 3.9.0.3523 commit1da2b524a6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 19:34:10 2024 +0300 School PrimeDivisors commit47c61d8b14Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:48:07 2024 +0300 New directive to disable linking pascal standard modules (#3186) * Add new 'disable standard units' directive and it's processing * Refactor InitializeNewUnit function * Improve disable standard units directive checks * Add null check in programs.cs to avoid error * Rename error related to disable standard units directive * Add referencing standard net libraries * Add checks for duplicates when injecting references commitfc3ab96caeAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:46:40 2024 +0300 Delete DocumentedUnits option and Exclude HelpBuilder project (#3192) * Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug Достаточно их аналогов из CompilerOptions. * Add recreating CompilerOptions when reloading Compiler * Change Rebuild checkbox logic * Delete documented units fiels from CompilerInternalDebug * Revert "Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug" This reverts commit 25e92b22722b7e251ab0156148fdf28ee3175c27. * Exclude HelpBuilder commit64acde6460Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 18:21:04 2024 +0300 Сделал возможным неявное приведение некоторого типа к array of T (при описании оператора в виде статической функции класса) School - IsPrime(n) commit3db5709101Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 10:56:18 2024 +0300 ZipCartesianFuncs.pas commitc4fd47128bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Jul 30 22:56:03 2024 +0300 Zip, Cartesian - сделаны внешние функции до 5 параметров, в т.ч. с проекцией Zip, Cartesian - методы расширения дополнены чтобы было как во внешних Перегенерирована справка commit7d66f26d4fAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Mon Jul 1 00:16:43 2024 +0300 cleanup and more tests commit464dc794a8Author: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 23:31:28 2024 +0300 cleanup and more comments commit32f126370cAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 21:35:06 2024 +0300 attempt to fix GetEnumerator resolving for Pascal types commitfb3eeeb28bAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 16:26:35 2024 +0300 fix tests commit84b0dfe537Author: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 15:49:13 2024 +0300 fix getting MethodInfo commit5fa4d9fce7Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:45:07 2024 +0300 cold fix set of T resolving commit460ce636abAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:21:06 2024 +0300 hot fix set of T resolving commit83c2f29ac6Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:53:11 2024 +0300 fix method filtering again commitc840a1a47aAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:32:41 2024 +0300 fix type recovery commit2436627fddAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 19:18:32 2024 +0300 fixing method filtering commit15a05360a4Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:25:39 2024 +0300 attempt to fix GetEnumerator resolving for compiled types commit4fd020d084Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:21:00 2024 +0300 adding tests * feat(bin/LanguageKits/SPython): add more things to installer * Change get_system_module method visibility (and some more) * Update SPython language names * Add CaseSensitive boolean saving in pcu * Implement case sensitive symbol table * Fix Create function not found error * Delete try/catch block in CollectNamesFromUsedUnits to make code cleaner * Create languageCaseSensitive field in pcu * Create CompilationArtifacts struct for passing data to ConvertAfterUsedModulesCompilation * Fix GraphWPF importing problem by dirty workaround !!! * Squashed commit of the following: commit 57ff5ef37d04ce8fcac8705c5a693bddf2ecf10e Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Thu Feb 27 12:56:53 2025 +0300 Fix Global Variables Type Definition Основная программа выносится в функцию, определяемой самой первой и first_assignment_defines_type выводит тип глобальных переменных корректно commit 6f93ae8d6afc1c685d602b85ba6d455d862b35af Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Wed Feb 26 17:33:10 2025 +0300 Replace same_type_node, Fix Procedure Assignment commit 52a096394cfdd4d8e4b27ddd36570b45b053c380 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Thu Feb 20 13:59:16 2025 +0300 Fix Local Scope in If Node commit a0be5bed7f110314c0e512d28a76e3bd87328f01 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sat Feb 15 16:40:50 2025 +0300 Fix Bug with same_type_node commit 04fd2b2a6667bf06af02614a2fd30d0b50172a0c Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sat Feb 15 16:09:27 2025 +0300 Fix Assignment for New Variables commit ea591e243a5a458d6d94e665cec50d9ef60e1a08 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sat Feb 15 15:58:45 2025 +0300 Fix Assignment for Imported Variables in Functions commit e5d71be7693c527e6f4cd88671503dafa0ac9777 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sat Feb 15 15:13:21 2025 +0300 Fix SPython's Syntax Node Erasion commit c78649ac7e7883860ce459cb31f9d9e46194f203 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sat Feb 15 14:35:53 2025 +0300 Fix Variables from Module Assignment commit 4890f7f163a2557bc58d6e9c48cb432c6436a3aa Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sat Feb 15 13:36:53 2025 +0300 Return RetainUsedGlobalVariablesVisitor commit e5460edf2fae002ccc64d261bbb8fadb27deec12 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sat Feb 15 13:05:38 2025 +0300 Add Errors for Wrong Global Usage commit e32387e1356cc1e330518c57ab895f89b9de1784 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sat Feb 15 12:33:55 2025 +0300 Update Comments about Syntax Visitors commit 1f6c7ac2d8c891d582cbe957ed2ad6886de27de1 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Sat Feb 15 12:27:59 2025 +0300 Fix Global Variables read access for global variables in fuctions by default commit e840610a25718ba12df144948bdda175cbc8d7c5 Merge: e70cb9914 6c81b45c0 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Fri Feb 14 19:51:38 2025 +0300 Merge branch 'SPython' into SPython-Context-Change commit e70cb99145120df29d1ae172d1b00afa8ea5b18f Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Fri Feb 14 19:49:18 2025 +0300 Return Back Global Keyword commit 7cf7a24b8f927cad72645e028f0e0ebc47cae328 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Wed Feb 12 13:15:35 2025 +0300 Fix Merge commit 89cc4551a0bcdb55eb64d244e35035134e5f6e75 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Wed Feb 12 13:02:06 2025 +0300 Squashed commit of the following: commit41dfb6f187Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Feb 7 21:41:01 2025 +0300 [] - преобразование во все контейнеры GraphABCHelper - теперь ABCObjects работает под Линукс School исправлен согласно последним веяниям [] commit79bbbd10ffAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Wed Jan 29 20:18:37 2025 +0300 removing files for support fx4.0 (#3240) commit88d5c409ebAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Tue Jan 28 20:41:55 2025 +0300 Рефакторинг PascalABCNET.xshd (#3237) * refactoring PascalABCNET.xshd * removing extra characters commit8fbd7fdfc3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Jan 26 23:42:48 2025 +0300 3.10.3 faststrings EmptyCollection и преобразование ее в List, Dictionary t: (real,real) := (1,2) commitbba132bd5dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jan 22 09:14:44 2025 +0300 Поправил справку по функции commit1bd21857ccAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jan 8 18:46:51 2025 +0300 Teacher Control Plugin - возможность задать server.dat commit0848a1b796Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 22:54:38 2025 +0300 Исправление автоформатирования [] commitd45b782a7bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 18:45:07 2025 +0300 Rename PABCSistem in test suite commitc2347e604bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 14:44:51 2025 +0300 Примеры - устранил неточности LightPT - имя сервера вынес в публичную секцию commitb68b8da970Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 17 15:52:18 2024 +0300 Примеры Coords1.pas Coords2.pas.pas commit8a9788e6f9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 17 15:06:57 2024 +0300 Перенес проверку set array на уровень парсера Немного поправил Intellisense по наведению для NewSet По точке там что то другое работает commit874ddebad3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 21:00:38 2024 +0300 Поправил грамматику [] Теперь нельзя в режиме ## использовать атрибуты Зато можно [1,2,3].Print commit080fb487e1Merge:a53dcd9eda484b0e82Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 15:25:24 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commita53dcd9ed2Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 15:25:16 2024 +0300 SF Prm Cmb для строк commita484b0e82dAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Dec 12 13:49:17 2024 +0200 fix (#3231) commit6ef11f249cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 11:05:45 2024 +0300 3.10.2 commitdb9679d89fAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 10:59:20 2024 +0300 Закончил превращение синтаксиса [] по умолчанию в массивы commit45fdde24b4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 18:08:00 2024 +0100 #3229 commit494b47624dMerge:5875b99297906d73daAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:42:07 2024 +0100 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit5875b99296Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:41:53 2024 +0100 platformtarget native - .NET 9.0 commit7906d73da3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 3 14:25:37 2024 +0300 Небольшие изменения в реализации операций с множествами commit087591c7b6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 27 11:37:07 2024 +0300 3.10.1 Coords - доработки Distance, Middle, DrawText с фоном и рамкой. Глобальные переменные настройки commitd268d4f83bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Nov 21 22:24:07 2024 +0300 NSToBytes переделал с исключением commit2bacdc8c28Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 13:20:33 2024 +0300 Комментарии к NewSet commite917ac8ecaAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 12:42:15 2024 +0300 TypeName для set commit206289c6a7Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 20:23:03 2024 +0300 Везде заменил _hs на hs в NewSet Убрал вызовы методов расширений NewSet в PABCSystem.pas Убрал var в operator + commitd8262078f6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 13:56:47 2024 +0300 Исправление мелких ошибок NewSet Все тесты проходят. Проблема, которая остаётся - в режиме ускорения такие программы падают: begin var s: set of byte; Print(s = [1]); end. Причина - из dll не вызывается конструктор записи без параметров, хотя он определён. В C# вообще у записей не может быть конструктора по умолчанию - наверное потому. Но для NewSet надо бы сделать исключение commitf8819665baAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 16 10:56:11 2024 +0300 NS2 commit591d9ebe60Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:34:10 2024 +0100 fix commitc6505634f4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:12:33 2024 +0100 fix commita6564df23cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 20:52:29 2024 +0100 fix in new sets commit03be5bd931Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 13 22:13:41 2024 +0300 Переставил operator:= в NewSet commit96c68f1666Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Nov 12 21:38:07 2024 +0100 #3223 commit82776f3c77Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 9 12:18:19 2024 +0300 NewSet - много мелких исправлений. Все тесты проходят кроме Tests 5 - видимо с pabcrtl.dll commitfbd63efa89Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Nov 3 16:59:48 2024 +0300 NewSets Некоторые тесты надо исправить commit746c4ae2c2Author: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 21:00:42 2024 +0100 #3221 commit350d07326dAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 18:35:51 2024 +0100 #3221 commitaae9ab408bAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 18:25:06 2024 +0100 #3221 commit1e4a811e04Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Oct 30 20:42:59 2024 +0100 test for #3219 commitd1a1247ecdAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Oct 30 20:24:16 2024 +0100 #3219 commit13b3071d80Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Oct 28 22:42:17 2024 +0300 закомментировал extensions преобразования arr to set. Надеюсь в новой реализации всё исправить commit6d5c18f457Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Oct 24 10:17:48 2024 +0300 SF XLSX.pas commit0c773a7ecbAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Oct 16 12:04:33 2024 +0300 tree.xml с парой новых узлов для Питона commit53b3fd0881Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Oct 9 14:09:01 2024 +0300 Добавил временное преобразование от array of T в set of T commit271d5792ceAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Tue Oct 8 10:00:14 2024 +0300 Documentation (#3211) * Add Compiler documentation * Add Intellisense documentation * Move documentation folder to root directory commit79f9ab73a0Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Oct 5 15:33:20 2024 +0300 PT4_32 commit0a20c8d32cAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Sep 26 09:02:31 2024 +0200 Add `.DistinctBy` (#3122) commit11981dbf47Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Sep 25 11:53:02 2024 +0300 IndexMinBy, IndexMaxBy MinBy, MaxBy - более эффективная реализация GraphWPF - SaveToClipboard commit3eb1d2bd85Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 17:42:09 2024 +0200 #3197 commit20edd487e3Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 12:39:03 2024 +0200 #3204 commit7261231c9cMerge:7debbe7029ab932977Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 09:49:58 2024 +0200 Merge pull request #3207 from AlexanderZemlyak/fix_linux_version Fix linux version commit9ab9329771Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Sun Sep 22 10:23:18 2024 +0300 Add new projects in PascalACBNETLinux.sln commit7debbe702aAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 21 14:29:38 2024 +0300 Критическое обновление LightPT commit40335b873eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Sep 20 22:58:46 2024 +0300 LightPT - OutputListIsClearedFromSpaces := False; Coords - DrawLine commit078281db17Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Sep 19 22:42:44 2024 +0300 coords suite commit8d51f999a5Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Sep 19 20:28:28 2024 +0300 Автоклассы - разрешение наследования от классов без полей Модуль Coords commit8f7e92d418Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Sep 16 08:25:43 2024 +0300 Turtle переделал на паттерн Команда commita6f6d8a90bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 23:11:54 2024 +0300 Правки рейтинга в TeacherPlugin commit2365eb3633Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 15:54:15 2024 +0300 LinkLabel в TeacherControlPlugin commit1835b811efAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:51:44 2024 +0300 MathNet Signed commitb23d6df9e9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:16:15 2024 +0300 MathNet.Numerics.dll commit790fba67b8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 27 17:56:09 2024 +0300 3.10.0 commit1ec4204fd2Author: Sun Serega <sunserega2@gmail.com> Date: Mon Aug 26 09:20:27 2024 +0300 `.Batch` cleanup (#3108) commitb5e674c311Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:12:14 2024 +0300 3_10_0 commit7face043cfAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:11:08 2024 +0300 ToSet commite456ad528eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 23:13:57 2024 +0300 3.9.0.3530 commit3247469e6dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 22:55:27 2024 +0300 Добавлен DrawPoints в Turtle Исправлена ошибка с отображением подписей в Y-координате commit7548142623Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 14:27:53 2024 +0300 1. Глобально. SetDecimalSeparator(',') SetNumberFormat(DecimalSeparator := ',' и куча других параметров) s.ToReal(nfi) s.ToReals(nfi) StrToReal(nfi) StrToFloat(nfi) FloatToStr(nfi) var nfi := NumberFormat(DecimalSeparator := ',') s.ToReal(DecimalSeparator := ',') s.ToReals(DecimalSeparator := ',') StrToReal(DecimalSeparator := ',') commitd94885b950Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 12:13:09 2024 +0300 randomElement для строк .ToReals - разделителями могут быть пробел табуляция и переход на новую строку NumberFormat - функция, возвращающая nfi commitae2e26acf8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Aug 23 19:33:55 2024 +0300 PT4 - новые dll файлы старых заданий серий A commit0f8aa6fa3cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 17:28:05 2024 +0300 SetOf как основной синоним HSet commitdb4b53be20Merge:86852e0a5b9fd59a84Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:42 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit86852e0a59Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:14 2024 +0300 School - ToBase(number: int64 commitb9fd59a840Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 15:08:44 2024 +0200 #2830 commit4f0b0f8ba0Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 14:43:49 2024 +0200 #3194 commite3ee0fed4cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 13:49:30 2024 +0200 #3097 commitd396c4a9feAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 10:40:23 2024 +0200 #3178 commit0d846d2335Merge:e91e35398a65a86921Author: Ivan Bondarev <ibond84@googlemail.com> Date: Mon Aug 12 15:24:11 2024 +0200 Merge pull request #3170 from samuraiGH/ForeachResolver-rework Foreach resolver rework commita65a869211Author: samuraiGH <anonimajzer3@mail.ru> Date: Mon Aug 12 15:50:42 2024 +0300 increasing pcu file version commite91e353984Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 11 15:21:29 2024 +0300 Обновленный модуль Turtle.pas commitc18238df39Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 20:18:57 2024 +0300 3.9.0.3523 commit1da2b524a6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 19:34:10 2024 +0300 School PrimeDivisors commit47c61d8b14Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:48:07 2024 +0300 New directive to disable linking pascal standard modules (#3186) * Add new 'disable standard units' directive and it's processing * Refactor InitializeNewUnit function * Improve disable standard units directive checks * Add null check in programs.cs to avoid error * Rename error related to disable standard units directive * Add referencing standard net libraries * Add checks for duplicates when injecting references commitfc3ab96caeAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:46:40 2024 +0300 Delete DocumentedUnits option and Exclude HelpBuilder project (#3192) * Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug Достаточно их аналогов из CompilerOptions. * Add recreating CompilerOptions when reloading Compiler * Change Rebuild checkbox logic * Delete documented units fiels from CompilerInternalDebug * Revert "Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug" This reverts commit 25e92b22722b7e251ab0156148fdf28ee3175c27. * Exclude HelpBuilder commit64acde6460Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 18:21:04 2024 +0300 Сделал возможным неявное приведение некоторого типа к array of T (при описании оператора в виде статической функции класса) School - IsPrime(n) commit3db5709101Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 10:56:18 2024 +0300 ZipCartesianFuncs.pas commitc4fd47128bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Jul 30 22:56:03 2024 +0300 Zip, Cartesian - сделаны внешние функции до 5 параметров, в т.ч. с проекцией Zip, Cartesian - методы расширения дополнены чтобы было как во внешних Перегенерирована справка commit7d66f26d4fAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Mon Jul 1 00:16:43 2024 +0300 cleanup and more tests commit464dc794a8Author: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 23:31:28 2024 +0300 cleanup and more comments commit32f126370cAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 21:35:06 2024 +0300 attempt to fix GetEnumerator resolving for Pascal types commitfb3eeeb28bAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 16:26:35 2024 +0300 fix tests commit84b0dfe537Author: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 15:49:13 2024 +0300 fix getting MethodInfo commit5fa4d9fce7Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:45:07 2024 +0300 cold fix set of T resolving commit460ce636abAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:21:06 2024 +0300 hot fix set of T resolving commit83c2f29ac6Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:53:11 2024 +0300 fix method filtering again commitc840a1a47aAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:32:41 2024 +0300 fix type recovery commit2436627fddAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 19:18:32 2024 +0300 fixing method filtering commit15a05360a4Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:25:39 2024 +0300 attempt to fix GetEnumerator resolving for compiled types commit4fd020d084Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:21:00 2024 +0300 adding tests * Squashed commit of the following: commit1fd348ec3cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Feb 23 20:49:26 2025 +0300 NSIS New 3.10 Ярлык в меню Пуск у всех пользователей commit80b7182dc1Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Feb 19 11:50:00 2025 +0300 _ in names commita2b078960bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Feb 19 10:52:25 2025 +0300 cnfc2 commit58f26d469dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Feb 18 22:28:13 2025 +0300 перекомпиляция 3.10.3.3611 commitb78a72977fAuthor: nevermind322 <81963698+nevermind322@users.noreply.github.com> Date: Tue Feb 18 22:02:19 2025 +0300 fix build on mono (#3249) * fix build on mono * remove local func * fix again commitc3557e388cAuthor: Nikolay Kuznetsov <adasoft@gmail.com> Date: Sat Feb 15 20:32:46 2025 +0300 Update GraphABC.pas (#3244) 1. Быстрая реализация функции FloodFill Для этого добавлена процедура BitmapFloodFill, которая вызывается из метода Picture.FloodFill и процедуры FloodFill 2.Добавлена поддержка LockDrawing/UnlockDrawing в процедуру FloodFill commit9dbac389e1Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Wed Feb 12 13:57:14 2025 +0300 Add missing projects to pabcnetc.sln (#3247) commit41dfb6f187Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Feb 7 21:41:01 2025 +0300 [] - преобразование во все контейнеры GraphABCHelper - теперь ABCObjects работает под Линукс School исправлен согласно последним веяниям [] commit79bbbd10ffAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Wed Jan 29 20:18:37 2025 +0300 removing files for support fx4.0 (#3240) commit88d5c409ebAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Tue Jan 28 20:41:55 2025 +0300 Рефакторинг PascalABCNET.xshd (#3237) * refactoring PascalABCNET.xshd * removing extra characters commit8fbd7fdfc3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Jan 26 23:42:48 2025 +0300 3.10.3 faststrings EmptyCollection и преобразование ее в List, Dictionary t: (real,real) := (1,2) commitbba132bd5dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jan 22 09:14:44 2025 +0300 Поправил справку по функции commit1bd21857ccAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jan 8 18:46:51 2025 +0300 Teacher Control Plugin - возможность задать server.dat commit0848a1b796Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 22:54:38 2025 +0300 Исправление автоформатирования [] commitd45b782a7bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 18:45:07 2025 +0300 Rename PABCSistem in test suite commitc2347e604bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 14:44:51 2025 +0300 Примеры - устранил неточности LightPT - имя сервера вынес в публичную секцию commitb68b8da970Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 17 15:52:18 2024 +0300 Примеры Coords1.pas Coords2.pas.pas commit8a9788e6f9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 17 15:06:57 2024 +0300 Перенес проверку set array на уровень парсера Немного поправил Intellisense по наведению для NewSet По точке там что то другое работает commit874ddebad3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 21:00:38 2024 +0300 Поправил грамматику [] Теперь нельзя в режиме ## использовать атрибуты Зато можно [1,2,3].Print commit080fb487e1Merge:a53dcd9eda484b0e82Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 15:25:24 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commita53dcd9ed2Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 15:25:16 2024 +0300 SF Prm Cmb для строк commita484b0e82dAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Dec 12 13:49:17 2024 +0200 fix (#3231) commit6ef11f249cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 11:05:45 2024 +0300 3.10.2 commitdb9679d89fAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 10:59:20 2024 +0300 Закончил превращение синтаксиса [] по умолчанию в массивы commit45fdde24b4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 18:08:00 2024 +0100 #3229 commit494b47624dMerge:5875b99297906d73daAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:42:07 2024 +0100 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit5875b99296Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:41:53 2024 +0100 platformtarget native - .NET 9.0 commit7906d73da3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 3 14:25:37 2024 +0300 Небольшие изменения в реализации операций с множествами commit087591c7b6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 27 11:37:07 2024 +0300 3.10.1 Coords - доработки Distance, Middle, DrawText с фоном и рамкой. Глобальные переменные настройки commitd268d4f83bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Nov 21 22:24:07 2024 +0300 NSToBytes переделал с исключением commit2bacdc8c28Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 13:20:33 2024 +0300 Комментарии к NewSet commite917ac8ecaAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 12:42:15 2024 +0300 TypeName для set commit206289c6a7Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 20:23:03 2024 +0300 Везде заменил _hs на hs в NewSet Убрал вызовы методов расширений NewSet в PABCSystem.pas Убрал var в operator + commitd8262078f6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 13:56:47 2024 +0300 Исправление мелких ошибок NewSet Все тесты проходят. Проблема, которая остаётся - в режиме ускорения такие программы падают: begin var s: set of byte; Print(s = [1]); end. Причина - из dll не вызывается конструктор записи без параметров, хотя он определён. В C# вообще у записей не может быть конструктора по умолчанию - наверное потому. Но для NewSet надо бы сделать исключение commitf8819665baAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 16 10:56:11 2024 +0300 NS2 commit591d9ebe60Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:34:10 2024 +0100 fix commitc6505634f4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:12:33 2024 +0100 fix commita6564df23cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 20:52:29 2024 +0100 fix in new sets commit03be5bd931Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 13 22:13:41 2024 +0300 Переставил operator:= в NewSet commit96c68f1666Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Nov 12 21:38:07 2024 +0100 #3223 commit82776f3c77Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 9 12:18:19 2024 +0300 NewSet - много мелких исправлений. Все тесты проходят кроме Tests 5 - видимо с pabcrtl.dll commitfbd63efa89Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Nov 3 16:59:48 2024 +0300 NewSets Некоторые тесты надо исправить commit746c4ae2c2Author: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 21:00:42 2024 +0100 #3221 commit350d07326dAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 18:35:51 2024 +0100 #3221 commitaae9ab408bAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 18:25:06 2024 +0100 #3221 commit1e4a811e04Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Oct 30 20:42:59 2024 +0100 test for #3219 commitd1a1247ecdAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Oct 30 20:24:16 2024 +0100 #3219 commit13b3071d80Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Oct 28 22:42:17 2024 +0300 закомментировал extensions преобразования arr to set. Надеюсь в новой реализации всё исправить commit6d5c18f457Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Oct 24 10:17:48 2024 +0300 SF XLSX.pas commit0c773a7ecbAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Oct 16 12:04:33 2024 +0300 tree.xml с парой новых узлов для Питона commit53b3fd0881Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Oct 9 14:09:01 2024 +0300 Добавил временное преобразование от array of T в set of T commit271d5792ceAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Tue Oct 8 10:00:14 2024 +0300 Documentation (#3211) * Add Compiler documentation * Add Intellisense documentation * Move documentation folder to root directory commit79f9ab73a0Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Oct 5 15:33:20 2024 +0300 PT4_32 commit0a20c8d32cAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Sep 26 09:02:31 2024 +0200 Add `.DistinctBy` (#3122) commit11981dbf47Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Sep 25 11:53:02 2024 +0300 IndexMinBy, IndexMaxBy MinBy, MaxBy - более эффективная реализация GraphWPF - SaveToClipboard commit3eb1d2bd85Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 17:42:09 2024 +0200 #3197 commit20edd487e3Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 12:39:03 2024 +0200 #3204 commit7261231c9cMerge:7debbe7029ab932977Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 09:49:58 2024 +0200 Merge pull request #3207 from AlexanderZemlyak/fix_linux_version Fix linux version commit9ab9329771Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Sun Sep 22 10:23:18 2024 +0300 Add new projects in PascalACBNETLinux.sln commit7debbe702aAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 21 14:29:38 2024 +0300 Критическое обновление LightPT commit40335b873eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Sep 20 22:58:46 2024 +0300 LightPT - OutputListIsClearedFromSpaces := False; Coords - DrawLine commit078281db17Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Sep 19 22:42:44 2024 +0300 coords suite commit8d51f999a5Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Sep 19 20:28:28 2024 +0300 Автоклассы - разрешение наследования от классов без полей Модуль Coords commit8f7e92d418Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Sep 16 08:25:43 2024 +0300 Turtle переделал на паттерн Команда commita6f6d8a90bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 23:11:54 2024 +0300 Правки рейтинга в TeacherPlugin commit2365eb3633Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 15:54:15 2024 +0300 LinkLabel в TeacherControlPlugin commit1835b811efAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:51:44 2024 +0300 MathNet Signed commitb23d6df9e9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:16:15 2024 +0300 MathNet.Numerics.dll commit790fba67b8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 27 17:56:09 2024 +0300 3.10.0 commit1ec4204fd2Author: Sun Serega <sunserega2@gmail.com> Date: Mon Aug 26 09:20:27 2024 +0300 `.Batch` cleanup (#3108) commitb5e674c311Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:12:14 2024 +0300 3_10_0 commit7face043cfAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:11:08 2024 +0300 ToSet commite456ad528eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 23:13:57 2024 +0300 3.9.0.3530 commit3247469e6dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 22:55:27 2024 +0300 Добавлен DrawPoints в Turtle Исправлена ошибка с отображением подписей в Y-координате commit7548142623Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 14:27:53 2024 +0300 1. Глобально. SetDecimalSeparator(',') SetNumberFormat(DecimalSeparator := ',' и куча других параметров) s.ToReal(nfi) s.ToReals(nfi) StrToReal(nfi) StrToFloat(nfi) FloatToStr(nfi) var nfi := NumberFormat(DecimalSeparator := ',') s.ToReal(DecimalSeparator := ',') s.ToReals(DecimalSeparator := ',') StrToReal(DecimalSeparator := ',') commitd94885b950Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 12:13:09 2024 +0300 randomElement для строк .ToReals - разделителями могут быть пробел табуляция и переход на новую строку NumberFormat - функция, возвращающая nfi commitae2e26acf8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Aug 23 19:33:55 2024 +0300 PT4 - новые dll файлы старых заданий серий A commit0f8aa6fa3cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 17:28:05 2024 +0300 SetOf как основной синоним HSet commitdb4b53be20Merge:86852e0a5b9fd59a84Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:42 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit86852e0a59Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:14 2024 +0300 School - ToBase(number: int64 commitb9fd59a840Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 15:08:44 2024 +0200 #2830 commit4f0b0f8ba0Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 14:43:49 2024 +0200 #3194 commite3ee0fed4cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 13:49:30 2024 +0200 #3097 commitd396c4a9feAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 10:40:23 2024 +0200 #3178 commit0d846d2335Merge:e91e35398a65a86921Author: Ivan Bondarev <ibond84@googlemail.com> Date: Mon Aug 12 15:24:11 2024 +0200 Merge pull request #3170 from samuraiGH/ForeachResolver-rework Foreach resolver rework commita65a869211Author: samuraiGH <anonimajzer3@mail.ru> Date: Mon Aug 12 15:50:42 2024 +0300 increasing pcu file version commite91e353984Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 11 15:21:29 2024 +0300 Обновленный модуль Turtle.pas commitc18238df39Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 20:18:57 2024 +0300 3.9.0.3523 commit1da2b524a6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 19:34:10 2024 +0300 School PrimeDivisors commit47c61d8b14Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:48:07 2024 +0300 New directive to disable linking pascal standard modules (#3186) * Add new 'disable standard units' directive and it's processing * Refactor InitializeNewUnit function * Improve disable standard units directive checks * Add null check in programs.cs to avoid error * Rename error related to disable standard units directive * Add referencing standard net libraries * Add checks for duplicates when injecting references commitfc3ab96caeAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:46:40 2024 +0300 Delete DocumentedUnits option and Exclude HelpBuilder project (#3192) * Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug Достаточно их аналогов из CompilerOptions. * Add recreating CompilerOptions when reloading Compiler * Change Rebuild checkbox logic * Delete documented units fiels from CompilerInternalDebug * Revert "Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug" This reverts commit 25e92b22722b7e251ab0156148fdf28ee3175c27. * Exclude HelpBuilder commit64acde6460Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 18:21:04 2024 +0300 Сделал возможным неявное приведение некоторого типа к array of T (при описании оператора в виде статической функции класса) School - IsPrime(n) commit3db5709101Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 10:56:18 2024 +0300 ZipCartesianFuncs.pas commitc4fd47128bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Jul 30 22:56:03 2024 +0300 Zip, Cartesian - сделаны внешние функции до 5 параметров, в т.ч. с проекцией Zip, Cartesian - методы расширения дополнены чтобы было как во внешних Перегенерирована справка commit7d66f26d4fAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Mon Jul 1 00:16:43 2024 +0300 cleanup and more tests commit464dc794a8Author: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 23:31:28 2024 +0300 cleanup and more comments commit32f126370cAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 21:35:06 2024 +0300 attempt to fix GetEnumerator resolving for Pascal types commitfb3eeeb28bAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 16:26:35 2024 +0300 fix tests commit84b0dfe537Author: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 15:49:13 2024 +0300 fix getting MethodInfo commit5fa4d9fce7Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:45:07 2024 +0300 cold fix set of T resolving commit460ce636abAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:21:06 2024 +0300 hot fix set of T resolving commit83c2f29ac6Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:53:11 2024 +0300 fix method filtering again commitc840a1a47aAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:32:41 2024 +0300 fix type recovery commit2436627fddAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 19:18:32 2024 +0300 fixing method filtering commit15a05360a4Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:25:39 2024 +0300 attempt to fix GetEnumerator resolving for compiled types commit4fd020d084Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:21:00 2024 +0300 adding tests * Fix Merge Commit * Fix Assignment to Imported Variable * Add Compound Comparison (alpha) * Fix Compound Comparison False Positive конструкция '(a == b) == c' теперь не считается CompoundComparison * Reconstruct NameInterpreterVisiter * Parser and Visitors Refactoring 1 * Fix Modules * Parser and Visitors Refactoring 2 * Update RetainUsedGlobalVariablesVisitor * Update RetainUsedGlobalVariablesVisitor 2 * Add Variable Declaration without InitValue a: float a = 1.23 * Add Global Variables in Units In units all variables defined in outermost scope are global * Add Template Types (list[int]) * Add Errors for Using PascalABCnet Types * Add Power Binary Operation * Fix SourceContext in Parser and ImportToUsesVisitor * Add pass Statement * Fix Nested List Generators * Fix NameCorrectVisitors in Complex Cases fix in nested dot_nodes and lambda's inside list generator * Fix IdentArranger for Complex Cases now it handles correctly cases such as follows: print(a, b, c, d, e, f) * Add Ternary Conditional Operator * Fix Lexer and New Line Error * Add End File Token to Fix Errors Positioning * Fix Errors Positioning * Move AddForwardDeclarationsVisitor Lower * Update Comments in StandardSyntaxTreeConverter * Update Examples * Fix CompoundComparisonDesugarVisitor * Update Comments * Create compound_conditions_example.pys * Separate ';' and End_Of_Line Token * Fix Error Line Positioning * Fix Lexer Error Message with COLON * Fix Error Positioning * Fix Colon Error Positionning * Fix Error Next Token Hints * Fix Errors with 'in' and 'import' * Add UnsupportedConstructsVisitor * Add Error for Using class and lambda * Refactor IndentArranger * Add programBeginWithIndentToken * Squashed commit of the following: commit7751fe7e75Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Sun Mar 16 13:28:03 2025 +0300 generating language res file at build time (#3252) commitd1fce63d69Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Mar 4 08:38:09 2025 +0300 Сборка после pr SDK commitd491e88aa7Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Mon Mar 3 20:34:51 2025 +0300 migration to new build system (#3241) * converting project files into sdk style * new build commands * adding new dll into nsis * removing unused .cs files commit1fd348ec3cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Feb 23 20:49:26 2025 +0300 NSIS New 3.10 Ярлык в меню Пуск у всех пользователей commit80b7182dc1Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Feb 19 11:50:00 2025 +0300 _ in names commita2b078960bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Feb 19 10:52:25 2025 +0300 cnfc2 commit58f26d469dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Feb 18 22:28:13 2025 +0300 перекомпиляция 3.10.3.3611 commitb78a72977fAuthor: nevermind322 <81963698+nevermind322@users.noreply.github.com> Date: Tue Feb 18 22:02:19 2025 +0300 fix build on mono (#3249) * fix build on mono * remove local func * fix again commitc3557e388cAuthor: Nikolay Kuznetsov <adasoft@gmail.com> Date: Sat Feb 15 20:32:46 2025 +0300 Update GraphABC.pas (#3244) 1. Быстрая реализация функции FloodFill Для этого добавлена процедура BitmapFloodFill, которая вызывается из метода Picture.FloodFill и процедуры FloodFill 2.Добавлена поддержка LockDrawing/UnlockDrawing в процедуру FloodFill commit9dbac389e1Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Wed Feb 12 13:57:14 2025 +0300 Add missing projects to pabcnetc.sln (#3247) commit41dfb6f187Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Feb 7 21:41:01 2025 +0300 [] - преобразование во все контейнеры GraphABCHelper - теперь ABCObjects работает под Линукс School исправлен согласно последним веяниям [] commit79bbbd10ffAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Wed Jan 29 20:18:37 2025 +0300 removing files for support fx4.0 (#3240) commit88d5c409ebAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Tue Jan 28 20:41:55 2025 +0300 Рефакторинг PascalABCNET.xshd (#3237) * refactoring PascalABCNET.xshd * removing extra characters commit8fbd7fdfc3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Jan 26 23:42:48 2025 +0300 3.10.3 faststrings EmptyCollection и преобразование ее в List, Dictionary t: (real,real) := (1,2) commitbba132bd5dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jan 22 09:14:44 2025 +0300 Поправил справку по функции commit1bd21857ccAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jan 8 18:46:51 2025 +0300 Teacher Control Plugin - возможность задать server.dat commit0848a1b796Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 22:54:38 2025 +0300 Исправление автоформатирования [] commitd45b782a7bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 18:45:07 2025 +0300 Rename PABCSistem in test suite commitc2347e604bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 14:44:51 2025 +0300 Примеры - устранил неточности LightPT - имя сервера вынес в публичную секцию commitb68b8da970Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 17 15:52:18 2024 +0300 Примеры Coords1.pas Coords2.pas.pas commit8a9788e6f9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 17 15:06:57 2024 +0300 Перенес проверку set array на уровень парсера Немного поправил Intellisense по наведению для NewSet По точке там что то другое работает commit874ddebad3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 21:00:38 2024 +0300 Поправил грамматику [] Теперь нельзя в режиме ## использовать атрибуты Зато можно [1,2,3].Print commit080fb487e1Merge:a53dcd9eda484b0e82Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 15:25:24 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commita53dcd9ed2Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 15:25:16 2024 +0300 SF Prm Cmb для строк commita484b0e82dAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Dec 12 13:49:17 2024 +0200 fix (#3231) commit6ef11f249cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 11:05:45 2024 +0300 3.10.2 commitdb9679d89fAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 10:59:20 2024 +0300 Закончил превращение синтаксиса [] по умолчанию в массивы commit45fdde24b4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 18:08:00 2024 +0100 #3229 commit494b47624dMerge:5875b99297906d73daAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:42:07 2024 +0100 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit5875b99296Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:41:53 2024 +0100 platformtarget native - .NET 9.0 commit7906d73da3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 3 14:25:37 2024 +0300 Небольшие изменения в реализации операций с множествами commit087591c7b6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 27 11:37:07 2024 +0300 3.10.1 Coords - доработки Distance, Middle, DrawText с фоном и рамкой. Глобальные переменные настройки commitd268d4f83bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Nov 21 22:24:07 2024 +0300 NSToBytes переделал с исключением commit2bacdc8c28Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 13:20:33 2024 +0300 Комментарии к NewSet commite917ac8ecaAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 12:42:15 2024 +0300 TypeName для set commit206289c6a7Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 20:23:03 2024 +0300 Везде заменил _hs на hs в NewSet Убрал вызовы методов расширений NewSet в PABCSystem.pas Убрал var в operator + commitd8262078f6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 13:56:47 2024 +0300 Исправление мелких ошибок NewSet Все тесты проходят. Проблема, которая остаётся - в режиме ускорения такие программы падают: begin var s: set of byte; Print(s = [1]); end. Причина - из dll не вызывается конструктор записи без параметров, хотя он определён. В C# вообще у записей не может быть конструктора по умолчанию - наверное потому. Но для NewSet надо бы сделать исключение commitf8819665baAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 16 10:56:11 2024 +0300 NS2 commit591d9ebe60Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:34:10 2024 +0100 fix commitc6505634f4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:12:33 2024 +0100 fix commita6564df23cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 20:52:29 2024 +0100 fix in new sets commit03be5bd931Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 13 22:13:41 2024 +0300 Переставил operator:= в NewSet commit96c68f1666Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Nov 12 21:38:07 2024 +0100 #3223 commit82776f3c77Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 9 12:18:19 2024 +0300 NewSet - много мелких исправлений. Все тесты проходят кроме Tests 5 - видимо с pabcrtl.dll commitfbd63efa89Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Nov 3 16:59:48 2024 +0300 NewSets Некоторые тесты надо исправить commit746c4ae2c2Author: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 21:00:42 2024 +0100 #3221 commit350d07326dAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 18:35:51 2024 +0100 #3221 commitaae9ab408bAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 18:25:06 2024 +0100 #3221 commit1e4a811e04Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Oct 30 20:42:59 2024 +0100 test for #3219 commitd1a1247ecdAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Oct 30 20:24:16 2024 +0100 #3219 commit13b3071d80Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Oct 28 22:42:17 2024 +0300 закомментировал extensions преобразования arr to set. Надеюсь в новой реализации всё исправить commit6d5c18f457Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Oct 24 10:17:48 2024 +0300 SF XLSX.pas commit0c773a7ecbAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Oct 16 12:04:33 2024 +0300 tree.xml с парой новых узлов для Питона commit53b3fd0881Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Oct 9 14:09:01 2024 +0300 Добавил временное преобразование от array of T в set of T commit271d5792ceAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Tue Oct 8 10:00:14 2024 +0300 Documentation (#3211) * Add Compiler documentation * Add Intellisense documentation * Move documentation folder to root directory commit79f9ab73a0Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Oct 5 15:33:20 2024 +0300 PT4_32 commit0a20c8d32cAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Sep 26 09:02:31 2024 +0200 Add `.DistinctBy` (#3122) commit11981dbf47Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Sep 25 11:53:02 2024 +0300 IndexMinBy, IndexMaxBy MinBy, MaxBy - более эффективная реализация GraphWPF - SaveToClipboard commit3eb1d2bd85Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 17:42:09 2024 +0200 #3197 commit20edd487e3Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 12:39:03 2024 +0200 #3204 commit7261231c9cMerge:7debbe7029ab932977Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 09:49:58 2024 +0200 Merge pull request #3207 from AlexanderZemlyak/fix_linux_version Fix linux version commit9ab9329771Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Sun Sep 22 10:23:18 2024 +0300 Add new projects in PascalACBNETLinux.sln commit7debbe702aAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 21 14:29:38 2024 +0300 Критическое обновление LightPT commit40335b873eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Sep 20 22:58:46 2024 +0300 LightPT - OutputListIsClearedFromSpaces := False; Coords - DrawLine commit078281db17Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Sep 19 22:42:44 2024 +0300 coords suite commit8d51f999a5Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Sep 19 20:28:28 2024 +0300 Автоклассы - разрешение наследования от классов без полей Модуль Coords commit8f7e92d418Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Sep 16 08:25:43 2024 +0300 Turtle переделал на паттерн Команда commita6f6d8a90bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 23:11:54 2024 +0300 Правки рейтинга в TeacherPlugin commit2365eb3633Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 15:54:15 2024 +0300 LinkLabel в TeacherControlPlugin commit1835b811efAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:51:44 2024 +0300 MathNet Signed commitb23d6df9e9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:16:15 2024 +0300 MathNet.Numerics.dll commit790fba67b8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 27 17:56:09 2024 +0300 3.10.0 commit1ec4204fd2Author: Sun Serega <sunserega2@gmail.com> Date: Mon Aug 26 09:20:27 2024 +0300 `.Batch` cleanup (#3108) commitb5e674c311Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:12:14 2024 +0300 3_10_0 commit7face043cfAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:11:08 2024 +0300 ToSet commite456ad528eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 23:13:57 2024 +0300 3.9.0.3530 commit3247469e6dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 22:55:27 2024 +0300 Добавлен DrawPoints в Turtle Исправлена ошибка с отображением подписей в Y-координате commit7548142623Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 14:27:53 2024 +0300 1. Глобально. SetDecimalSeparator(',') SetNumberFormat(DecimalSeparator := ',' и куча других параметров) s.ToReal(nfi) s.ToReals(nfi) StrToReal(nfi) StrToFloat(nfi) FloatToStr(nfi) var nfi := NumberFormat(DecimalSeparator := ',') s.ToReal(DecimalSeparator := ',') s.ToReals(DecimalSeparator := ',') StrToReal(DecimalSeparator := ',') commitd94885b950Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 12:13:09 2024 +0300 randomElement для строк .ToReals - разделителями могут быть пробел табуляция и переход на новую строку NumberFormat - функция, возвращающая nfi commitae2e26acf8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Aug 23 19:33:55 2024 +0300 PT4 - новые dll файлы старых заданий серий A commit0f8aa6fa3cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 17:28:05 2024 +0300 SetOf как основной синоним HSet commitdb4b53be20Merge:86852e0a5b9fd59a84Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:42 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit86852e0a59Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:14 2024 +0300 School - ToBase(number: int64 commitb9fd59a840Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 15:08:44 2024 +0200 #2830 commit4f0b0f8ba0Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 14:43:49 2024 +0200 #3194 commite3ee0fed4cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 13:49:30 2024 +0200 #3097 commitd396c4a9feAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 10:40:23 2024 +0200 #3178 commit0d846d2335Merge:e91e35398a65a86921Author: Ivan Bondarev <ibond84@googlemail.com> Date: Mon Aug 12 15:24:11 2024 +0200 Merge pull request #3170 from samuraiGH/ForeachResolver-rework Foreach resolver rework commita65a869211Author: samuraiGH <anonimajzer3@mail.ru> Date: Mon Aug 12 15:50:42 2024 +0300 increasing pcu file version commite91e353984Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 11 15:21:29 2024 +0300 Обновленный модуль Turtle.pas commitc18238df39Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 20:18:57 2024 +0300 3.9.0.3523 commit1da2b524a6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 19:34:10 2024 +0300 School PrimeDivisors commit47c61d8b14Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:48:07 2024 +0300 New directive to disable linking pascal standard modules (#3186) * Add new 'disable standard units' directive and it's processing * Refactor InitializeNewUnit function * Improve disable standard units directive checks * Add null check in programs.cs to avoid error * Rename error related to disable standard units directive * Add referencing standard net libraries * Add checks for duplicates when injecting references commitfc3ab96caeAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:46:40 2024 +0300 Delete DocumentedUnits option and Exclude HelpBuilder project (#3192) * Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug Достаточно их аналогов из CompilerOptions. * Add recreating CompilerOptions when reloading Compiler * Change Rebuild checkbox logic * Delete documented units fiels from CompilerInternalDebug * Revert "Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug" This reverts commit 25e92b22722b7e251ab0156148fdf28ee3175c27. * Exclude HelpBuilder commit64acde6460Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 18:21:04 2024 +0300 Сделал возможным неявное приведение некоторого типа к array of T (при описании оператора в виде статической функции класса) School - IsPrime(n) commit3db5709101Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 10:56:18 2024 +0300 ZipCartesianFuncs.pas commitc4fd47128bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Jul 30 22:56:03 2024 +0300 Zip, Cartesian - сделаны внешние функции до 5 параметров, в т.ч. с проекцией Zip, Cartesian - методы расширения дополнены чтобы было как во внешних Перегенерирована справка commit7d66f26d4fAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Mon Jul 1 00:16:43 2024 +0300 cleanup and more tests commit464dc794a8Author: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 23:31:28 2024 +0300 cleanup and more comments commit32f126370cAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 21:35:06 2024 +0300 attempt to fix GetEnumerator resolving for Pascal types commitfb3eeeb28bAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 16:26:35 2024 +0300 fix tests commit84b0dfe537Author: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 15:49:13 2024 +0300 fix getting MethodInfo commit5fa4d9fce7Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:45:07 2024 +0300 cold fix set of T resolving commit460ce636abAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:21:06 2024 +0300 hot fix set of T resolving commit83c2f29ac6Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:53:11 2024 +0300 fix method filtering again commitc840a1a47aAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:32:41 2024 +0300 fix type recovery commit2436627fddAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 19:18:32 2024 +0300 fixing method filtering commit15a05360a4Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:25:39 2024 +0300 attempt to fix GetEnumerator resolving for compiled types commit4fd020d084Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:21:00 2024 +0300 adding tests * Add units case sensitive search (Not implemented in Intellisense) * Fix Functions Forward Declarations * Update Wrong Module Name Error Positionning * Fix Errors with Global Statements * Fix Function Before Declaration Usage Error * Add return_statement * Add Return Wrong Usage Error * Errors Hot Fix * Add Bigint Type * Squashed commit of the following: commit7751fe7e75Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Sun Mar 16 13:28:03 2025 +0300 generating language res file at build time (#3252) commitd1fce63d69Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Mar 4 08:38:09 2025 +0300 Сборка после pr SDK commitd491e88aa7Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Mon Mar 3 20:34:51 2025 +0300 migration to new build system (#3241) * converting project files into sdk style * new build commands * adding new dll into nsis * removing unused .cs files commit1fd348ec3cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Feb 23 20:49:26 2025 +0300 NSIS New 3.10 Ярлык в меню Пуск у всех пользователей commit80b7182dc1Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Feb 19 11:50:00 2025 +0300 _ in names commita2b078960bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Feb 19 10:52:25 2025 +0300 cnfc2 commit58f26d469dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Feb 18 22:28:13 2025 +0300 перекомпиляция 3.10.3.3611 commitb78a72977fAuthor: nevermind322 <81963698+nevermind322@users.noreply.github.com> Date: Tue Feb 18 22:02:19 2025 +0300 fix build on mono (#3249) * fix build on mono * remove local func * fix again commitc3557e388cAuthor: Nikolay Kuznetsov <adasoft@gmail.com> Date: Sat Feb 15 20:32:46 2025 +0300 Update GraphABC.pas (#3244) 1. Быстрая реализация функции FloodFill Для этого добавлена процедура BitmapFloodFill, которая вызывается из метода Picture.FloodFill и процедуры FloodFill 2.Добавлена поддержка LockDrawing/UnlockDrawing в процедуру FloodFill commit9dbac389e1Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Wed Feb 12 13:57:14 2025 +0300 Add missing projects to pabcnetc.sln (#3247) commit41dfb6f187Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Feb 7 21:41:01 2025 +0300 [] - преобразование во все контейнеры GraphABCHelper - теперь ABCObjects работает под Линукс School исправлен согласно последним веяниям [] commit79bbbd10ffAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Wed Jan 29 20:18:37 2025 +0300 removing files for support fx4.0 (#3240) commit88d5c409ebAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Tue Jan 28 20:41:55 2025 +0300 Рефакторинг PascalABCNET.xshd (#3237) * refactoring PascalABCNET.xshd * removing extra characters commit8fbd7fdfc3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Jan 26 23:42:48 2025 +0300 3.10.3 faststrings EmptyCollection и преобразование ее в List, Dictionary t: (real,real) := (1,2) commitbba132bd5dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jan 22 09:14:44 2025 +0300 Поправил справку по функции commit1bd21857ccAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jan 8 18:46:51 2025 +0300 Teacher Control Plugin - возможность задать server.dat commit0848a1b796Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 22:54:38 2025 +0300 Исправление автоформатирования [] commitd45b782a7bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 18:45:07 2025 +0300 Rename PABCSistem in test suite commitc2347e604bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 14:44:51 2025 +0300 Примеры - устранил неточности LightPT - имя сервера вынес в публичную секцию commitb68b8da970Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 17 15:52:18 2024 +0300 Примеры Coords1.pas Coords2.pas.pas commit8a9788e6f9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 17 15:06:57 2024 +0300 Перенес проверку set array на уровень парсера Немного поправил Intellisense по наведению для NewSet По точке там что то другое работает commit874ddebad3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 21:00:38 2024 +0300 Поправил грамматику [] Теперь нельзя в режиме ## использовать атрибуты Зато можно [1,2,3].Print commit080fb487e1Merge:a53dcd9eda484b0e82Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 15:25:24 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commita53dcd9ed2Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 15:25:16 2024 +0300 SF Prm Cmb для строк commita484b0e82dAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Dec 12 13:49:17 2024 +0200 fix (#3231) commit6ef11f249cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 11:05:45 2024 +0300 3.10.2 commitdb9679d89fAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 10:59:20 2024 +0300 Закончил превращение синтаксиса [] по умолчанию в массивы commit45fdde24b4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 18:08:00 2024 +0100 #3229 commit494b47624dMerge:5875b99297906d73daAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:42:07 2024 +0100 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit5875b99296Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:41:53 2024 +0100 platformtarget native - .NET 9.0 commit7906d73da3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 3 14:25:37 2024 +0300 Небольшие изменения в реализации операций с множествами commit087591c7b6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 27 11:37:07 2024 +0300 3.10.1 Coords - доработки Distance, Middle, DrawText с фоном и рамкой. Глобальные переменные настройки commitd268d4f83bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Nov 21 22:24:07 2024 +0300 NSToBytes переделал с исключением commit2bacdc8c28Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 13:20:33 2024 +0300 Комментарии к NewSet commite917ac8ecaAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 12:42:15 2024 +0300 TypeName для set commit206289c6a7Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 20:23:03 2024 +0300 Везде заменил _hs на hs в NewSet Убрал вызовы методов расширений NewSet в PABCSystem.pas Убрал var в operator + commitd8262078f6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 13:56:47 2024 +0300 Исправление мелких ошибок NewSet Все тесты проходят. Проблема, которая остаётся - в режиме ускорения такие программы падают: begin var s: set of byte; Print(s = [1]); end. Причина - из dll не вызывается конструктор записи без параметров, хотя он определён. В C# вообще у записей не может быть конструктора по умолчанию - наверное потому. Но для NewSet надо бы сделать исключение commitf8819665baAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 16 10:56:11 2024 +0300 NS2 commit591d9ebe60Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:34:10 2024 +0100 fix commitc6505634f4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:12:33 2024 +0100 fix commita6564df23cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 20:52:29 2024 +0100 fix in new sets commit03be5bd931Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 13 22:13:41 2024 +0300 Переставил operator:= в NewSet commit96c68f1666Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Nov 12 21:38:07 2024 +0100 #3223 commit82776f3c77Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 9 12:18:19 2024 +0300 NewSet - много мелких исправлений. Все тесты проходят кроме Tests 5 - видимо с pabcrtl.dll commitfbd63efa89Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Nov 3 16:59:48 2024 +0300 NewSets Некоторые тесты надо исправить commit746c4ae2c2Author: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 21:00:42 2024 +0100 #3221 commit350d07326dAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 18:35:51 2024 +0100 #3221 commitaae9ab408bAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 18:25:06 2024 +0100 #3221 commit1e4a811e04Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Oct 30 20:42:59 2024 +0100 test for #3219 commitd1a1247ecdAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Oct 30 20:24:16 2024 +0100 #3219 commit13b3071d80Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Oct 28 22:42:17 2024 +0300 закомментировал extensions преобразования arr to set. Надеюсь в новой реализации всё исправить commit6d5c18f457Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Oct 24 10:17:48 2024 +0300 SF XLSX.pas commit0c773a7ecbAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Oct 16 12:04:33 2024 +0300 tree.xml с парой новых узлов для Питона commit53b3fd0881Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Oct 9 14:09:01 2024 +0300 Добавил временное преобразование от array of T в set of T commit271d5792ceAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Tue Oct 8 10:00:14 2024 +0300 Documentation (#3211) * Add Compiler documentation * Add Intellisense documentation * Move documentation folder to root directory commit79f9ab73a0Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Oct 5 15:33:20 2024 +0300 PT4_32 commit0a20c8d32cAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Sep 26 09:02:31 2024 +0200 Add `.DistinctBy` (#3122) commit11981dbf47Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Sep 25 11:53:02 2024 +0300 IndexMinBy, IndexMaxBy MinBy, MaxBy - более эффективная реализация GraphWPF - SaveToClipboard commit3eb1d2bd85Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 17:42:09 2024 +0200 #3197 commit20edd487e3Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 12:39:03 2024 +0200 #3204 commit7261231c9cMerge:7debbe7029ab932977Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 09:49:58 2024 +0200 Merge pull request #3207 from AlexanderZemlyak/fix_linux_version Fix linux version commit9ab9329771Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Sun Sep 22 10:23:18 2024 +0300 Add new projects in PascalACBNETLinux.sln commit7debbe702aAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 21 14:29:38 2024 +0300 Критическое обновление LightPT commit40335b873eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Sep 20 22:58:46 2024 +0300 LightPT - OutputListIsClearedFromSpaces := False; Coords - DrawLine commit078281db17Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Sep 19 22:42:44 2024 +0300 coords suite commit8d51f999a5Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Sep 19 20:28:28 2024 +0300 Автоклассы - разрешение наследования от классов без полей Модуль Coords commit8f7e92d418Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Sep 16 08:25:43 2024 +0300 Turtle переделал на паттерн Команда commita6f6d8a90bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 23:11:54 2024 +0300 Правки рейтинга в TeacherPlugin commit2365eb3633Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 15:54:15 2024 +0300 LinkLabel в TeacherControlPlugin commit1835b811efAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:51:44 2024 +0300 MathNet Signed commitb23d6df9e9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:16:15 2024 +0300 MathNet.Numerics.dll commit790fba67b8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 27 17:56:09 2024 +0300 3.10.0 commit1ec4204fd2Author: Sun Serega <sunserega2@gmail.com> Date: Mon Aug 26 09:20:27 2024 +0300 `.Batch` cleanup (#3108) commitb5e674c311Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:12:14 2024 +0300 3_10_0 commit7face043cfAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:11:08 2024 +0300 ToSet commite456ad528eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 23:13:57 2024 +0300 3.9.0.3530 commit3247469e6dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 22:55:27 2024 +0300 Добавлен DrawPoints в Turtle Исправлена ошибка с отображением подписей в Y-координате commit7548142623Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 14:27:53 2024 +0300 1. Глобально. SetDecimalSeparator(',') SetNumberFormat(DecimalSeparator := ',' и куча других параметров) s.ToReal(nfi) s.ToReals(nfi) StrToReal(nfi) StrToFloat(nfi) FloatToStr(nfi) var nfi := NumberFormat(DecimalSeparator := ',') s.ToReal(DecimalSeparator := ',') s.ToReals(DecimalSeparator := ',') StrToReal(DecimalSeparator := ',') commitd94885b950Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 12:13:09 2024 +0300 randomElement для строк .ToReals - разделителями могут быть пробел табуляция и переход на новую строку NumberFormat - функция, возвращающая nfi commitae2e26acf8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Aug 23 19:33:55 2024 +0300 PT4 - новые dll файлы старых заданий серий A commit0f8aa6fa3cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 17:28:05 2024 +0300 SetOf как основной синоним HSet commitdb4b53be20Merge:86852e0a5b9fd59a84Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:42 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit86852e0a59Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:14 2024 +0300 School - ToBase(number: int64 commitb9fd59a840Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 15:08:44 2024 +0200 #2830 commit4f0b0f8ba0Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 14:43:49 2024 +0200 #3194 commite3ee0fed4cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 13:49:30 2024 +0200 #3097 commitd396c4a9feAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 10:40:23 2024 +0200 #3178 commit0d846d2335Merge:e91e35398a65a86921Author: Ivan Bondarev <ibond84@googlemail.com> Date: Mon Aug 12 15:24:11 2024 +0200 Merge pull request #3170 from samuraiGH/ForeachResolver-rework Foreach resolver rework commita65a869211Author: samuraiGH <anonimajzer3@mail.ru> Date: Mon Aug 12 15:50:42 2024 +0300 increasing pcu file version commite91e353984Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 11 15:21:29 2024 +0300 Обновленный модуль Turtle.pas commitc18238df39Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 20:18:57 2024 +0300 3.9.0.3523 commit1da2b524a6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 19:34:10 2024 +0300 School PrimeDivisors commit47c61d8b14Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:48:07 2024 +0300 New directive to disable linking pascal standard modules (#3186) * Add new 'disable standard units' directive and it's processing * Refactor InitializeNewUnit function * Improve disable standard units directive checks * Add null check in programs.cs to avoid error * Rename error related to disable standard units directive * Add referencing standard net libraries * Add checks for duplicates when injecting references commitfc3ab96caeAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:46:40 2024 +0300 Delete DocumentedUnits option and Exclude HelpBuilder project (#3192) * Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug Достаточно их аналогов из CompilerOptions. * Add recreating CompilerOptions when reloading Compiler * Change Rebuild checkbox logic * Delete documented units fiels from CompilerInternalDebug * Revert "Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug" This reverts commit 25e92b22722b7e251ab0156148fdf28ee3175c27. * Exclude HelpBuilder commit64acde6460Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 18:21:04 2024 +0300 Сделал возможным неявное приведение некоторого типа к array of T (при описании оператора в виде статической функции класса) School - IsPrime(n) commit3db5709101Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 10:56:18 2024 +0300 ZipCartesianFuncs.pas commitc4fd47128bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Jul 30 22:56:03 2024 +0300 Zip, Cartesian - сделаны внешние функции до 5 параметров, в т.ч. с проекцией Zip, Cartesian - методы расширения дополнены чтобы было как во внешних Перегенерирована справка commit7d66f26d4fAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Mon Jul 1 00:16:43 2024 +0300 cleanup and more tests commit464dc794a8Author: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 23:31:28 2024 +0300 cleanup and more comments commit32f126370cAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 21:35:06 2024 +0300 attempt to fix GetEnumerator resolving for Pascal types commitfb3eeeb28bAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 16:26:35 2024 +0300 fix tests commit84b0dfe537Author: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 15:49:13 2024 +0300 fix getting MethodInfo commit5fa4d9fce7Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:45:07 2024 +0300 cold fix set of T resolving commit460ce636abAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:21:06 2024 +0300 hot fix set of T resolving commit83c2f29ac6Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:53:11 2024 +0300 fix method filtering again commitc840a1a47aAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:32:41 2024 +0300 fix type recovery commit2436627fddAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 19:18:32 2024 +0300 fixing method filtering commit15a05360a4Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:25:39 2024 +0300 attempt to fix GetEnumerator resolving for compiled types commit4fd020d084Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:21:00 2024 +0300 adding tests * Fix Types Names in Errors * Update Examples * Try To Add Python's list[T] * Add BackSlash Support * Add ANIM examples * Fix compilation context instance assigning * Squashed commit of the following: commit771ea7b445Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Apr 6 14:32:17 2025 +0200 #3230 commit28a1a03e8dAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Apr 6 11:35:09 2025 +0200 #3251 commitaf7abc770bAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Sun Apr 6 08:33:34 2025 +0300 synchronization of namespaces and folders for TeacherControlPlugin (#3262) commitaae723b982Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Thu Apr 3 12:00:04 2025 +0300 Create default syntax tree converter class (#3216) Для удобства разработчиков простых языков, которым не требуются дополнительные обходы синтаксического дерева. commitf9cc90e50fAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Apr 3 11:59:46 2025 +0300 fix errors (#3260) commitf85bfad60fAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Thu Apr 3 11:58:19 2025 +0300 Intellisense memory leaks fix (#3257) * Fix memory leaks found for PABCSystem.pas Memory leaks of Interface and Implementation Unit Scopes fixed * Change open_files and recomp_files variables type to be Dictionary (not HashTable) * open_files Check simplification * Move TypeTable.Clear call to CodeCompletion Compile method commit7751fe7e75Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Sun Mar 16 13:28:03 2025 +0300 generating language res file at build time (#3252) commitd1fce63d69Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Mar 4 08:38:09 2025 +0300 Сборка после pr SDK commitd491e88aa7Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Mon Mar 3 20:34:51 2025 +0300 migration to new build system (#3241) * converting project files into sdk style * new build commands * adding new dll into nsis * removing unused .cs files commit1fd348ec3cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Feb 23 20:49:26 2025 +0300 NSIS New 3.10 Ярлык в меню Пуск у всех пользователей commit80b7182dc1Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Feb 19 11:50:00 2025 +0300 _ in names commita2b078960bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Feb 19 10:52:25 2025 +0300 cnfc2 commit58f26d469dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Feb 18 22:28:13 2025 +0300 перекомпиляция 3.10.3.3611 commitb78a72977fAuthor: nevermind322 <81963698+nevermind322@users.noreply.github.com> Date: Tue Feb 18 22:02:19 2025 +0300 fix build on mono (#3249) * fix build on mono * remove local func * fix again commitc3557e388cAuthor: Nikolay Kuznetsov <adasoft@gmail.com> Date: Sat Feb 15 20:32:46 2025 +0300 Update GraphABC.pas (#3244) 1. Быстрая реализация функции FloodFill Для этого добавлена процедура BitmapFloodFill, которая вызывается из метода Picture.FloodFill и процедуры FloodFill 2.Добавлена поддержка LockDrawing/UnlockDrawing в процедуру FloodFill commit9dbac389e1Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Wed Feb 12 13:57:14 2025 +0300 Add missing projects to pabcnetc.sln (#3247) commit41dfb6f187Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Feb 7 21:41:01 2025 +0300 [] - преобразование во все контейнеры GraphABCHelper - теперь ABCObjects работает под Линукс School исправлен согласно последним веяниям [] commit79bbbd10ffAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Wed Jan 29 20:18:37 2025 +0300 removing files for support fx4.0 (#3240) commit88d5c409ebAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Tue Jan 28 20:41:55 2025 +0300 Рефакторинг PascalABCNET.xshd (#3237) * refactoring PascalABCNET.xshd * removing extra characters commit8fbd7fdfc3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Jan 26 23:42:48 2025 +0300 3.10.3 faststrings EmptyCollection и преобразование ее в List, Dictionary t: (real,real) := (1,2) commitbba132bd5dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jan 22 09:14:44 2025 +0300 Поправил справку по функции commit1bd21857ccAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jan 8 18:46:51 2025 +0300 Teacher Control Plugin - возможность задать server.dat commit0848a1b796Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 22:54:38 2025 +0300 Исправление автоформатирования [] commitd45b782a7bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 18:45:07 2025 +0300 Rename PABCSistem in test suite commitc2347e604bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 14:44:51 2025 +0300 Примеры - устранил неточности LightPT - имя сервера вынес в публичную секцию commitb68b8da970Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 17 15:52:18 2024 +0300 Примеры Coords1.pas Coords2.pas.pas commit8a9788e6f9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 17 15:06:57 2024 +0300 Перенес проверку set array на уровень парсера Немного поправил Intellisense по наведению для NewSet По точке там что то другое работает commit874ddebad3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 21:00:38 2024 +0300 Поправил грамматику [] Теперь нельзя в режиме ## использовать атрибуты Зато можно [1,2,3].Print commit080fb487e1Merge:a53dcd9eda484b0e82Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 15:25:24 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commita53dcd9ed2Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 15:25:16 2024 +0300 SF Prm Cmb для строк commita484b0e82dAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Dec 12 13:49:17 2024 +0200 fix (#3231) commit6ef11f249cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 11:05:45 2024 +0300 3.10.2 commitdb9679d89fAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 10:59:20 2024 +0300 Закончил превращение синтаксиса [] по умолчанию в массивы commit45fdde24b4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 18:08:00 2024 +0100 #3229 commit494b47624dMerge:5875b99297906d73daAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:42:07 2024 +0100 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit5875b99296Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:41:53 2024 +0100 platformtarget native - .NET 9.0 commit7906d73da3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 3 14:25:37 2024 +0300 Небольшие изменения в реализации операций с множествами commit087591c7b6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 27 11:37:07 2024 +0300 3.10.1 Coords - доработки Distance, Middle, DrawText с фоном и рамкой. Глобальные переменные настройки commitd268d4f83bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Nov 21 22:24:07 2024 +0300 NSToBytes переделал с исключением commit2bacdc8c28Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 13:20:33 2024 +0300 Комментарии к NewSet commite917ac8ecaAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 12:42:15 2024 +0300 TypeName для set commit206289c6a7Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 20:23:03 2024 +0300 Везде заменил _hs на hs в NewSet Убрал вызовы методов расширений NewSet в PABCSystem.pas Убрал var в operator + commitd8262078f6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 13:56:47 2024 +0300 Исправление мелких ошибок NewSet Все тесты проходят. Проблема, которая остаётся - в режиме ускорения такие программы падают: begin var s: set of byte; Print(s = [1]); end. Причина - из dll не вызывается конструктор записи без параметров, хотя он определён. В C# вообще у записей не может быть конструктора по умолчанию - наверное потому. Но для NewSet надо бы сделать исключение commitf8819665baAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 16 10:56:11 2024 +0300 NS2 commit591d9ebe60Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:34:10 2024 +0100 fix commitc6505634f4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:12:33 2024 +0100 fix commita6564df23cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 20:52:29 2024 +0100 fix in new sets commit03be5bd931Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 13 22:13:41 2024 +0300 Переставил operator:= в NewSet commit96c68f1666Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Nov 12 21:38:07 2024 +0100 #3223 commit82776f3c77Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 9 12:18:19 2024 +0300 NewSet - много мелких исправлений. Все тесты проходят кроме Tests 5 - видимо с pabcrtl.dll commitfbd63efa89Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Nov 3 16:59:48 2024 +0300 NewSets Некоторые тесты надо исправить commit746c4ae2c2Author: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 21:00:42 2024 +0100 #3221 commit350d07326dAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 18:35:51 2024 +0100 #3221 commitaae9ab408bAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 18:25:06 2024 +0100 #3221 commit1e4a811e04Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Oct 30 20:42:59 2024 +0100 test for #3219 commitd1a1247ecdAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Oct 30 20:24:16 2024 +0100 #3219 commit13b3071d80Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Oct 28 22:42:17 2024 +0300 закомментировал extensions преобразования arr to set. Надеюсь в новой реализации всё исправить commit6d5c18f457Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Oct 24 10:17:48 2024 +0300 SF XLSX.pas commit0c773a7ecbAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Oct 16 12:04:33 2024 +0300 tree.xml с парой новых узлов для Питона commit53b3fd0881Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Oct 9 14:09:01 2024 +0300 Добавил временное преобразование от array of T в set of T commit271d5792ceAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Tue Oct 8 10:00:14 2024 +0300 Documentation (#3211) * Add Compiler documentation * Add Intellisense documentation * Move documentation folder to root directory commit79f9ab73a0Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Oct 5 15:33:20 2024 +0300 PT4_32 commit0a20c8d32cAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Sep 26 09:02:31 2024 +0200 Add `.DistinctBy` (#3122) commit11981dbf47Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Sep 25 11:53:02 2024 +0300 IndexMinBy, IndexMaxBy MinBy, MaxBy - более эффективная реализация GraphWPF - SaveToClipboard commit3eb1d2bd85Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 17:42:09 2024 +0200 #3197 commit20edd487e3Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 12:39:03 2024 +0200 #3204 commit7261231c9cMerge:7debbe7029ab932977Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 09:49:58 2024 +0200 Merge pull request #3207 from AlexanderZemlyak/fix_linux_version Fix linux version commit9ab9329771Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Sun Sep 22 10:23:18 2024 +0300 Add new projects in PascalACBNETLinux.sln commit7debbe702aAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 21 14:29:38 2024 +0300 Критическое обновление LightPT commit40335b873eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Sep 20 22:58:46 2024 +0300 LightPT - OutputListIsClearedFromSpaces := False; Coords - DrawLine commit078281db17Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Sep 19 22:42:44 2024 +0300 coords suite commit8d51f999a5Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Sep 19 20:28:28 2024 +0300 Автоклассы - разрешение наследования от классов без полей Модуль Coords commit8f7e92d418Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Sep 16 08:25:43 2024 +0300 Turtle переделал на паттерн Команда commita6f6d8a90bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 23:11:54 2024 +0300 Правки рейтинга в TeacherPlugin commit2365eb3633Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 15:54:15 2024 +0300 LinkLabel в TeacherControlPlugin commit1835b811efAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:51:44 2024 +0300 MathNet Signed commitb23d6df9e9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:16:15 2024 +0300 MathNet.Numerics.dll commit790fba67b8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 27 17:56:09 2024 +0300 3.10.0 commit1ec4204fd2Author: Sun Serega <sunserega2@gmail.com> Date: Mon Aug 26 09:20:27 2024 +0300 `.Batch` cleanup (#3108) commitb5e674c311Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:12:14 2024 +0300 3_10_0 commit7face043cfAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:11:08 2024 +0300 ToSet commite456ad528eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 23:13:57 2024 +0300 3.9.0.3530 commit3247469e6dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 22:55:27 2024 +0300 Добавлен DrawPoints в Turtle Исправлена ошибка с отображением подписей в Y-координате commit7548142623Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 14:27:53 2024 +0300 1. Глобально. SetDecimalSeparator(',') SetNumberFormat(DecimalSeparator := ',' и куча других параметров) s.ToReal(nfi) s.ToReals(nfi) StrToReal(nfi) StrToFloat(nfi) FloatToStr(nfi) var nfi := NumberFormat(DecimalSeparator := ',') s.ToReal(DecimalSeparator := ',') s.ToReals(DecimalSeparator := ',') StrToReal(DecimalSeparator := ',') commitd94885b950Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 12:13:09 2024 +0300 randomElement для строк .ToReals - разделителями могут быть пробел табуляция и переход на новую строку NumberFormat - функция, возвращающая nfi commitae2e26acf8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Aug 23 19:33:55 2024 +0300 PT4 - новые dll файлы старых заданий серий A commit0f8aa6fa3cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 17:28:05 2024 +0300 SetOf как основной синоним HSet commitdb4b53be20Merge:86852e0a5b9fd59a84Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:42 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit86852e0a59Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:14 2024 +0300 School - ToBase(number: int64 commitb9fd59a840Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 15:08:44 2024 +0200 #2830 commit4f0b0f8ba0Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 14:43:49 2024 +0200 #3194 commite3ee0fed4cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 13:49:30 2024 +0200 #3097 commitd396c4a9feAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 10:40:23 2024 +0200 #3178 commit0d846d2335Merge:e91e35398a65a86921Author: Ivan Bondarev <ibond84@googlemail.com> Date: Mon Aug 12 15:24:11 2024 +0200 Merge pull request #3170 from samuraiGH/ForeachResolver-rework Foreach resolver rework commita65a869211Author: samuraiGH <anonimajzer3@mail.ru> Date: Mon Aug 12 15:50:42 2024 +0300 increasing pcu file version commite91e353984Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 11 15:21:29 2024 +0300 Обновленный модуль Turtle.pas commitc18238df39Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 20:18:57 2024 +0300 3.9.0.3523 commit1da2b524a6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 19:34:10 2024 +0300 School PrimeDivisors commit47c61d8b14Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:48:07 2024 +0300 New directive to disable linking pascal standard modules (#3186) * Add new 'disable standard units' directive and it's processing * Refactor InitializeNewUnit function * Improve disable standard units directive checks * Add null check in programs.cs to avoid error * Rename error related to disable standard units directive * Add referencing standard net libraries * Add checks for duplicates when injecting references commitfc3ab96caeAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:46:40 2024 +0300 Delete DocumentedUnits option and Exclude HelpBuilder project (#3192) * Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug Достаточно их аналогов из CompilerOptions. * Add recreating CompilerOptions when reloading Compiler * Change Rebuild checkbox logic * Delete documented units fiels from CompilerInternalDebug * Revert "Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug" This reverts commit 25e92b22722b7e251ab0156148fdf28ee3175c27. * Exclude HelpBuilder commit64acde6460Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 18:21:04 2024 +0300 Сделал возможным неявное приведение некоторого типа к array of T (при описании оператора в виде статической функции класса) School - IsPrime(n) commit3db5709101Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 10:56:18 2024 +0300 ZipCartesianFuncs.pas commitc4fd47128bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Jul 30 22:56:03 2024 +0300 Zip, Cartesian - сделаны внешние функции до 5 параметров, в т.ч. с проекцией Zip, Cartesian - методы расширения дополнены чтобы было как во внешних Перегенерирована справка commit7d66f26d4fAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Mon Jul 1 00:16:43 2024 +0300 cleanup and more tests commit464dc794a8Author: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 23:31:28 2024 +0300 cleanup and more comments commit32f126370cAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 21:35:06 2024 +0300 attempt to fix GetEnumerator resolving for Pascal types commitfb3eeeb28bAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 16:26:35 2024 +0300 fix tests commit84b0dfe537Author: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 15:49:13 2024 +0300 fix getting MethodInfo commit5fa4d9fce7Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:45:07 2024 +0300 cold fix set of T resolving commit460ce636abAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:21:06 2024 +0300 hot fix set of T resolving commit83c2f29ac6Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:53:11 2024 +0300 fix method filtering again commitc840a1a47aAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:32:41 2024 +0300 fix type recovery commit2436627fddAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 19:18:32 2024 +0300 fixing method filtering commit15a05360a4Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:25:39 2024 +0300 attempt to fix GetEnumerator resolving for compiled types commit4fd020d084Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:21:00 2024 +0300 adding tests * Fix DefaultSyntaxTreeConverter * Update some comments in spython_syntax_tree_visitor * Configure Intellisense - first step * DomSyntaxTreeVisitor fixes * Add implementation for parser methods used by Intellisense * Add declarations_as_statement visit in DomSyntaxTreeVisitor implementation * Refactor CodeCompletion.cs * Fix Intellisense case sensitive units search * Squashed commit of the following: commit bb7962ff859946a71ded0df465d024c14559cb04 Merge: 71261ded1aae723b98Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Thu Apr 3 12:23:21 2025 +0300 Merge branch 'master' into intellisense_refactoring commit 71261ded190a40dcf2301f37b4ac70356cfb35af Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Thu Apr 3 12:16:52 2025 +0300 Update comments in PascalABCLanguageInformation commitaae723b982Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Thu Apr 3 12:00:04 2025 +0300 Create default syntax tree converter class (#3216) Для удобства разработчиков простых языков, которым не требуются дополнительные обходы синтаксического дерева. commitf9cc90e50fAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Apr 3 11:59:46 2025 +0300 fix errors (#3260) commitf85bfad60fAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Thu Apr 3 11:58:19 2025 +0300 Intellisense memory leaks fix (#3257) * Fix memory leaks found for PABCSystem.pas Memory leaks of Interface and Implementation Unit Scopes fixed * Change open_files and recomp_files variables type to be Dictionary (not HashTable) * open_files Check simplification * Move TypeTable.Clear call to CodeCompletion Compile method commit d52ce0d4c86ec1fb6962db33a8dc774b69fddd69 Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Thu Apr 3 11:15:02 2025 +0300 Squashed commit of the following: commit7751fe7e75Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Sun Mar 16 13:28:03 2025 +0300 generating language res file at build time (#3252) commitd1fce63d69Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Mar 4 08:38:09 2025 +0300 Сборка после pr SDK commitd491e88aa7Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Mon Mar 3 20:34:51 2025 +0300 migration to new build system (#3241) * converting project files into sdk style * new build commands * adding new dll into nsis * removing unused .cs files commit1fd348ec3cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Feb 23 20:49:26 2025 +0300 NSIS New 3.10 Ярлык в меню Пуск у всех пользователей commit80b7182dc1Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Feb 19 11:50:00 2025 +0300 _ in names commita2b078960bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Feb 19 10:52:25 2025 +0300 cnfc2 commit58f26d469dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Feb 18 22:28:13 2025 +0300 перекомпиляция 3.10.3.3611 commitb78a72977fAuthor: nevermind322 <81963698+nevermind322@users.noreply.github.com> Date: Tue Feb 18 22:02:19 2025 +0300 fix build on mono (#3249) * fix build on mono * remove local func * fix again commitc3557e388cAuthor: Nikolay Kuznetsov <adasoft@gmail.com> Date: Sat Feb 15 20:32:46 2025 +0300 Update GraphABC.pas (#3244) 1. Быстрая реализация функции FloodFill Для этого добавлена процедура BitmapFloodFill, которая вызывается из метода Picture.FloodFill и процедуры FloodFill 2.Добавлена поддержка LockDrawing/UnlockDrawing в процедуру FloodFill commit9dbac389e1Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Wed Feb 12 13:57:14 2025 +0300 Add missing projects to pabcnetc.sln (#3247) commit41dfb6f187Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Feb 7 21:41:01 2025 +0300 [] - преобразование во все контейнеры GraphABCHelper - теперь ABCObjects работает под Линукс School исправлен согласно последним веяниям [] commit79bbbd10ffAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Wed Jan 29 20:18:37 2025 +0300 removing files for support fx4.0 (#3240) commit88d5c409ebAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Tue Jan 28 20:41:55 2025 +0300 Рефакторинг PascalABCNET.xshd (#3237) * refactoring PascalABCNET.xshd * removing extra characters commit8fbd7fdfc3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Jan 26 23:42:48 2025 +0300 3.10.3 faststrings EmptyCollection и преобразование ее в List, Dictionary t: (real,real) := (1,2) commitbba132bd5dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jan 22 09:14:44 2025 +0300 Поправил справку по функции commit1bd21857ccAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jan 8 18:46:51 2025 +0300 Teacher Control Plugin - возможность задать server.dat commit0848a1b796Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 22:54:38 2025 +0300 Исправление автоформатирования [] commitd45b782a7bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 18:45:07 2025 +0300 Rename PABCSistem in test suite commitc2347e604bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 14:44:51 2025 +0300 Примеры - устранил неточности LightPT - имя сервера вынес в публичную секцию commitb68b8da970Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 17 15:52:18 2024 +0300 Примеры Coords1.pas Coords2.pas.pas commit8a9788e6f9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 17 15:06:57 2024 +0300 Перенес проверку set array на уровень парсера Немного поправил Intellisense по наведению для NewSet По точке там что то другое работает commit874ddebad3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 21:00:38 2024 +0300 Поправил грамматику [] Теперь нельзя в режиме ## использовать атрибуты Зато можно [1,2,3].Print commit080fb487e1Merge:a53dcd9eda484b0e82Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 15:25:24 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commita53dcd9ed2Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 15:25:16 2024 +0300 SF Prm Cmb для строк commita484b0e82dAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Dec 12 13:49:17 2024 +0200 fix (#3231) commit6ef11f249cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 11:05:45 2024 +0300 3.10.2 commitdb9679d89fAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 10:59:20 2024 +0300 Закончил превращение синтаксиса [] по умолчанию в массивы commit45fdde24b4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 18:08:00 2024 +0100 #3229 commit494b47624dMerge:5875b99297906d73daAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:42:07 2024 +0100 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit5875b99296Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:41:53 2024 +0100 platformtarget native - .NET 9.0 commit7906d73da3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 3 14:25:37 2024 +0300 Небольшие изменения в реализации операций с множествами commit087591c7b6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 27 11:37:07 2024 +0300 3.10.1 Coords - доработки Distance, Middle, DrawText с фоном и рамкой. Глобальные переменные настройки commitd268d4f83bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Nov 21 22:24:07 2024 +0300 NSToBytes переделал с исключением commit2bacdc8c28Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 13:20:33 2024 +0300 Комментарии к NewSet commite917ac8ecaAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 12:42:15 2024 +0300 TypeName для set commit206289c6a7Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 20:23:03 2024 +0300 Везде заменил _hs на hs в NewSet Убрал вызовы методов расширений NewSet в PABCSystem.pas Убрал var в operator + commitd8262078f6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 13:56:47 2024 +0300 Исправление мелких ошибок NewSet Все тесты проходят. Проблема, которая остаётся - в режиме ускорения такие программы падают: begin var s: set of byte; Print(s = [1]); end. Причина - из dll не вызывается конструктор записи без параметров, хотя он определён. В C# вообще у записей не может быть конструктора по умолчанию - наверное потому. Но для NewSet надо бы сделать исключение commitf8819665baAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 16 10:56:11 2024 +0300 NS2 commit591d9ebe60Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:34:10 2024 +0100 fix commitc6505634f4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:12:33 2024 +0100 fix commita6564df23cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 20:52:29 2024 +0100 fix in new sets commit03be5bd931Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 13 22:13:41 2024 +0300 Переставил operator:= в NewSet commit96c68f1666Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Nov 12 21:38:07 2024 +0100 #3223 commit82776f3c77Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 9 12:18:19 2024 +0300 NewSet - много мелких исправлений. Все тесты проходят кроме Tests 5 - видимо с pabcrtl.dll commit7751fe7e75Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Sun Mar 16 13:28:03 2025 +0300 generating language res file at build time (#3252) commitd1fce63d69Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Mar 4 08:38:09 2025 +0300 Сборка после pr SDK commitd491e88aa7Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Mon Mar 3 20:34:51 2025 +0300 migration to new build system (#3241) * converting project files into sdk style * new build commands * adding new dll into nsis * removing unused .cs files commit1fd348ec3cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Feb 23 20:49:26 2025 +0300 NSIS New 3.10 Ярлык в меню Пуск у всех пользователей commit80b7182dc1Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Feb 19 11:50:00 2025 +0300 _ in names commita2b078960bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Feb 19 10:52:25 2025 +0300 cnfc2 commit58f26d469dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Feb 18 22:28:13 2025 +0300 перекомпиляция 3.10.3.3611 commitb78a72977fAuthor: nevermind322 <81963698+nevermind322@users.noreply.github.com> Date: Tue Feb 18 22:02:19 2025 +0300 fix build on mono (#3249) * fix build on mono * remove local func * fix again commitc3557e388cAuthor: Nikolay Kuznetsov <adasoft@gmail.com> Date: Sat Feb 15 20:32:46 2025 +0300 Update GraphABC.pas (#3244) 1. Быстрая реализация функции FloodFill Для этого добавлена процедура BitmapFloodFill, которая вызывается из метода Picture.FloodFill и процедуры FloodFill 2.Добавлена поддержка LockDrawing/UnlockDrawing в процедуру FloodFill commit9dbac389e1Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Wed Feb 12 13:57:14 2025 +0300 Add missing projects to pabcnetc.sln (#3247) commit41dfb6f187Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Feb 7 21:41:01 2025 +0300 [] - преобразование во все контейнеры GraphABCHelper - теперь ABCObjects работает под Линукс School исправлен согласно последним веяниям [] commit79bbbd10ffAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Wed Jan 29 20:18:37 2025 +0300 removing files for support fx4.0 (#3240) commit88d5c409ebAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Tue Jan 28 20:41:55 2025 +0300 Рефакторинг PascalABCNET.xshd (#3237) * refactoring PascalABCNET.xshd * removing extra characters commit8fbd7fdfc3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Jan 26 23:42:48 2025 +0300 3.10.3 faststrings EmptyCollection и преобразование ее в List, Dictionary t: (real,real) := (1,2) commitbba132bd5dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jan 22 09:14:44 2025 +0300 Поправил справку по функции commit1bd21857ccAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jan 8 18:46:51 2025 +0300 Teacher Control Plugin - возможность задать server.dat commit0848a1b796Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 22:54:38 2025 +0300 Исправление автоформатирования [] commitd45b782a7bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 18:45:07 2025 +0300 Rename PABCSistem in test suite commitc2347e604bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 14:44:51 2025 +0300 Примеры - устранил неточности LightPT - имя сервера вынес в публичную секцию commitb68b8da970Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 17 15:52:18 2024 +0300 Примеры Coords1.pas Coords2.pas.pas commit8a9788e6f9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 17 15:06:57 2024 +0300 Перенес проверку set array на уровень парсера Немного поправил Intellisense по наведению для NewSet По точке там что то другое работает commit874ddebad3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 21:00:38 2024 +0300 Поправил грамматику [] Теперь нельзя в режиме ## использовать атрибуты Зато можно [1,2,3].Print commit080fb487e1Merge:a53dcd9eda484b0e82Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 15:25:24 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commita53dcd9ed2Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 15:25:16 2024 +0300 SF Prm Cmb для строк commita484b0e82dAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Dec 12 13:49:17 2024 +0200 fix (#3231) commit6ef11f249cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 11:05:45 2024 +0300 3.10.2 commitdb9679d89fAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 10:59:20 2024 +0300 Закончил превращение синтаксиса [] по умолчанию в массивы commit45fdde24b4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 18:08:00 2024 +0100 #3229 commit494b47624dMerge:5875b99297906d73daAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:42:07 2024 +0100 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit5875b99296Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:41:53 2024 +0100 platformtarget native - .NET 9.0 commit7906d73da3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 3 14:25:37 2024 +0300 Небольшие изменения в реализации операций с множествами commit087591c7b6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 27 11:37:07 2024 +0300 3.10.1 Coords - доработки Distance, Middle, DrawText с фоном и рамкой. Глобальные переменные настройки commitd268d4f83bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Nov 21 22:24:07 2024 +0300 NSToBytes переделал с исключением commit2bacdc8c28Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 13:20:33 2024 +0300 Комментарии к NewSet commite917ac8ecaAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 12:42:15 2024 +0300 TypeName для set commit206289c6a7Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 20:23:03 2024 +0300 Везде заменил _hs на hs в NewSet Убрал вызовы методов расширений NewSet в PABCSystem.pas Убрал var в operator + commitd8262078f6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 13:56:47 2024 +0300 Исправление мелких ошибок NewSet Все тесты проходят. Проблема, которая остаётся - в режиме ускорения такие программы падают: begin var s: set of byte; Print(s = [1]); end. Причина - из dll не вызывается конструктор записи без параметров, хотя он определён. В C# вообще у записей не может быть конструктора по умолчанию - наверное потому. Но для NewSet надо бы сделать исключение commitf8819665baAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 16 10:56:11 2024 +0300 NS2 commit591d9ebe60Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:34:10 2024 +0100 fix commitc6505634f4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:12:33 2024 +0100 fix commita6564df23cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 20:52:29 2024 +0100 fix in new sets commit03be5bd931Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 13 22:13:41 2024 +0300 Переставил operator:= в NewSet commit96c68f1666Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Nov 12 21:38:07 2024 +0100 #3223 commit a11bb9e9c6271e359fde6050e95d98950e946fbd Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Sun Nov 10 19:43:45 2024 +0300 Fix encoding commit 2c0fba643e45914b8f5350356e1c24b3c3cf3685 Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Sun Nov 10 19:21:54 2024 +0300 Fix build error commit f813a4ff99936dabdcfda40ce5beea2ba41aed53 Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Sun Nov 10 19:08:44 2024 +0300 Update intellisense documentation commit 8414c7ae1d6ed296a86e56975d84949a6e471a25 Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Sun Nov 10 19:08:03 2024 +0300 Another iteration of refactoring in CodeCompletionProvider + comments commit 340ef9a0e9bc40f7bda0cde8dccb86c94dc6c8cb Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Sun Nov 10 14:51:56 2024 +0300 Fix GetCompletionDataByFirst behaviour when getting symInfos after uses keyword commit82776f3c77Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 9 12:18:19 2024 +0300 NewSet - много мелких исправлений. Все тесты проходят кроме Tests 5 - видимо с pabcrtl.dll commit 8e9e7f94d094e528aeb9bd0db322005b08e31ee3 Merge: ea3c878ebfbd63efa8Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Fri Nov 8 14:47:33 2024 +0300 Merge branch 'master' into intellisense_refactoring commitfbd63efa89Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Nov 3 16:59:48 2024 +0300 NewSets Некоторые тесты надо исправить commit746c4ae2c2Author: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 21:00:42 2024 +0100 #3221 commit350d07326dAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 18:35:51 2024 +0100 #3221 commitaae9ab408bAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 18:25:06 2024 +0100 #3221 commit1e4a811e04Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Oct 30 20:42:59 2024 +0100 test for #3219 commitd1a1247ecdAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Oct 30 20:24:16 2024 +0100 #3219 commit13b3071d80Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Oct 28 22:42:17 2024 +0300 закомментировал extensions преобразования arr to set. Надеюсь в новой реализации всё исправить commit ea3c878eb27a268d50272838a36508511f1096ee Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Sun Oct 27 22:40:40 2024 +0300 Refactor GetCompletionDataByFirst method commit6d5c18f457Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Oct 24 10:17:48 2024 +0300 SF XLSX.pas commit 0ae57063a798ec7dc4979a1cea32371034794907 Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Tue Oct 22 12:54:05 2024 +0300 Replace dollar service character in CodeCompletion by separate boolean (ctrlSpaceAfterDot)) commit 89a02c2867b41cb12020a31867667c89f9fbb848 Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Tue Oct 22 10:48:21 2024 +0300 Extract shift space actions in separate class commit cb24d274969f67255c7cb253fbc36d25d6aaa2be Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Sun Oct 20 22:54:32 2024 +0300 Refactor CodeCompletionProvider (first iteration) commit 10b16014b8e19fac339752466b1733359675a052 Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Sun Oct 20 18:14:06 2024 +0300 Add check that we parsing PascalABC.NET in GetPopupHintText Временное решение, нужно будет вынести вторую попытку в интерфейс парсера. commit 4057884d749788726bc095581d1519ff8fec7037 Merge: d95eab7900c773a7ecAuthor: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Sun Oct 20 17:33:07 2024 +0300 Merge branch 'master' into intellisense_refactoring commit0c773a7ecbAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Oct 16 12:04:33 2024 +0300 tree.xml с парой новых узлов для Питона commit d95eab790c41cb2f8ac38be997ca81af30ee22be Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Thu Oct 10 14:14:43 2024 +0300 Delete other cases of ampersend inserting commit b2aaa157c1ae1965ae2a20eb3e5454f4df37b1a8 Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Wed Oct 9 22:48:37 2024 +0300 Basic refactoring of GetPopupHintText + delete ampersend inserting commit 4554bd5581bdf61601e454650a34422c8bf93c0c Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Wed Oct 9 18:56:23 2024 +0300 Move ValidDirectives field to ILanguageInformation commit53b3fd0881Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Oct 9 14:09:01 2024 +0300 Добавил временное преобразование от array of T в set of T commit d8b05d3d80500fc10cb964a5ec62c7244e4993f8 Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Wed Oct 9 09:53:35 2024 +0300 Fix inaccuracy in BaseKeywords.cs commit c45f66baf5a159d07ddc7ded63bad56387799fc1 Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Wed Oct 9 09:47:43 2024 +0300 Manage references in PascalABCLanguageInfo project commit 342cb23f2eb33948cc7d058e04a10fd4b5c1e2a4 Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Wed Oct 9 00:06:25 2024 +0300 Fix string comparisons and null reference exception commit 386f59d5fd5b29f010f59194ef1324d23a5651ca Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Tue Oct 8 23:18:53 2024 +0300 Fix build error commit 851936f02544879644b3284cf472c8c9c2ea8fa9 Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Tue Oct 8 23:12:16 2024 +0300 Refactor keywords managing to avoid repeating them twice commit271d5792ceAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Tue Oct 8 10:00:14 2024 +0300 Documentation (#3211) * Add Compiler documentation * Add Intellisense documentation * Move documentation folder to root directory commit79f9ab73a0Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Oct 5 15:33:20 2024 +0300 PT4_32 commit0a20c8d32cAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Sep 26 09:02:31 2024 +0200 Add `.DistinctBy` (#3122) commit11981dbf47Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Sep 25 11:53:02 2024 +0300 IndexMinBy, IndexMaxBy MinBy, MaxBy - более эффективная реализация GraphWPF - SaveToClipboard commit3eb1d2bd85Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 17:42:09 2024 +0200 #3197 commit20edd487e3Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 12:39:03 2024 +0200 #3204 commit7261231c9cMerge:7debbe7029ab932977Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 09:49:58 2024 +0200 Merge pull request #3207 from AlexanderZemlyak/fix_linux_version Fix linux version commit9ab9329771Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Sun Sep 22 10:23:18 2024 +0300 Add new projects in PascalACBNETLinux.sln commit7debbe702aAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 21 14:29:38 2024 +0300 Критическое обновление LightPT commit40335b873eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Sep 20 22:58:46 2024 +0300 LightPT - OutputListIsClearedFromSpaces := False; Coords - DrawLine commit078281db17Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Sep 19 22:42:44 2024 +0300 coords suite commit8d51f999a5Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Sep 19 20:28:28 2024 +0300 Автоклассы - разрешение наследования от классов без полей Модуль Coords commit8f7e92d418Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Sep 16 08:25:43 2024 +0300 Turtle переделал на паттерн Команда commita6f6d8a90bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 23:11:54 2024 +0300 Правки рейтинга в TeacherPlugin commit2365eb3633Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 15:54:15 2024 +0300 LinkLabel в TeacherControlPlugin commit1835b811efAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:51:44 2024 +0300 MathNet Signed commitb23d6df9e9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:16:15 2024 +0300 MathNet.Numerics.dll commit790fba67b8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 27 17:56:09 2024 +0300 3.10.0 commit1ec4204fd2Author: Sun Serega <sunserega2@gmail.com> Date: Mon Aug 26 09:20:27 2024 +0300 `.Batch` cleanup (#3108) commitb5e674c311Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:12:14 2024 +0300 3_10_0 commit7face043cfAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:11:08 2024 +0300 ToSet commite456ad528eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 23:13:57 2024 +0300 3.9.0.3530 commit3247469e6dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 22:55:27 2024 +0300 Добавлен DrawPoints в Turtle Исправлена ошибка с отображением подписей в Y-координате commit7548142623Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 14:27:53 2024 +0300 1. Глобально. SetDecimalSeparator(',') SetNumberFormat(DecimalSeparator := ',' и куча других параметров) s.ToReal(nfi) s.ToReals(nfi) StrToReal(nfi) StrToFloat(nfi) FloatToStr(nfi) var nfi := NumberFormat(DecimalSeparator := ',') s.ToReal(DecimalSeparator := ',') s.ToReals(DecimalSeparator := ',') StrToReal(DecimalSeparator := ',') commitd94885b950Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 12:13:09 2024 +0300 randomElement для строк .ToReals - разделителями могут быть пробел табуляция и переход на новую строку NumberFormat - функция, возвращающая nfi commitae2e26acf8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Aug 23 19:33:55 2024 +0300 PT4 - новые dll файлы старых заданий серий A commit0f8aa6fa3cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 17:28:05 2024 +0300 SetOf как основной синоним HSet commitdb4b53be20Merge:86852e0a5b9fd59a84Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:42 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit86852e0a59Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:14 2024 +0300 School - ToBase(number: int64 commitb9fd59a840Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 15:08:44 2024 +0200 #2830 commit4f0b0f8ba0Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 14:43:49 2024 +0200 #3194 commite3ee0fed4cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 13:49:30 2024 +0200 #3097 commitd396c4a9feAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 10:40:23 2024 +0200 #3178 commit0d846d2335Merge:e91e35398a65a86921Author: Ivan Bondarev <ibond84@googlemail.com> Date: Mon Aug 12 15:24:11 2024 +0200 Merge pull request #3170 from samuraiGH/ForeachResolver-rework Foreach resolver rework commita65a869211Author: samuraiGH <anonimajzer3@mail.ru> Date: Mon Aug 12 15:50:42 2024 +0300 increasing pcu file version commite91e353984Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 11 15:21:29 2024 +0300 Обновленный модуль Turtle.pas commitc18238df39Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 20:18:57 2024 +0300 3.9.0.3523 commit1da2b524a6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 19:34:10 2024 +0300 School PrimeDivisors commit47c61d8b14Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:48:07 2024 +0300 New directive to disable linking pascal standard modules (#3186) * Add new 'disable standard units' directive and it's processing * Refactor InitializeNewUnit function * Improve disable standard units directive checks * Add null check in programs.cs to avoid error * Rename error related to disable standard units directive * Add referencing standard net libraries * Add checks for duplicates when injecting references commitfc3ab96caeAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:46:40 2024 +0300 Delete DocumentedUnits option and Exclude HelpBuilder project (#3192) * Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug Достаточно их аналогов из CompilerOptions. * Add recreating CompilerOptions when reloading Compiler * Change Rebuild checkbox logic * Delete documented units fiels from CompilerInternalDebug * Revert "Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug" This reverts commit 25e92b22722b7e251ab0156148fdf28ee3175c27. * Exclude HelpBuilder commit64acde6460Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 18:21:04 2024 +0300 Сделал возможным неявное приведение некоторого типа к array of T (при описании оператора в виде статической функции класса) School - IsPrime(n) commit3db5709101Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 10:56:18 2024 +0300 ZipCartesianFuncs.pas commitc4fd47128bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Jul 30 22:56:03 2024 +0300 Zip, Cartesian - сделаны внешние функции до 5 параметров, в т.ч. с проекцией Zip, Cartesian - методы расширения дополнены чтобы было как во внешних Перегенерирована справка commit7d66f26d4fAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Mon Jul 1 00:16:43 2024 +0300 cleanup and more tests commit464dc794a8Author: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 23:31:28 2024 +0300 cleanup and more comments commit32f126370cAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 21:35:06 2024 +0300 attempt to fix GetEnumerator resolving for Pascal types commitfb3eeeb28bAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 16:26:35 2024 +0300 fix tests commit84b0dfe537Author: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 15:49:13 2024 +0300 fix getting MethodInfo commit5fa4d9fce7Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:45:07 2024 +0300 cold fix set of T resolving commit460ce636abAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:21:06 2024 +0300 hot fix set of T resolving commit83c2f29ac6Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:53:11 2024 +0300 fix method filtering again commitc840a1a47aAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:32:41 2024 +0300 fix type recovery commit2436627fddAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 19:18:32 2024 +0300 fixing method filtering commit15a05360a4Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:25:39 2024 +0300 attempt to fix GetEnumerator resolving for compiled types commit4fd020d084Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:21:00 2024 +0300 adding tests * Add BaseLanguageInformation and SPythonLanguageInformation * Delete unnecessary TestSuite files * Remove syntax_tree_visitor inner objects duplicates creation in spython_syntax_tree_visitor * Move CompilationUnit.UnitFileName initialization to InitializeNewUnit function * Override internal_reset method in spython_syntax_tree_visitor to fix pas test error * Delete dll files from git * Add standard SPython modules to compilation samples * Add List Methods Names Mapping * Add Grammar Rules for Intellisense * Configure Intellisense - step 2 * Fix languages loading call position * Change comments check in expression finding for SPython * Add SPython standard types to SPythonSystem (implicitly) * Add syntax tree converters calls for SPython in Intellisense * Squash merge master branch * Adapt SPython project files to new build system * Update FunctionsWithNamedParametersDesugarVisitor.cs * Fix output paths in SPython projects * Update _ReBuild.bat * Fix Main Function source_context * Extract converters for Intellisense only usage * Implement import statements in Intellisense Алиасы пока не поддерживаются * Remove Result varible for SPython in Intellisense * Remove standard modules and net namespaces from user scope * Adjust standard units to achieve not adding PABCSystem and Extenstions names to their scope * Add Set, Operator in/not in * Add Dict * Add len Function and dict/set types * Add list and set Functions * Comment out TypeCorrectVisitor for Intellisense * Fix New Types Names in Error Messages * Add Set Methods * Add special names renaming and excluding function in ILanguageInformation Используется для убирания подсказки PABCSystem, корректирования типа biginteger в SPython. * Add aliases support for import and from import in Intellisense * Fix list_generator Desugaring in Intellisence * Add dict Methods * Fix List Generator * Fix Assignment Declaration * Move math And time Libs to bin\Lib * Rename list_generator to generator_object * Fix Parser to Use generator_object * Add set generator * Add any and all Functions * Add Function Calls for generator objects * Add dict generator * Add empty containers initializations * Fix empty_list/set/dict error message * Fix type(obj) Function in Standard Library * Add Error if Initialize with No Type Specification and Empty Collection * Fix Initialization with Empty Collection for Global Variables * Add round Function * Add map Function * Revert "Add map Function" This reverts commit 4fb787a0122a6f404a4061fb6647561f0117739a. * Fix map Function * Update Visitor Name * Add Bitwise Operators * Add Bitwise Assignment Operations * Fix Set Binary Operations * Fix Global Assignments * Add f-string for Strings without Format * Update SPythonParser.dat * Add Expression-Support in f-string * Fix f-string Inner-Parser Call * Add int and float Formats for f-string ('x', 'X', 'b', 'd', '.[num]f') * Fix f-string regex * Fix result Local Variable * Add cont_int with Underscore * Add Empty itertools.pas Unit * Add args Parameters * Add kvargs Function Declaration (pre-alpha) * Update StandardSyntaxTreeConverter.cs * Fix kvargs-functions Forward Declarations * Add kvargs-functions Call (pre-alpha) * Add kvargs-parameters Usage * Add kvargs-function Call with no kvargs-arguments * Move Standard print Function to Unit Written in SPython * Update .dll's * Hot Fix * Update spython_syntax_tree_visitor.cs * Add Multi-Variables foreach * Fix create Name * Big Kwarg-Update * Change Create name in StringConstants and fix check in syntax_tree_visitor * Update buildandruntests.yml * Squashed commit of the following: commit f7834348258fd70cb34949908f157a37c4e013db Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Thu Jun 12 15:55:53 2025 +0300 Delete language kits directory creation while installing PascalABC.NET commit 78f40b7377fa6c62fbdd9a19754d8c14ae68cf7f Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Thu Jun 12 15:35:30 2025 +0300 Create time1.pas commit ba6cc457366a96efa650eeb2ffb90c5735de13f3 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Thu Jun 12 14:54:36 2025 +0300 Move TypeCorrectVisitor commit f9ae902f0df63aa2916683869ac0cff4dd71bd91 Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Thu Jun 12 13:39:42 2025 +0300 Fix Mutual Functions Calls commit da3b502df1b889c0b02a00815aa8a9df1bcbe31e Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Date: Thu Jun 12 13:10:49 2025 +0300 Add Itertools Examples and fix Kwargs commit a6d2f593a0e54b50d8b4b27fb56026b9ede740d0 Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Wed Jun 11 23:23:28 2025 +0300 Add special modules aliases support in Intellisense and switch off unit hints for import statements commit 0d5122eef93cb2dbd9728b1877b0bfb0544ef9b8 Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Wed Jun 11 19:23:36 2025 +0300 Create FindScopeByLocation modification for SPython Для нахождения вложенных в MAIN функций commit af7235ce8bee4b45ffd6c3b479f8e828932f69b4 Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Wed Jun 11 17:59:22 2025 +0300 Add ExitParamVisitor in visitors pipeline commit 3f5a4f4950a3d3f2035ec2b18081a01c734c1a96 Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Wed Jun 11 17:35:30 2025 +0300 Small fixes commit 3f32348b2f4dd66edd372d3989d7651ac56a5d93 Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Wed Jun 11 17:11:07 2025 +0300 Fix merge error commit 684d6a36912ef5c5ad82d4de0807683eac87debf Merge: 8e506f409eeb3116aeAuthor: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Wed Jun 11 17:06:42 2025 +0300 Merge branch 'master' into Spython_refactoring commit 8e506f409e4b34ad81620bf352813ab507e6134e Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Wed Jun 11 16:44:37 2025 +0300 Implement visitors pipeline for PascalABC.NET commit 0e8e4d5c786cbad5257804ce495fe410546ddf4c Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Wed Jun 11 14:10:22 2025 +0300 Refactor SPython StandardSyntaxTreeConverter to use pipeline approach commiteeb3116aeaAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Jun 10 21:30:20 2025 +0300 3.10.3.3634 commitea338d6bfeAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Jun 10 20:30:42 2025 +0300 2025 in GlobalAssemblyInfo.cs commit4dc6bd72efAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Jun 10 20:19:18 2025 +0300 chm восстановил commitfd139b4700Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Tue Jun 10 20:09:10 2025 +0300 fix SemanticTreeConverter.cs encoding (#3273) commitd11674efc2Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Jun 10 19:56:16 2025 +0300 Вернул старый css для справки commit9aee28f4f0Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Jun 10 19:54:57 2025 +0300 2025 commit07370e365fAuthor: Sun Serega <sunserega2@gmail.com> Date: Tue Jun 10 19:18:02 2025 +0300 Upgrade windows runner for CI/CD (#3271) * Try upgrade windows runner for CI/CD * Update names and BOM commit50fd3cb1eeAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Wed May 28 23:01:09 2025 +0300 * adding supports enumeration check for Pascal types in foreach resolver (#3272) * fix naming commit5fec52615aAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat May 24 21:36:36 2025 +0300 Распаковка KeyValuePair| И в foreach commitfbb5dec9a9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat May 17 19:34:33 2025 +0300 Внешний Between commita914ab6ef5Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri May 16 16:57:00 2025 +0300 InRange изменение поведения и внешний commit04059ab235Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed May 14 19:57:30 2025 +0300 Исправлены библиотеки PT4Exam commit40bfc046a8Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Wed May 14 19:40:04 2025 +0300 Fix shift space action in Intellisense (#3269) commite3a64850efAuthor: dmkwketx <dmkwketx@gmail.com> Date: Mon May 12 21:14:21 2025 +0300 Update GraphWPF.pas (#3270) если title больше одной строки, показывалась только последняя. теперь все строки будут показаны. commite9cf278fddAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon May 12 10:24:04 2025 +0300 IsOrdered в разных воплощениях commit255533f407Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri May 9 16:39:12 2025 +0300 IsOrdered метод расширения commit4c56298bfbAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu May 8 22:53:34 2025 +0300 exit(param) commitc22dee65faAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed May 7 10:57:41 2025 +0300 sp2 commit3f37c2cc4fAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed May 7 10:56:51 2025 +0300 sp commitcdfde69281Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri May 2 21:44:57 2025 +0300 2 chars commit2e27beef48Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Thu Apr 10 13:14:04 2025 +0300 Create generic instances cache (#3259) * First attempt to create generic instances cache * Change TypeScope equality check and add instance cache clearing * Move instance cache clearing call to CodeCompletion Compile funciton Шаблонные типы в instance_cache не должны пересекаться для различных модулей. Для улучшения производительности вызов очистки кэша расположен перед вызовом компиляции всех модулей. * Squashed commit of the following: commit771ea7b445Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Apr 6 14:32:17 2025 +0200 #3230 commit28a1a03e8dAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Apr 6 11:35:09 2025 +0200 #3251 commitaf7abc770bAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Sun Apr 6 08:33:34 2025 +0300 synchronization of namespaces and folders for TeacherControlPlugin (#3262) commitaae723b982Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Thu Apr 3 12:00:04 2025 +0300 Create default syntax tree converter class (#3216) Для удобства разработчиков простых языков, которым не требуются дополнительные обходы синтаксического дерева. commitf9cc90e50fAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Apr 3 11:59:46 2025 +0300 fix errors (#3260) commitf85bfad60fAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Thu Apr 3 11:58:19 2025 +0300 Intellisense memory leaks fix (#3257) * Fix memory leaks found for PABCSystem.pas Memory leaks of Interface and Implementation Unit Scopes fixed * Change open_files and recomp_files variables type to be Dictionary (not HashTable) * open_files Check simplification * Move TypeTable.Clear call to CodeCompletion Compile method * Fix incorrect dictionary iteration * Add one more dictionary keys copying commit69149f8c44Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Thu Apr 10 13:13:17 2025 +0300 Refactor intellisense (#3213) * Refactor keywords managing to avoid repeating them twice * Fix build error * Fix string comparisons and null reference exception * Manage references in PascalABCLanguageInfo project * Fix inaccuracy in BaseKeywords.cs * Move ValidDirectives field to ILanguageInformation * Basic refactoring of GetPopupHintText + delete ampersend inserting * Delete other cases of ampersend inserting * Add check that we parsing PascalABC.NET in GetPopupHintText Временное решение, нужно будет вынести вторую попытку в интерфейс парсера. * Refactor CodeCompletionProvider (first iteration) * Extract shift space actions in separate class * Replace dollar service character in CodeCompletion by separate boolean (ctrlSpaceAfterDot)) * Refactor GetCompletionDataByFirst method * Fix GetCompletionDataByFirst behaviour when getting symInfos after uses keyword * Another iteration of refactoring in CodeCompletionProvider + comments * Update intellisense documentation * Fix build error * Fix encoding * Squashed commit of the following: commit7751fe7e75Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Sun Mar 16 13:28:03 2025 +0300 generating language res file at build time (#3252) commitd1fce63d69Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Mar 4 08:38:09 2025 +0300 Сборка после pr SDK commitd491e88aa7Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Mon Mar 3 20:34:51 2025 +0300 migration to new build system (#3241) * converting project files into sdk style * new build commands * adding new dll into nsis * removing unused .cs files commit1fd348ec3cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Feb 23 20:49:26 2025 +0300 NSIS New 3.10 Ярлык в меню Пуск у всех пользователей commit80b7182dc1Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Feb 19 11:50:00 2025 +0300 _ in names commita2b078960bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Feb 19 10:52:25 2025 +0300 cnfc2 commit58f26d469dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Feb 18 22:28:13 2025 +0300 перекомпиляция 3.10.3.3611 commitb78a72977fAuthor: nevermind322 <81963698+nevermind322@users.noreply.github.com> Date: Tue Feb 18 22:02:19 2025 +0300 fix build on mono (#3249) * fix build on mono * remove local func * fix again commitc3557e388cAuthor: Nikolay Kuznetsov <adasoft@gmail.com> Date: Sat Feb 15 20:32:46 2025 +0300 Update GraphABC.pas (#3244) 1. Быстрая реализация функции FloodFill Для этого добавлена процедура BitmapFloodFill, которая вызывается из метода Picture.FloodFill и процедуры FloodFill 2.Добавлена поддержка LockDrawing/UnlockDrawing в процедуру FloodFill commit9dbac389e1Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Wed Feb 12 13:57:14 2025 +0300 Add missing projects to pabcnetc.sln (#3247) commit41dfb6f187Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Feb 7 21:41:01 2025 +0300 [] - преобразование во все контейнеры GraphABCHelper - теперь ABCObjects работает под Линукс School исправлен согласно последним веяниям [] commit79bbbd10ffAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Wed Jan 29 20:18:37 2025 +0300 removing files for support fx4.0 (#3240) commit88d5c409ebAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Tue Jan 28 20:41:55 2025 +0300 Рефакторинг PascalABCNET.xshd (#3237) * refactoring PascalABCNET.xshd * removing extra characters commit8fbd7fdfc3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Jan 26 23:42:48 2025 +0300 3.10.3 faststrings EmptyCollection и преобразование ее в List, Dictionary t: (real,real) := (1,2) commitbba132bd5dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jan 22 09:14:44 2025 +0300 Поправил справку по функции commit1bd21857ccAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jan 8 18:46:51 2025 +0300 Teacher Control Plugin - возможность задать server.dat commit0848a1b796Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 22:54:38 2025 +0300 Исправление автоформатирования [] commitd45b782a7bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 18:45:07 2025 +0300 Rename PABCSistem in test suite commitc2347e604bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 14:44:51 2025 +0300 Примеры - устранил неточности LightPT - имя сервера вынес в публичную секцию commitb68b8da970Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 17 15:52:18 2024 +0300 Примеры Coords1.pas Coords2.pas.pas commit8a9788e6f9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 17 15:06:57 2024 +0300 Перенес проверку set array на уровень парсера Немного поправил Intellisense по наведению для NewSet По точке там что то другое работает commit874ddebad3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 21:00:38 2024 +0300 Поправил грамматику [] Теперь нельзя в режиме ## использовать атрибуты Зато можно [1,2,3].Print commit080fb487e1Merge:a53dcd9eda484b0e82Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 15:25:24 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commita53dcd9ed2Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 15:25:16 2024 +0300 SF Prm Cmb для строк commita484b0e82dAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Dec 12 13:49:17 2024 +0200 fix (#3231) commit6ef11f249cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 11:05:45 2024 +0300 3.10.2 commitdb9679d89fAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 10:59:20 2024 +0300 Закончил превращение синтаксиса [] по умолчанию в массивы commit45fdde24b4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 18:08:00 2024 +0100 #3229 commit494b47624dMerge:5875b99297906d73daAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:42:07 2024 +0100 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit5875b99296Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:41:53 2024 +0100 platformtarget native - .NET 9.0 commit7906d73da3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 3 14:25:37 2024 +0300 Небольшие изменения в реализации операций с множествами commit087591c7b6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 27 11:37:07 2024 +0300 3.10.1 Coords - доработки Distance, Middle, DrawText с фоном и рамкой. Глобальные переменные настройки commitd268d4f83bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Nov 21 22:24:07 2024 +0300 NSToBytes переделал с исключением commit2bacdc8c28Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 13:20:33 2024 +0300 Комментарии к NewSet commite917ac8ecaAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 12:42:15 2024 +0300 TypeName для set commit206289c6a7Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 20:23:03 2024 +0300 Везде заменил _hs на hs в NewSet Убрал вызовы методов расширений NewSet в PABCSystem.pas Убрал var в operator + commitd8262078f6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 13:56:47 2024 +0300 Исправление мелких ошибок NewSet Все тесты проходят. Проблема, которая остаётся - в режиме ускорения такие программы падают: begin var s: set of byte; Print(s = [1]); end. Причина - из dll не вызывается конструктор записи без параметров, хотя он определён. В C# вообще у записей не может быть конструктора по умолчанию - наверное потому. Но для NewSet надо бы сделать исключение commitf8819665baAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 16 10:56:11 2024 +0300 NS2 commit591d9ebe60Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:34:10 2024 +0100 fix commitc6505634f4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:12:33 2024 +0100 fix commita6564df23cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 20:52:29 2024 +0100 fix in new sets commit03be5bd931Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 13 22:13:41 2024 +0300 Переставил operator:= в NewSet commit96c68f1666Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Nov 12 21:38:07 2024 +0100 #3223 commit82776f3c77Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 9 12:18:19 2024 +0300 NewSet - много мелких исправлений. Все тесты проходят кроме Tests 5 - видимо с pabcrtl.dll * Update comments in PascalABCLanguageInformation commitcc7d4472c6Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Thu Apr 10 12:19:31 2025 +0300 Write developer guide for integrating new language (#3264) commit5d842153a5Author: Sun Serega <sunserega2@gmail.com> Date: Thu Apr 10 12:17:52 2025 +0300 Add NSIS binaries to .gitignore exclude (#3265) commitee31ed94b3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Apr 10 12:06:40 2025 +0300 TeacherControlPlugin.cs - шифрованные модули commitba23a01e29Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Apr 9 10:59:16 2025 +0300 Закомментировал неверный обработчик commit3f70700d2bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Apr 7 22:07:13 2025 +0300 nsis новый - папка bin TeacherControlPlugin.cs - добавление обработчика для последующей шифровки Tasks.pas commit0353abf57cAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Mon Apr 7 08:35:22 2025 +0300 fix caching Localization assembly (#3263) commit771ea7b445Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Apr 6 14:32:17 2025 +0200 #3230 commit28a1a03e8dAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Apr 6 11:35:09 2025 +0200 #3251 commitaf7abc770bAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Sun Apr 6 08:33:34 2025 +0300 synchronization of namespaces and folders for TeacherControlPlugin (#3262) commitaae723b982Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Thu Apr 3 12:00:04 2025 +0300 Create default syntax tree converter class (#3216) Для удобства разработчиков простых языков, которым не требуются дополнительные обходы синтаксического дерева. commitf9cc90e50fAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Apr 3 11:59:46 2025 +0300 fix errors (#3260) commitf85bfad60fAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Thu Apr 3 11:58:19 2025 +0300 Intellisense memory leaks fix (#3257) * Fix memory leaks found for PABCSystem.pas Memory leaks of Interface and Implementation Unit Scopes fixed * Change open_files and recomp_files variables type to be Dictionary (not HashTable) * open_files Check simplification * Move TypeTable.Clear call to CodeCompletion Compile method commit7751fe7e75Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Sun Mar 16 13:28:03 2025 +0300 generating language res file at build time (#3252) commitd1fce63d69Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Mar 4 08:38:09 2025 +0300 Сборка после pr SDK commitd491e88aa7Author: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Mon Mar 3 20:34:51 2025 +0300 migration to new build system (#3241) * converting project files into sdk style * new build commands * adding new dll into nsis * removing unused .cs files commit1fd348ec3cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Feb 23 20:49:26 2025 +0300 NSIS New 3.10 Ярлык в меню Пуск у всех пользователей commit80b7182dc1Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Feb 19 11:50:00 2025 +0300 _ in names commita2b078960bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Feb 19 10:52:25 2025 +0300 cnfc2 commit58f26d469dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Feb 18 22:28:13 2025 +0300 перекомпиляция 3.10.3.3611 commitb78a72977fAuthor: nevermind322 <81963698+nevermind322@users.noreply.github.com> Date: Tue Feb 18 22:02:19 2025 +0300 fix build on mono (#3249) * fix build on mono * remove local func * fix again commitc3557e388cAuthor: Nikolay Kuznetsov <adasoft@gmail.com> Date: Sat Feb 15 20:32:46 2025 +0300 Update GraphABC.pas (#3244) 1. Быстрая реализация функции FloodFill Для этого добавлена процедура BitmapFloodFill, которая вызывается из метода Picture.FloodFill и процедуры FloodFill 2.Добавлена поддержка LockDrawing/UnlockDrawing в процедуру FloodFill commit9dbac389e1Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Wed Feb 12 13:57:14 2025 +0300 Add missing projects to pabcnetc.sln (#3247) commit41dfb6f187Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Feb 7 21:41:01 2025 +0300 [] - преобразование во все контейнеры GraphABCHelper - теперь ABCObjects работает под Линукс School исправлен согласно последним веяниям [] commit79bbbd10ffAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Wed Jan 29 20:18:37 2025 +0300 removing files for support fx4.0 (#3240) commit88d5c409ebAuthor: samuraiGH <87191377+samuraiGH@users.noreply.github.com> Date: Tue Jan 28 20:41:55 2025 +0300 Рефакторинг PascalABCNET.xshd (#3237) * refactoring PascalABCNET.xshd * removing extra characters commit8fbd7fdfc3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Jan 26 23:42:48 2025 +0300 3.10.3 faststrings EmptyCollection и преобразование ее в List, Dictionary t: (real,real) := (1,2) commitbba132bd5dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jan 22 09:14:44 2025 +0300 Поправил справку по функции commit1bd21857ccAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jan 8 18:46:51 2025 +0300 Teacher Control Plugin - возможность задать server.dat commit0848a1b796Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 22:54:38 2025 +0300 Исправление автоформатирования [] commitd45b782a7bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 18:45:07 2025 +0300 Rename PABCSistem in test suite commitc2347e604bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Jan 4 14:44:51 2025 +0300 Примеры - устранил неточности LightPT - имя сервера вынес в публичную секцию commitb68b8da970Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 17 15:52:18 2024 +0300 Примеры Coords1.pas Coords2.pas.pas commit8a9788e6f9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 17 15:06:57 2024 +0300 Перенес проверку set array на уровень парсера Немного поправил Intellisense по наведению для NewSet По точке там что то другое работает commit874ddebad3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 21:00:38 2024 +0300 Поправил грамматику [] Теперь нельзя в режиме ## использовать атрибуты Зато можно [1,2,3].Print commit080fb487e1Merge:a53dcd9eda484b0e82Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 15:25:24 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commita53dcd9ed2Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Dec 14 15:25:16 2024 +0300 SF Prm Cmb для строк commita484b0e82dAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Dec 12 13:49:17 2024 +0200 fix (#3231) commit6ef11f249cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 11:05:45 2024 +0300 3.10.2 commitdb9679d89fAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 10 10:59:20 2024 +0300 Закончил превращение синтаксиса [] по умолчанию в массивы commit45fdde24b4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 18:08:00 2024 +0100 #3229 commit494b47624dMerge:5875b99297906d73daAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:42:07 2024 +0100 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit5875b99296Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Dec 8 10:41:53 2024 +0100 platformtarget native - .NET 9.0 commit7906d73da3Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Dec 3 14:25:37 2024 +0300 Небольшие изменения в реализации операций с множествами commit087591c7b6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 27 11:37:07 2024 +0300 3.10.1 Coords - доработки Distance, Middle, DrawText с фоном и рамкой. Глобальные переменные настройки commitd268d4f83bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Nov 21 22:24:07 2024 +0300 NSToBytes переделал с исключением commit2bacdc8c28Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 13:20:33 2024 +0300 Комментарии к NewSet commite917ac8ecaAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 20 12:42:15 2024 +0300 TypeName для set commit206289c6a7Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 20:23:03 2024 +0300 Везде заменил _hs на hs в NewSet Убрал вызовы методов расширений NewSet в PABCSystem.pas Убрал var в operator + commitd8262078f6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Nov 19 13:56:47 2024 +0300 Исправление мелких ошибок NewSet Все тесты проходят. Проблема, которая остаётся - в режиме ускорения такие программы падают: begin var s: set of byte; Print(s = [1]); end. Причина - из dll не вызывается конструктор записи без параметров, хотя он определён. В C# вообще у записей не может быть конструктора по умолчанию - наверное потому. Но для NewSet надо бы сделать исключение commitf8819665baAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 16 10:56:11 2024 +0300 NS2 commit591d9ebe60Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:34:10 2024 +0100 fix commitc6505634f4Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 21:12:33 2024 +0100 fix commita6564df23cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Nov 13 20:52:29 2024 +0100 fix in new sets commit03be5bd931Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Nov 13 22:13:41 2024 +0300 Переставил operator:= в NewSet commit96c68f1666Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Nov 12 21:38:07 2024 +0100 #3223 commit82776f3c77Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Nov 9 12:18:19 2024 +0300 NewSet - много мелких исправлений. Все тесты проходят кроме Tests 5 - видимо с pabcrtl.dll commitfbd63efa89Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Nov 3 16:59:48 2024 +0300 NewSets Некоторые тесты надо исправить commit746c4ae2c2Author: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 21:00:42 2024 +0100 #3221 commit350d07326dAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 18:35:51 2024 +0100 #3221 commitaae9ab408bAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Thu Oct 31 18:25:06 2024 +0100 #3221 commit1e4a811e04Author: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Oct 30 20:42:59 2024 +0100 test for #3219 commitd1a1247ecdAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Wed Oct 30 20:24:16 2024 +0100 #3219 commit13b3071d80Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Oct 28 22:42:17 2024 +0300 закомментировал extensions преобразования arr to set. Надеюсь в новой реализации всё исправить commit6d5c18f457Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Oct 24 10:17:48 2024 +0300 SF XLSX.pas commit0c773a7ecbAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Oct 16 12:04:33 2024 +0300 tree.xml с парой новых узлов для Питона commit53b3fd0881Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Oct 9 14:09:01 2024 +0300 Добавил временное преобразование от array of T в set of T commit271d5792ceAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Tue Oct 8 10:00:14 2024 +0300 Documentation (#3211) * Add Compiler documentation * Add Intellisense documentation * Move documentation folder to root directory commit79f9ab73a0Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Oct 5 15:33:20 2024 +0300 PT4_32 commit0a20c8d32cAuthor: Sun Serega <sunserega2@gmail.com> Date: Thu Sep 26 09:02:31 2024 +0200 Add `.DistinctBy` (#3122) commit11981dbf47Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Sep 25 11:53:02 2024 +0300 IndexMinBy, IndexMaxBy MinBy, MaxBy - более эффективная реализация GraphWPF - SaveToClipboard commit3eb1d2bd85Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 17:42:09 2024 +0200 #3197 commit20edd487e3Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 12:39:03 2024 +0200 #3204 commit7261231c9cMerge:7debbe7029ab932977Author: Ivan Bondarev <ibond84@googlemail.com> Date: Sun Sep 22 09:49:58 2024 +0200 Merge pull request #3207 from AlexanderZemlyak/fix_linux_version Fix linux version commit9ab9329771Author: AlexanderZemlyak <zemlyaksanya@mail.ru> Date: Sun Sep 22 10:23:18 2024 +0300 Add new projects in PascalACBNETLinux.sln commit7debbe702aAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 21 14:29:38 2024 +0300 Критическое обновление LightPT commit40335b873eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Sep 20 22:58:46 2024 +0300 LightPT - OutputListIsClearedFromSpaces := False; Coords - DrawLine commit078281db17Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Sep 19 22:42:44 2024 +0300 coords suite commit8d51f999a5Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Thu Sep 19 20:28:28 2024 +0300 Автоклассы - разрешение наследования от классов без полей Модуль Coords commit8f7e92d418Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Sep 16 08:25:43 2024 +0300 Turtle переделал на паттерн Команда commita6f6d8a90bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 23:11:54 2024 +0300 Правки рейтинга в TeacherPlugin commit2365eb3633Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Sep 7 15:54:15 2024 +0300 LinkLabel в TeacherControlPlugin commit1835b811efAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:51:44 2024 +0300 MathNet Signed commitb23d6df9e9Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Sep 3 23:16:15 2024 +0300 MathNet.Numerics.dll commit790fba67b8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 27 17:56:09 2024 +0300 3.10.0 commit1ec4204fd2Author: Sun Serega <sunserega2@gmail.com> Date: Mon Aug 26 09:20:27 2024 +0300 `.Batch` cleanup (#3108) commitb5e674c311Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:12:14 2024 +0300 3_10_0 commit7face043cfAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Mon Aug 26 09:11:08 2024 +0300 ToSet commite456ad528eAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 23:13:57 2024 +0300 3.9.0.3530 commit3247469e6dAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 22:55:27 2024 +0300 Добавлен DrawPoints в Turtle Исправлена ошибка с отображением подписей в Y-координате commit7548142623Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 14:27:53 2024 +0300 1. Глобально. SetDecimalSeparator(',') SetNumberFormat(DecimalSeparator := ',' и куча других параметров) s.ToReal(nfi) s.ToReals(nfi) StrToReal(nfi) StrToFloat(nfi) FloatToStr(nfi) var nfi := NumberFormat(DecimalSeparator := ',') s.ToReal(DecimalSeparator := ',') s.ToReals(DecimalSeparator := ',') StrToReal(DecimalSeparator := ',') commitd94885b950Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sat Aug 24 12:13:09 2024 +0300 randomElement для строк .ToReals - разделителями могут быть пробел табуляция и переход на новую строку NumberFormat - функция, возвращающая nfi commitae2e26acf8Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Fri Aug 23 19:33:55 2024 +0300 PT4 - новые dll файлы старых заданий серий A commit0f8aa6fa3cAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 17:28:05 2024 +0300 SetOf как основной синоним HSet commitdb4b53be20Merge:86852e0a5b9fd59a84Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:42 2024 +0300 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet commit86852e0a59Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 18 16:05:14 2024 +0300 School - ToBase(number: int64 commitb9fd59a840Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 15:08:44 2024 +0200 #2830 commit4f0b0f8ba0Author: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 14:43:49 2024 +0200 #3194 commite3ee0fed4cAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 13:49:30 2024 +0200 #3097 commitd396c4a9feAuthor: Ivan Bondarev <ibond84@googlemail.com> Date: Tue Aug 13 10:40:23 2024 +0200 #3178 commit0d846d2335Merge:e91e35398a65a86921Author: Ivan Bondarev <ibond84@googlemail.com> Date: Mon Aug 12 15:24:11 2024 +0200 Merge pull request #3170 from samuraiGH/ForeachResolver-rework Foreach resolver rework commita65a869211Author: samuraiGH <anonimajzer3@mail.ru> Date: Mon Aug 12 15:50:42 2024 +0300 increasing pcu file version commite91e353984Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Sun Aug 11 15:21:29 2024 +0300 Обновленный модуль Turtle.pas commitc18238df39Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 20:18:57 2024 +0300 3.9.0.3523 commit1da2b524a6Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Aug 6 19:34:10 2024 +0300 School PrimeDivisors commit47c61d8b14Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:48:07 2024 +0300 New directive to disable linking pascal standard modules (#3186) * Add new 'disable standard units' directive and it's processing * Refactor InitializeNewUnit function * Improve disable standard units directive checks * Add null check in programs.cs to avoid error * Rename error related to disable standard units directive * Add referencing standard net libraries * Add checks for duplicates when injecting references commitfc3ab96caeAuthor: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com> Date: Fri Aug 2 10:46:40 2024 +0300 Delete DocumentedUnits option and Exclude HelpBuilder project (#3192) * Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug Достаточно их аналогов из CompilerOptions. * Add recreating CompilerOptions when reloading Compiler * Change Rebuild checkbox logic * Delete documented units fiels from CompilerInternalDebug * Revert "Delete CodeGeneration and PCUGenerate options from CompilerInternalDebug" This reverts commit 25e92b22722b7e251ab0156148fdf28ee3175c27. * Exclude HelpBuilder commit64acde6460Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 18:21:04 2024 +0300 Сделал возможным неявное приведение некоторого типа к array of T (при описании оператора в виде статической функции класса) School - IsPrime(n) commit3db5709101Author: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Wed Jul 31 10:56:18 2024 +0300 ZipCartesianFuncs.pas commitc4fd47128bAuthor: Mikhalkovich Stanislav <miks@math.sfedu.ru> Date: Tue Jul 30 22:56:03 2024 +0300 Zip, Cartesian - сделаны внешние функции до 5 параметров, в т.ч. с проекцией Zip, Cartesian - методы расширения дополнены чтобы было как во внешних Перегенерирована справка commit7d66f26d4fAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Mon Jul 1 00:16:43 2024 +0300 cleanup and more tests commit464dc794a8Author: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 23:31:28 2024 +0300 cleanup and more comments commit32f126370cAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sun Jun 30 21:35:06 2024 +0300 attempt to fix GetEnumerator resolving for Pascal types commitfb3eeeb28bAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 16:26:35 2024 +0300 fix tests commit84b0dfe537Author: samuraiGH <anonimajzer3@mail.ru> Date: Sat Jun 29 15:49:13 2024 +0300 fix getting MethodInfo commit5fa4d9fce7Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:45:07 2024 +0300 cold fix set of T resolving commit460ce636abAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 22:21:06 2024 +0300 hot fix set of T resolving commit83c2f29ac6Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:53:11 2024 +0300 fix method filtering again commitc840a1a47aAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 21:32:41 2024 +0300 fix type recovery commit2436627fddAuthor: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 19:18:32 2024 +0300 fixing method filtering commit15a05360a4Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:25:39 2024 +0300 attempt to fix GetEnumerator resolving for compiled types commit4fd020d084Author: samuraiGH <anonimajzer3@mail.ru> Date: Fri Jun 28 17:21:00 2024 +0300 adding tests * Fix merge error * Delete extra files * Move Examples to pascalabcnet\PABCNetHelp\Examples\SPython * Update .dll * Move examples to pascalabcnet\CodeExamples\SPython * Revert pipeline visitors architecture for Pascal * Add AssignIntegerDivisionOperation * Revert pipeline visitors architecture for SPython * Add len(str) * Fix inaccuracies * Delete SPython files * Fix case sensitive string comparison in some lambda classes * Small fix in BaseLanguageInformation * Revert changing Create string to constant in Pascal visitors * Resolve some pull request issues * Delete IndentArranger.exe * Delete unused function in DomSyntaxTreeVisitor * Update pabcnetc_clear/CommandConsoleCompiler.cs encoding Co-authored-by: Sun Serega <sunserega2@gmail.com> --------- Co-authored-by: Mikhalkovich Stanislav <miks@math.sfedu.ru> Co-authored-by: Владислав Крылов <krylov@sfedu.ru> Co-authored-by: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com> Co-authored-by: Sun Serega <sunserega2@gmail.com>
7425 lines
150 KiB
C#
7425 lines
150 KiB
C#
/********************************************************************************************
|
||
Этот файл создан программой
|
||
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);
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
|
||
}
|
||
|