Большое обновление задачника PT4 до версии 4.23

This commit is contained in:
Mikhalkovich Stanislav 2023-07-28 21:08:16 +03:00
parent c4f4a3c2cf
commit bc74749a12
97 changed files with 4571 additions and 1340 deletions

View file

@ -15,7 +15,7 @@ internal static class RevisionClass
public const string Major = "3";
public const string Minor = "9";
public const string Build = "0";
public const string Revision = "3313";
public const string Revision = "3315";
public const string MainVersion = Major + "." + Minor;
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;

View file

@ -1,4 +1,4 @@
%MINOR%=9
%REVISION%=3313
%REVISION%=3315
%COREVERSION%=0
%MAJOR%=3

View file

@ -1 +1 @@
3.9.0.3313
3.9.0.3315

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -18,6 +18,6 @@ P.ptCommentQuote{text-align:left;margin-left:120px;margin-top:0px;margin-bottom:
P.ptCommentContinue{text-align:justify;}
P.ptFooter{text-align:right;font-size:10pt;font-style:italic;margin-right:0px;}
SPAN.ptSpecial{font-family:"Arial";}
PRE{font-family:"Courier New";text-align:left;font-size:10pt;text-indent:0px;margin-top:5px; margin-right:10px; margin-bottom:0px; margin-left:60px;}
PRE{text-align:left;font-size:10pt;text-indent:0px;margin-top:5px; margin-right:10px; margin-bottom:0px; margin-left:60px;}
CODE{font-size:10pt;}
P.ptPicture{font-family:Arial, sans-serif;margin-top: 5px;margin-bottom: 5px;margin-left: 60px;font-size: small;color: #000080;text-indent: 0pt;text-align: justify}

Binary file not shown.

View file

@ -1 +1 @@
N“祭¨ª|10PABC2 NC:\Program Files (x86)\PascalABC.NET\PT4 NV8Â˜í«·®®#"%'%&&*&$#"%'%&&*&6b3:'%&&*&$#"%'%8>>674;7?<?8<98<257566:643257566:6
Nmikhail|10PABC1 NC:\Program Files (x86)\PascalABC.NET\PT4 NV82roqrgmo"%'%&&*&$#"%'%&&*&:¢8:'%&&*&$#"%'%=6;<8756>;;;B;88;=@78=>;9;:;8>87@<

View file

@ -1,6 +1,6 @@
PROGRAMMING TASKBOOK FOR PASCALABC.NET
Copyright (c) M. Abramyan, 1998-2018
Copyright (c) M. Abramyan, 1998-2023
LICENSE FOR USE AND DISTRIBUTION

View file

@ -3,7 +3,7 @@ PROGRAMMING TASKBOOK FOR PASCALABC.NET
Электронный задачник по программированию
(версия для системы PascalABC.NET)
Copyright (c) <20>. <20>. <20>בנאל<D790>ם, 1998-2018
Copyright (c) <20>. <20>. <20>בנאל<D790>ם, 1998-2023
ЛИЦЕНЗИОННОЕ СОГЛАШЕНИЕ ОБ ИСПОЛЬЗОВАНИИ И РАСПРОСТРАНЕНИИ

View file

@ -22,6 +22,7 @@ ArrSlice
ArrShift
ArrObj
ObjArray
ZFunc
ZSeries
ZMinmax
ZArray

View file

@ -1 +1 @@
!define VERSION '3.9.0.3313'
!define VERSION '3.9.0.3315'

View file

@ -9,13 +9,16 @@
GraphWPF, Turtle, TurtleWPF,
WPFObjects,
NumLibABC,
IniFile, PointerTools, PointRect, PT4, PT4MakerNetX, Robot, RobotField,
RobotTaskMaker, RobotZadan, Sockets, Utils, VCL, Timers, PT4Exam, PT4TaskMakerNET, RBDMUtils,
IniFile, PointerTools, PointRect,
PT4, PT4Exam, PT4MakerNetX, PT4TaskMakerNET, xPT4MakerNetX, xPT4TaskMakerNET,
Robot, RobotField,
RobotTaskMaker, RobotZadan, Sockets, Utils, VCL, Timers, RBDMUtils,
Collections, Arrays, Core, FormsABC, MPI, ClientServer, Speech, Sounds, Countries,
ABCDatabases,PT4Databases,BlockFileOfT,Controls,
OpenCLABC, OpenCL,
OpenGLABC, OpenGL,
BBCMicroBit, School, SF, TwoPanelsWindow, NUnitABC, PlotWPF, XLSX, LightPT, Tasks, Мозаика
BBCMicroBit, School, SF, TwoPanelsWindow, NUnitABC, PlotWPF, XLSX, LightPT, Tasks, Мозаика,
TasksArr
;
begin

View file

@ -113,6 +113,11 @@
File ..\bin\Lib\PointerTools.pcu
File ..\bin\Lib\PointRect.pcu
File ..\bin\Lib\PT4.pcu
File ..\bin\Lib\PT4Exam.pcu
File ..\bin\Lib\PT4MakerNetX.pcu
File ..\bin\Lib\PT4TaskMakerNET.pcu
File ..\bin\Lib\xPT4MakerNetX.pcu
File ..\bin\Lib\xPT4TaskMakerNET.pcu
File ..\bin\Lib\Robot.pcu
File ..\bin\Lib\RobotField.pcu
File ..\bin\Lib\RobotTaskMaker.pcu
@ -121,15 +126,12 @@
File ..\bin\Lib\Timers.pcu
File ..\bin\Lib\Utils.pcu
File ..\bin\Lib\VCL.pcu
File ..\bin\Lib\PT4Exam.pcu
File ..\bin\Lib\PT4TaskMakerNET.pcu
File ..\bin\Lib\RBDMUtils.pcu
File ..\bin\Lib\Collections.pcu
File ..\bin\Lib\Core.pcu
File ..\bin\Lib\MPI.pcu
File ..\bin\Lib\ClientServer.pcu
File ..\bin\Lib\OpenGL.pcu
File ..\bin\Lib\PT4MakerNetX.pcu
File ..\bin\Lib\Speech.pcu
File ..\bin\Lib\Sounds.pcu
File ..\bin\Lib\BlockFileOfT.pcu
@ -148,6 +150,7 @@
File ..\bin\Lib\PlotWPF.pcu
File ..\bin\Lib\XLSX.pcu
File ..\bin\Lib\Мозаика.pcu
File ..\bin\Lib\TasksArr.pcu
File ..\bin\Lib\PABCRtl.dll
File ..\bin\Lib\HelixToolkit.Wpf.dll
@ -194,6 +197,11 @@
${AddFile} "PointerTools.pcu"
${AddFile} "PointRect.pcu"
${AddFile} "PT4.pcu"
${AddFile} "PT4Exam.pcu"
${AddFile} "PT4MakerNetX.pcu"
${AddFile} "PT4TaskMakerNET.pcu"
${AddFile} "xPT4MakerNetX.pcu"
${AddFile} "xPT4TaskMakerNET.pcu"
${AddFile} "Robot.pcu"
${AddFile} "RobotField.pcu"
${AddFile} "RobotTaskMaker.pcu"
@ -202,15 +210,12 @@
${AddFile} "Timers.pcu"
${AddFile} "Utils.pcu"
${AddFile} "VCL.pcu"
${AddFile} "PT4TaskMakerNET.pcu"
${AddFile} "PT4Exam.pcu"
${AddFile} "RBDMUtils.pcu"
${AddFile} "Collections.pcu"
${AddFile} "Core.pcu"
${AddFile} "MPI.pcu"
${AddFile} "ClientServer.pcu"
${AddFile} "OpenGL.pcu"
${AddFile} "PT4MakerNetX.pcu"
${AddFile} "Speech.pcu"
${AddFile} "Sounds.pcu"
${AddFile} "BlockFileOfT.pcu"
@ -229,6 +234,7 @@
${AddFile} "PlotWPF.pcu"
${AddFile} "XLSX.pcu"
${AddFile} "Мозаика.pcu"
${AddFile} "TasksArr.pcu"
${AddFile} "turtle.png"
@ -294,6 +300,10 @@
File ..\bin\Lib\PointRect.pas
File ..\bin\Lib\PT4.pas
File ..\bin\Lib\PT4Exam.pas
File ..\bin\Lib\PT4MakerNetX.pas
File ..\bin\Lib\xPT4MakerNetX.pas
File ..\bin\Lib\PT4TaskMakerNET.pas
File ..\bin\Lib\xPT4TaskMakerNET.pas
File ..\bin\Lib\Robot.pas
File ..\bin\Lib\RobotField.pas
File ..\bin\Lib\RobotTaskMaker.pas
@ -302,14 +312,12 @@
File ..\bin\Lib\Timers.pas
File ..\bin\Lib\Utils.pas
File ..\bin\Lib\VCL.pas
File ..\bin\Lib\PT4TaskMakerNET.pas
File ..\bin\Lib\RBDMUtils.pas
File ..\bin\Lib\Collections.pas
File ..\bin\Lib\Core.pas
File ..\bin\Lib\MPI.pas
File ..\bin\Lib\ClientServer.pas
File ..\bin\Lib\OpenGL.pas
File ..\bin\Lib\PT4MakerNetX.pas
File ..\bin\Lib\Speech.pas
File ..\bin\Lib\Sounds.pas
File ..\bin\Lib\BlockFileOfT.pas
@ -369,6 +377,10 @@
${AddFile} "PointRect.pas"
${AddFile} "PT4.pas"
${AddFile} "PT4Exam.pas"
${AddFile} "PT4MakerNetX.pas"
${AddFile} "xPT4MakerNetX.pas"
${AddFile} "PT4TaskMakerNET.pas"
${AddFile} "xPT4TaskMakerNET.pas"
${AddFile} "Robot.pas"
${AddFile} "RobotField.pas"
${AddFile} "RobotTaskMaker.pas"
@ -377,13 +389,11 @@
${AddFile} "Timers.pas"
${AddFile} "Utils.pas"
${AddFile} "VCL.pas"
${AddFile} "PT4TaskMakerNET.pas"
${AddFile} "RBDMUtils.pas"
${AddFile} "Collections.pas"
${AddFile} "Core.pas"
${AddFile} "MPI.pas"
${AddFile} "ClientServer.pas"
${AddFile} "PT4MakerNetX.pas"
${AddFile} "Speech.pas"
${AddFile} "Sounds.pas"
${AddFile} "BlockFileOfT.pas"

View file

@ -32,6 +32,10 @@ Section $(DESC_PT4) PT4
${AddFile} "loadpabc_en.dat"
File "PT4\pt4pabc.dll"
${AddFile} "pt4pabc.dll"
File "PT4\pt4pabc2.dll"
${AddFile} "pt4pabc2.dll"
File "PT4\xpt4pabc2.dll"
${AddFile} "xpt4pabc2.dll"
File "PT4\PT4nld4p.dll"
${AddFile} "PT4nld4p.dll"
File "PT4\PT4Demo.exe"
@ -61,55 +65,34 @@ Section $(DESC_PT4) PT4
SetOutPath "$INSTDIR\PT4\Lib"
File "PT4\Lib\PT4ExamBegin_ru.dll"
${AddFile} "PT4ExamBegin_ru.dll"
File "PT4\Lib\PT4ExamTaskC_ru.dll"
${AddFile} "PT4ExamTaskC_ru.dll"
File "PT4\Lib\PT-Ext.dll"
${AddFile} "PT-Ext.dll"
File "PT4\Lib\PT4ExamBegin.dll"
${AddFile} "PT4ExamBegin.dll"
File "PT4\Lib\PT4ExamBegin_ru.dll"
${AddFile} "PT4ExamBegin_ru.dll"
File "PT4\Lib\PT4ExamCheck.dll"
${AddFile} "PT4ExamCheck.dll"
File "PT4\Lib\PT4ExamCheck_ru.dll"
${AddFile} "PT4ExamCheck_ru.dll"
File "PT4\Lib\PT4ExamTaskC.dll"
${AddFile} "PT4ExamTaskC.dll"
File "PT4\Lib\PT4ExamTaskC_ru.dll"
${AddFile} "PT4ExamTaskC_ru.dll"
File "PT4\Lib\PT4LinqBegin.dll"
${AddFile} "PT4LinqBegin.dll"
File "PT4\Lib\PT4LinqObj.dll"
${AddFile} "PT4LinqObj.dll"
File "PT4\Lib\PT4LinqXml.dll"
${AddFile} "PT4LinqXml.dll"
File "PT4\Lib\PT4TMDemoAbc.dll"
${AddFile} "PT4TMDemoAbc.dll"
File "PT4\Lib\PT4_.txt"
${AddFile} "PT4_.txt"
File "PT4\Lib\PT4_Exam.txt"
${AddFile} "PT4_Exam.txt"
File "PT4\Lib\PT4_LinqB.txt"
${AddFile} "PT4_LinqB.txt"
File "PT4\Lib\PT4_LinqO.txt"
${AddFile} "PT4_LinqO.txt"
File "PT4\Lib\PT4_LinqX.txt"
${AddFile} "PT4_LinqX.txt"
File "PT4\Lib\PT4ExamBegin_ru.txt"
${AddFile} "PT4ExamBegin_ru.txt"
File "PT4\Lib\PT4ExamCheck_ru.txt"
${AddFile} "PT4ExamCheck_ru.txt"
File "PT4\Lib\PT4LinqBegin[PascalABC].txt"
${AddFile} "PT4LinqBegin[PascalABC].txt"
File "PT4\Lib\PT4LinqObj[PascalABC].txt"
${AddFile} "PT4LinqObj[PascalABC].txt"
File "PT4\Lib\PT4LinqXml[PascalABC].txt"
${AddFile} "PT4LinqXml[PascalABC].txt"
File "PT4\Lib\PT4-CWA-1Begin.txt"
${AddFile} "PT4-CWA-1Begin.txt"
File "PT4\Lib\PT4-CWA-2Robot.txt"
${AddFile} "PT4-CWA-2Robot.txt"
File "PT4\Lib\PT4-CWA-4Assign.txt"
${AddFile} "PT4-CWA-4Assign.txt"
File "PT4\Lib\PT4-CWA-5For.txt"
${AddFile} "PT4-CWA-5For.txt"
File "PT4\Lib\PT4-XRB.txt"
${AddFile} "PT4-XRB.txt"
File "PT4\Lib\PT4__.txt"
${AddFile} "PT4__.txt"
File "PT4\Lib\PT4ArrFilter.dll"
${AddFile} "PT4ArrFilter.dll"
@ -119,8 +102,6 @@ Section $(DESC_PT4) PT4
${AddFile} "PT4ArrGen.dll"
File "PT4\Lib\PT4ArrObj.dll"
${AddFile} "PT4ArrObj.dll"
File "PT4\Lib\PT4ArrObj.txt"
${AddFile} "PT4ArrObj.txt"
File "PT4\Lib\PT4ArrOp.dll"
${AddFile} "PT4ArrOp.dll"
File "PT4\Lib\PT4ArrShift.dll"
@ -131,25 +112,40 @@ Section $(DESC_PT4) PT4
${AddFile} "PT4ArrTransf.dll"
File "PT4\Lib\PT4ObjArray.dll"
${AddFile} "PT4ObjArray.dll"
File "PT4\Lib\PT4ObjArray.txt"
${AddFile} "PT4ObjArray.txt"
File "PT4\Lib\PT4ZArray.dll"
${AddFile} "PT4ZArray.dll"
File "PT4\Lib\PT4ZArray_ru.dll"
${AddFile} "PT4ZArray_ru.dll"
File "PT4\Lib\PT4ZFunc.dll"
${AddFile} "PT4ZFunc.dll"
File "PT4\Lib\PT4ZFunc_ru.dll"
${AddFile} "PT4ZFunc_ru.dll"
File "PT4\Lib\PT4ZMatrix.dll"
${AddFile} "PT4ZMatrix.dll"
File "PT4\Lib\PT4ZMatrix_ru.dll"
${AddFile} "PT4ZMatrix_ru.dll"
File "PT4\Lib\PT4ZMinmax.dll"
${AddFile} "PT4ZMinmax.dll"
File "PT4\Lib\PT4ZMinmax_ru.dll"
${AddFile} "PT4ZMinmax_ru.dll"
File "PT4\Lib\PT4ZSeries.dll"
${AddFile} "PT4ZSeries.dll"
File "PT4\Lib\PT4ZSeries_ru.dll"
${AddFile} "PT4ZSeries_ru.dll"
File "PT4\Lib\PT4AExam.dll"
${AddFile} "PT4AExam.dll"
File "PT4\Lib\PT4AArray.dll"
${AddFile} "PT4AArray.dll"
File "PT4\Lib\PT4ABegin.dll"
${AddFile} "PT4ABegin.dll"
File "PT4\Lib\PT4ABoolean.dll"
${AddFile} "PT4ABoolean.dll"
File "PT4\Lib\PT4ACase.dll"
${AddFile} "PT4ACase.dll"
File "PT4\Lib\PT4AExam.dll"
${AddFile} "PT4AExam.dll"
File "PT4\Lib\PT4AFunc.dll"
${AddFile} "PT4AFunc.dll"
File "PT4\Lib\PT4AIf.dll"
${AddFile} "PT4AIf.dll"
File "PT4\Lib\PT4AInteger.dll"
@ -162,12 +158,136 @@ Section $(DESC_PT4) PT4
${AddFile} "PT4AWhile.dll"
File "PT4\Lib\PT4AProc.dll"
${AddFile} "PT4AProc.dll"
File "PT4\Lib\PT4AFunc.dll"
${AddFile} "PT4AFunc.dll"
File "PT4\Lib\PT4AArray.dll"
${AddFile} "PT4AArray.dll"
File "PT4\Lib\xPT4AArray.dll"
${AddFile} "xPT4AArray.dll"
File "PT4\Lib\xPT4ABegin.dll"
${AddFile} "xPT4ABegin.dll"
File "PT4\Lib\xPT4ABoolean.dll"
${AddFile} "xPT4ABoolean.dll"
File "PT4\Lib\xPT4ACase.dll"
${AddFile} "xPT4ACase.dll"
File "PT4\Lib\xPT4AExam.dll"
${AddFile} "xPT4AExam.dll"
File "PT4\Lib\xPT4AFunc.dll"
${AddFile} "xPT4AFunc.dll"
File "PT4\Lib\xPT4AIf.dll"
${AddFile} "xPT4AIf.dll"
File "PT4\Lib\xPT4AInteger.dll"
${AddFile} "xPT4AInteger.dll"
File "PT4\Lib\xPT4ALoopFor.dll"
${AddFile} "xPT4ALoopFor.dll"
File "PT4\Lib\xPT4AProc.dll"
${AddFile} "xPT4AProc.dll"
File "PT4\Lib\xPT4ArrFilter.dll"
${AddFile} "xPT4ArrFilter.dll"
File "PT4\Lib\xPT4ArrFind.dll"
${AddFile} "xPT4ArrFind.dll"
File "PT4\Lib\xPT4ArrGen.dll"
${AddFile} "xPT4ArrGen.dll"
File "PT4\Lib\xPT4ArrObj.dll"
${AddFile} "xPT4ArrObj.dll"
File "PT4\Lib\xPT4ArrOp.dll"
${AddFile} "xPT4ArrOp.dll"
File "PT4\Lib\xPT4ArrShift.dll"
${AddFile} "xPT4ArrShift.dll"
File "PT4\Lib\xPT4ArrSlice.dll"
${AddFile} "xPT4ArrSlice.dll"
File "PT4\Lib\xPT4ArrTransf.dll"
${AddFile} "xPT4ArrTransf.dll"
File "PT4\Lib\xPT4ASeries.dll"
${AddFile} "xPT4ASeries.dll"
File "PT4\Lib\xPT4AWhile.dll"
${AddFile} "xPT4AWhile.dll"
File "PT4\Lib\xPT4ExamBegin.dll"
${AddFile} "xPT4ExamBegin.dll"
File "PT4\Lib\xPT4ExamCheck.dll"
${AddFile} "xPT4ExamCheck.dll"
File "PT4\Lib\xPT4ExamTaskC.dll"
${AddFile} "xPT4ExamTaskC.dll"
File "PT4\Lib\xPT4LinqBegin.dll"
${AddFile} "xPT4LinqBegin.dll"
File "PT4\Lib\xPT4LinqObj.dll"
${AddFile} "xPT4LinqObj.dll"
File "PT4\Lib\xPT4LinqXml.dll"
${AddFile} "xPT4LinqXml.dll"
File "PT4\Lib\xPT4ObjArray.dll"
${AddFile} "xPT4ObjArray.dll"
File "PT4\Lib\xPT4TMDemoAbc.dll"
${AddFile} "xPT4TMDemoAbc.dll"
File "PT4\Lib\xPT4ZArray.dll"
${AddFile} "xPT4ZArray.dll"
File "PT4\Lib\xPT4ZArray_ru.dll"
${AddFile} "xPT4ZArray_ru.dll"
File "PT4\Lib\xPT4ZFunc.dll"
${AddFile} "xPT4ZFunc.dll"
File "PT4\Lib\xPT4ZFunc_ru.dll"
${AddFile} "xPT4ZFunc_ru.dll"
File "PT4\Lib\xPT4ZMatrix.dll"
${AddFile} "xPT4ZMatrix.dll"
File "PT4\Lib\xPT4ZMatrix_ru.dll"
${AddFile} "xPT4ZMatrix_ru.dll"
File "PT4\Lib\xPT4ZMinmax.dll"
${AddFile} "xPT4ZMinmax.dll"
File "PT4\Lib\xPT4ZMinmax_ru.dll"
${AddFile} "xPT4ZMinmax_ru.dll"
File "PT4\Lib\xPT4ZSeries.dll"
${AddFile} "xPT4ZSeries.dll"
File "PT4\Lib\xPT4ZSeries_ru.dll"
${AddFile} "xPT4ZSeries_ru.dll"
File "PT4\Lib\PT4_.txt"
${AddFile} "PT4_.txt"
File "PT4\Lib\PT4__.txt"
${AddFile} "PT4__.txt"
File "PT4\Lib\PT4_Exam.txt"
${AddFile} "PT4_Exam.txt"
File "PT4\Lib\PT4_LinqB.txt"
${AddFile} "PT4_LinqB.txt"
File "PT4\Lib\PT4_LinqO.txt"
${AddFile} "PT4_LinqO.txt"
File "PT4\Lib\PT4_LinqX.txt"
${AddFile} "PT4_LinqX.txt"
File "PT4\Lib\PT4ExamBegin.txt"
${AddFile} "PT4ExamBegin.txt"
File "PT4\Lib\PT4ExamCheck.txt"
${AddFile} "PT4ExamCheck.txt"
File "PT4\Lib\PT4ExamTaskC.txt"
${AddFile} "PT4ExamTaskC.txt"
File "PT4\Lib\PT4ExamBegin_ru.txt"
${AddFile} "PT4ExamBegin_ru.txt"
File "PT4\Lib\PT4ExamCheck_ru.txt"
${AddFile} "PT4ExamCheck_ru.txt"
File "PT4\Lib\PT4ExamTaskC_ru.txt"
${AddFile} "PT4ExamTaskC_ru.txt"
File "PT4\Lib\PT4LinqBegin[PascalABC].txt"
${AddFile} "PT4LinqBegin[PascalABC].txt"
File "PT4\Lib\PT4LinqObj[PascalABC].txt"
${AddFile} "PT4LinqObj[PascalABC].txt"
File "PT4\Lib\PT4LinqXml[PascalABC].txt"
${AddFile} "PT4LinqXml[PascalABC].txt"
File "PT4\Lib\PT4-CWA-1Begin.txt"
${AddFile} "PT4-CWA-1Begin.txt"
File "PT4\Lib\PT4-CWA-2Robot.txt"
${AddFile} "PT4-CWA-2Robot.txt"
File "PT4\Lib\PT4-CWA-4Assign.txt"
${AddFile} "PT4-CWA-4Assign.txt"
File "PT4\Lib\PT4-CWA-5For.txt"
${AddFile} "PT4-CWA-5For.txt"
File "PT4\Lib\PT4-XRB.txt"
${AddFile} "PT4-XRB.txt"
File "PT4\Lib\PT4ArrObj.txt"
${AddFile} "PT4ArrObj.txt"
File "PT4\Lib\PT4ObjArray.txt"
${AddFile} "PT4ObjArray.txt"
SetOutPath "$INSTDIR\PT4\Lib\Graph"
File "PT4\Lib\Graph\*.png"

View file

@ -3,7 +3,7 @@ unit PT4;
//------------------------------------------------------------------------------
// Модуль для подключения задачника Programming Taskbook
// Версия 4.18
// Версия 4.23
// Copyright © 2006-2008 DarkStar, SSM
// Copyright © 2010 М.Э.Абрамян, дополнения к версии 1.3
// Copyright © 2014-2015 М.Э.Абрамян, дополнения к версии 4.13
@ -12,11 +12,13 @@ unit PT4;
// Copyright © 2017 М.Э.Абрамян, дополнения к версии 4.17
// Copyright © 2018 М.Э.Абрамян, дополнения к версии 4.18
// Copyright © 2019 М.Э.Абрамян, дополнения к версии 4.19
// Электронный задачник Programming Taskbook Copyright (c)М.Э.Абрамян, 1998-2019
// Copyright © 2021 М.Э.Абрамян, дополнения к версии 4.21
// Copyright © 2023 М.Э.Абрамян, дополнения к версии 4.23
// Электронный задачник Programming Taskbook Copyright (c)М.Э.Абрамян, 1998-2023
//------------------------------------------------------------------------------
{$apptype windows}
{$platformtarget x86}
//{$platformtarget x86}
interface
@ -47,13 +49,21 @@ type
Node = class(IDisposable)
private
isAllocMem: boolean;
(* isAllocMem: boolean;
isDisposed: boolean;
x: InternalNode;
addr: IntPtr;
constructor Create(x: InternalNode; a: IntPtr);
constructor Create(x: InternalNode; a: IntPtr);*)
a: integer;
disposed: boolean;
procedure Init(Data: integer; Next,Prev,Left,Right,Parent: Node);
procedure internalDispose(disposing: boolean);
constructor Create(addr, none: integer);
static function NodeToInt(n: Node): integer;
static function IntToNode(a:integer): Node;
// procedure internalDispose(disposing: boolean);
function getNodeProp(n: integer; name: string): Node;
procedure setNodeProp(n: integer; name: string; value: Node);
procedure setNext(value: Node);
function getNext: Node;
procedure setPrev(value: Node);
@ -81,7 +91,7 @@ type
property Parent: Node read getParent write SetParent;
property Data: integer read getData write SetData;
end;
var TaskName: string;
/// Вывести формулировку задания
@ -809,7 +819,7 @@ function GetSolutionInfo: string;
implementation
// == Версия 4.18. Дополнения ==
uses ABCDatabases;
uses ABCDatabases, System.Text;
// == Версия 4.18. Конец дополнений ==
const
@ -831,33 +841,141 @@ procedure PutBoolean(val: boolean); forward;
procedure PutNode(val: Node); forward;
procedure PutPNode(val: PNode); forward;
procedure StartPT(options: integer); external '%PABCSYSTEM%\PT4\PT4PABC.dll' name 'startpt';
procedure FreePT; external '%PABCSYSTEM%\PT4\PT4PABC.dll' name 'freept';
function CheckPT(var res: integer):string;external '%PABCSYSTEM%\PT4\PT4PABC.dll' name 'checkptf';
procedure RaisePT(s1,s2: string); external '%PABCSYSTEM%\PT4\PT4PABC.dll' name 'raisept';
procedure Task__(name: string); external '%PABCSYSTEM%\PT4\PT4PABC.dll' name 'task';
procedure GetR(var param: real); external '%PABCSYSTEM%\PT4\PT4PABC.dll' name 'getr';
procedure PutR(param: real); external '%PABCSYSTEM%\PT4\PT4PABC.dll' name 'putr';
procedure GetN(var param: integer); external '%PABCSYSTEM%\PT4\PT4PABC.dll' name 'getn';
procedure PutN(param: integer); external '%PABCSYSTEM%\PT4\PT4PABC.dll' name 'putn';
procedure GetC(var param: char); external '%PABCSYSTEM%\PT4\PT4PABC.dll' name 'getc';
procedure PutC(param: char); external '%PABCSYSTEM%\PT4\PT4PABC.dll' name 'putc';
procedure _GetS(param: System.Text.StringBuilder);external '%PABCSYSTEM%\PT4\PT4PABC.dll' name 'gets';
procedure PutS(param: string); external '%PABCSYSTEM%\PT4\PT4PABC.dll' name 'puts';
procedure _GetB(var param: integer); external '%PABCSYSTEM%\PT4\PT4PABC.dll' name 'getb';
procedure _PutB(param: integer); external '%PABCSYSTEM%\PT4\PT4PABC.dll' name 'putb';
procedure _GetP(var param: IntPtr); external '%PABCSYSTEM%\PT4\PT4PABC.dll' name 'getp';
procedure _PutP(param: IntPtr); external '%PABCSYSTEM%\PT4\PT4PABC.dll' name 'putp';
procedure DisposeP(sNode: IntPtr); external '%PABCSYSTEM%\PT4\PT4PABC.dll' name 'disposep';
function FinishPT(): integer; external '%PABCSYSTEM%\PT4\PT4PABC.dll' name 'finishpt'; // == 4.13 ==
procedure _GetSolutionInfo(info: System.Text.StringBuilder);external '%PABCSYSTEM%\PT4\PT4PABC.dll' name 'getsolutioninfo';
procedure StartPT(options: integer); external '%PABCSYSTEM%\PT4\xPT4PABC2.dll' name 'startpt';
procedure FreePT; external '%PABCSYSTEM%\PT4\xPT4PABC2.dll' name 'freept';
procedure _CheckPT(InfoS: array of byte; var InfoT: integer);external '%PABCSYSTEM%\PT4\xPT4PABC2.dll' name 'checkpt'; //2021.05
procedure _RaisePT(s1,s2: array of byte); external '%PABCSYSTEM%\PT4\xPT4PABC2.dll' name 'raisept';
procedure _Task(name: string); external '%PABCSYSTEM%\PT4\xPT4PABC2.dll' name 'task';
procedure GetR(var param: real); external '%PABCSYSTEM%\PT4\xPT4PABC2.dll' name 'getr';
procedure PutR(param: real); external '%PABCSYSTEM%\PT4\xPT4PABC2.dll' name 'putr';
procedure GetN(var param: integer); external '%PABCSYSTEM%\PT4\xPT4PABC2.dll' name 'getn';
procedure PutN(param: integer); external '%PABCSYSTEM%\PT4\xPT4PABC2.dll' name 'putn';
procedure GetC(var param: char); external '%PABCSYSTEM%\PT4\xPT4PABC2.dll' name 'getc';
procedure PutC(param: char); external '%PABCSYSTEM%\PT4\xPT4PABC2.dll' name 'putc';
procedure _GetS(param: array of byte);external '%PABCSYSTEM%\PT4\xPT4PABC2.dll' name 'gets';
procedure _PutS(param: array of byte); external '%PABCSYSTEM%\PT4\xPT4PABC2.dll' name 'puts';
procedure _GetB(var param: integer); external '%PABCSYSTEM%\PT4\xPT4PABC2.dll' name 'getb';
procedure _PutB(param: integer); external '%PABCSYSTEM%\PT4\xPT4PABC2.dll' name 'putb';
procedure _GetP(var param: IntPtr); external '%PABCSYSTEM%\PT4\xPT4PABC2.dll' name 'getp';
procedure _PutP(param: IntPtr); external '%PABCSYSTEM%\PT4\xPT4PABC2.dll' name 'putp';
procedure _PutNode(param: integer); external '%PABCSYSTEM%\PT4\xPT4PABC2.dll' name 'nodeputp';
procedure DisposeP(sNode: IntPtr); external '%PABCSYSTEM%\PT4\xPT4PABC2.dll' name 'disposep';
procedure _NodeNew(var n: integer; data, next, prev, left, right, parent: integer); external '%PABCSYSTEM%\PT4\xPT4PABC2.dll' name 'nodenew';
procedure _NodeGetP(var n: integer); external '%PABCSYSTEM%\PT4\xPT4PABC2.dll' name 'nodegetp';
procedure _NodePutP(n: integer); external '%PABCSYSTEM%\PT4\xPT4PABC2.dll' name 'nodeputp';
procedure _NodeGetF(n, fn: integer; var f, err: integer); external '%PABCSYSTEM%\PT4\xPT4PABC2.dll' name 'nodegetf';
procedure _NodeSetF(n, fn, f: integer; var err: integer); external '%PABCSYSTEM%\PT4\xPT4PABC2.dll' name 'nodesetf';
procedure _NodeDispose(n: integer; var err: integer); external '%PABCSYSTEM%\PT4\xPT4PABC2.dll' name 'nodedispose';
function FinishPT(): integer; external '%PABCSYSTEM%\PT4\xPT4PABC2.dll' name 'finishpt'; // == 4.13 ==
procedure _GetSolutionInfo(info: array of byte);external '%PABCSYSTEM%\PT4\xPT4PABC2.dll' name 'getsolutioninfo';
//2023.03>
function ToBytes(s: string): array of byte;
begin
var utf8 := Encoding.Unicode;
var ansi := Encoding.GetEncoding(1251);
result := Encoding.Convert(utf8, ansi, utf8.GetBytes(s));
end;
function FromBytes(a: array of byte): string;
begin
var utf8 := Encoding.Unicode;
var ansi := Encoding.GetEncoding(1251);
var res := Encoding.Convert(ansi, utf8, a);
result := utf8.GetString(res);
result := result.substring(0, result.IndexOf(#0));
end;
//2023.03<
//2021.05
procedure SetLibLoader(p: IntPtr); external '%PABCSYSTEM%\PT4\xPT4PABC2.dll' name 'setlibloader'; // == 4.21 ==
var activate, inittaskgroup: System.Reflection.MethodInfo;
function GetTopic(LibName: string): string;
begin
var s := System.IO.Path.GetFileNameWithoutExtension(LibName).Substring(4);
var p := s.LastIndexOf('_');
if p > -1 then
s := s.Substring(0, p);
result := s;
end;
function LoadNETLib(LibName: string; Step: integer): integer;
begin
if Step = 1 then
begin
var lib: System.Reflection.Assembly := nil;
var libClass: System.Type := nil;
activate := nil;
inittaskgroup := nil;
try
lib := System.Reflection.Assembly.LoadFrom(LibName+'.dll');
LibName := GetTopic(LibName);
libClass := lib.GetType('xPT4'+LibName + '.xPT4' + LibName);
if libClass = nil then
begin
LibName := LibName.ToUpper();
foreach var t in lib.GetTypes do
begin
if t.FullName.ToUpper = 'XPT4'+LibName + '.XPT4' + LibName then
begin
libClass := t;
break;
end;
end;
end;
if libClass = nil then
begin
result := 1;
exit;
end;
inittaskgroup := libClass.GetMethod('inittaskgroup');
activate := libClass.GetMethod('activate');
if (inittaskgroup <> nil) and (activate = nil) then
result := 2 // dll and inittaskgroup found, activate not found
else if (inittaskgroup = nil) or (activate = nil) then
result := 3 // dll found, activate or inittaskgroup not found
else
result := 0; // 1st step OK
except
result := 4;
end;
end
else
begin
if (activate <> nil) and (inittaskgroup <> nil) then
try
activate.Invoke(nil, Arr(LibName as Object));
inittaskgroup.Invoke(nil, nil);
result := 0; // 2nd step OK
except
result := 2; // error while run methods
end
else
result := 1; // empty methods
end;
end;
var PLoadNETLib := LoadNETLib;
procedure Task(name: string);
begin
Task__(name);
SetLibLoader(Marshal.GetFunctionPointerForDelegate(PLoadNETLib));
_Task(name);
TaskName := name;
end;
function CheckPT(var res: integer): string;
begin
var InfoS := new byte[200];
_CheckPT(InfoS, res);
result := FromBytes(InfoS);
end;
procedure Dispose(p: pointer);
begin
DisposeP(IntPtr(p));
@ -867,18 +985,7 @@ end;
// -----------------------------------------------------
// Node
// -----------------------------------------------------
constructor Node.Create(x: InternalNode; a: IntPtr);
begin
Self.x.Data := x.Data;
Self.x.Next := x.Next;
Self.x.Prev := x.Prev;
Self.x.Left := x.Left;
Self.x.Right := x.Right;
Self.x.Parent := x.Parent;
addr := a;
isAllocMem := false;
isDisposed := false;
end;
var nodes := new Dictionary<integer, Node>;
constructor Node.Create;
begin
@ -912,234 +1019,107 @@ end;
procedure Node.Dispose;
begin
GC.SuppressFinalize(self);
internalDispose(true);
if disposed then
exit;
var err := 0;
_NodeDispose(a, err);
disposed := true;
end;
constructor Node.Create(addr, none: integer);
begin
a := addr;
disposed := false;
nodes[a] := Self;
end;
class function Node.NodeToInt(n: Node): integer;
begin
if n = nil then
result := 0
else
result := n.a;
end;
class function Node.IntToNode(a: integer): Node;
begin
if a = 0 then
result := nil
else if nodes.ContainsKey(a) then
result := nodes[a]
else
result := new Node(a, 0);
end;
procedure Node.Init(Data: integer; Next,Prev,Left,Right,Parent: Node);
begin
x.Data := Data;
if Next = nil then
x.Next := IntPtr.Zero
else x.Next := Next.addr;
if Prev = nil then
x.Prev := IntPtr.Zero
else x.Prev := Prev.addr;
if Left = nil then
x.Left := IntPtr.Zero
else x.Left := Left.addr;
if Right = nil then
x.Right := IntPtr.Zero
else x.Right := Right.addr;
if Parent = nil then
x.Parent := IntPtr.Zero
else x.Parent := Parent.addr;
addr := Marshal.AllocHGlobal(sizeof(InternalNode));
Marshal.StructureToPtr(x as object, addr, false);
isAllocMem := true;
isDisposed := false;
loadNodes.Add(self);
var n: integer;
_NodeNew(n, data, NodeToInt(next), NodeToInt(prev),
NodeToInt(left), NodeToInt(right), NodeToInt(parent));
a := n;
disposed := false;
nodes[a] := Self;
end;
procedure Node.setNext(value:Node);
function Node.getNodeProp(n: integer; name: string): Node;
begin
if isDisposed then
raise new ObjectDisposedException(ToString, eMessage);
if value = nil then
begin
x.Next := IntPtr.Zero;
Marshal.StructureToPtr(x as object, addr, isAllocMem);
end else
begin
x.Next := value.addr;
Marshal.StructureToPtr(x as object, addr, isAllocMem);
end;
if disposed then
raise new ObjectDisposedException('cannot access a disposed Node');
var val, err: integer;;
_NodeGetF(a, n, val, err);
if err <> 0 then
raise new ArgumentException('cannot get the ' + name + ' property');
result := IntToNode(val);
end;
procedure Node.setNodeProp(n: integer; name: string; value: Node);
begin
if disposed then
raise new ObjectDisposedException('cannot access a disposed Node');
var err: integer;;
_NodeSetF(a, n, NodeToInt(value), err);
if err <> 0 then
raise new ArgumentException('cannot set the ' + name + ' property');
end;
function Node.getNext:Node;
var tmp: IntPtr;
tmpNode: Node;
begin
result := nil;
if isDisposed then
raise new ObjectDisposedException(ToString, eMessage);
if x.Next <> IntPtr.Zero then
begin
tmp := x.Next;
for var i:=0 to loadNodes.Count-1 do
if tmp.Equals(Node(loadNodes[i]).addr) then
result:=Node(loadNodes[i]);
if result=nil then
begin
tmpNode := new Node(InternalNode(Marshal.PtrToStructure(tmp,typeof(InternalNode))), tmp);
loadNodes.Add(tmpNode);
result := tmpNode;
end;
end;
end;
procedure Node.setNext(value: Node) := SetNodeProp(1, 'Next', value);
function Node.getNext := GetNodeProp(1, 'Next');
procedure Node.setPrev(value: Node);
begin
if isDisposed then
raise new ObjectDisposedException(ToString, eMessage);
if value = nil then
begin
x.Prev := IntPtr.Zero;
Marshal.StructureToPtr(x as object, addr, isAllocMem);
end else
begin
x.Prev := value.addr;
Marshal.StructureToPtr(x as object, addr, isAllocMem);
end;
end;
procedure Node.setPrev(value: Node) := SetNodeProp(2, 'Prev', value);
function Node.getPrev := GetNodeProp(2, 'Prev');
function Node.getPrev: Node;
var tmp: IntPtr;
tmpNode:Node;
begin
result := nil;
if isDisposed then
raise new ObjectDisposedException(ToString, eMessage);
if x.Prev <> IntPtr.Zero then begin
tmp := x.Prev;
for var i:=0 to loadNodes.Count-1 do
if tmp.Equals(Node(loadNodes[i]).addr) then
result:=Node(loadNodes[i]);
if result=nil then begin
tmpNode := new Node(InternalNode(Marshal.PtrToStructure(tmp,typeof(InternalNode))), tmp);
loadNodes.Add(tmpNode);
result := tmpNode;
end;
end;
end;
procedure Node.setLeft(value: Node) := SetNodeProp(3, 'Left', value);
function Node.getLeft := GetNodeProp(3, 'Left');
procedure Node.setLeft(value: Node);
begin
if isDisposed then
raise new ObjectDisposedException(ToString, eMessage);
if value = nil then
begin
x.Left := IntPtr.Zero;
Marshal.StructureToPtr(x as object, addr, isAllocMem);
end else
begin
x.Left := value.addr;
Marshal.StructureToPtr(x as object, addr, isAllocMem);
end;
end;
procedure Node.setRight(value: Node) := SetNodeProp(4, 'Right', value);
function Node.getRight := GetNodeProp(4, 'Right');
function Node.getLeft: Node;
var tmp: IntPtr;
tmpNode:Node;
begin
result := nil;
if isDisposed then
raise new ObjectDisposedException(ToString, eMessage);
if x.Left <> IntPtr.Zero then begin
tmp := x.Left;
for var i:=0 to loadNodes.Count-1 do
if tmp.Equals(Node(loadNodes[i]).addr) then
result:=Node(loadNodes[i]);
if result=nil then begin
tmpNode := new Node(InternalNode(Marshal.PtrToStructure(tmp,typeof(InternalNode))), tmp);
loadNodes.Add(tmpNode);
result := tmpNode;
end;
end;
end;
procedure Node.setRight(value: Node);
begin
if isDisposed then
raise new ObjectDisposedException(ToString, eMessage);
if value = nil then
begin
x.Right := IntPtr.Zero;
Marshal.StructureToPtr(x as object, addr, isAllocMem);
end else
begin
x.Right := value.addr;
Marshal.StructureToPtr(x as object, addr, isAllocMem);
end;
end;
function Node.getRight: Node;
var tmp: IntPtr;
tmpNode:Node;
begin
result := nil;
if isDisposed then
raise new ObjectDisposedException(ToString, eMessage);
if x.Right <> IntPtr.Zero then begin
tmp := x.Right;
for var i:=0 to loadNodes.Count-1 do
if tmp.Equals(Node(loadNodes[i]).addr) then
result:=Node(loadNodes[i]);
if result=nil then begin
tmpNode := new Node(InternalNode(Marshal.PtrToStructure(tmp,typeof(InternalNode))), tmp);
loadNodes.Add(tmpNode);
result := tmpNode;
end;
end;
end;
procedure Node.setParent(value: Node);
begin
if isDisposed then
raise new ObjectDisposedException(ToString, eMessage);
if value = nil then
begin
x.Parent := IntPtr.Zero;
Marshal.StructureToPtr(x as object, addr, isAllocMem);
end else
begin
x.Parent := value.addr;
Marshal.StructureToPtr(x as object, addr, isAllocMem);
end;
end;
function Node.getParent: Node;
var tmp: IntPtr;
tmpNode:Node;
begin
result := nil;
if isDisposed then
raise new ObjectDisposedException(ToString, eMessage);
if x.Parent <> IntPtr.Zero then begin
tmp := x.Parent;
for var i:=0 to loadNodes.Count-1 do
if tmp.Equals(Node(loadNodes[i]).addr) then
result:=Node(loadNodes[i]);
if result=nil then begin
tmpNode := new Node(InternalNode(Marshal.PtrToStructure(tmp,typeof(InternalNode))), tmp);
loadNodes.Add(tmpNode);
result := tmpNode;
end;
end;
end;
procedure Node.setParent(value: Node) := SetNodeProp(5, 'Parent', value);
function Node.getParent := GetNodeProp(5, 'Parent');
procedure Node.setData(value: integer);
begin
if isDisposed then
raise new ObjectDisposedException(ToString, eMessage);
self.x.Data := value;
Marshal.StructureToPtr(x as object, addr, isAllocMem);
if disposed then
raise new ObjectDisposedException('cannot access a disposed Node');
var err: integer;
_NodeSetF(a, 0, value, err);
if err <> 0 then
raise new ArgumentException('cannot set the Data property');
end;
function Node.getData: integer;
begin
if isDisposed then
raise new ObjectDisposedException(ToString, eMessage);
result := self.x.Data;
if disposed then
raise new ObjectDisposedException('cannot access a disposed Node');
var val, err: integer;
_NodeGetF(a, 0, val, err);
if err <> 0 then
raise new ArgumentException('cannot get the Data property');
result := val;
end;
procedure Node.internalDispose(disposing: boolean);
(*procedure Node.internalDispose(disposing: boolean);
begin
if not isDisposed then
//lock(self)
@ -1151,6 +1131,144 @@ begin
isDisposed := true;
end;
end;
*)
procedure internalWrite(args: array of object); forward;
@ -1204,11 +1322,15 @@ begin
end;
function GetString: string;
var val: System.Text.StringBuilder;
begin
val := new System.Text.StringBuilder(200);//TODO почему 200?
var val := new byte[200];
_gets(val);
result := val.ToString;
result := FromBytes(val);
end;
procedure PutS(param: string);
begin
_puts(ToBytes(param));
end;
function GetBool: boolean;
@ -1224,42 +1346,42 @@ begin
end;
function GetNode: Node;
procedure GetPtr(var sNode:InternalNode; var pNode: IntPtr);
var p:IntPtr;
begin
p := IntPtr.Zero;
_GetP(p);
pNode := p;
if p <> IntPtr.Zero then
sNode := InternalNode(Marshal.PtrToStructure(p, typeof(InternalNode)));
end;
var
p: IntPtr;
sNode: InternalNode;
begin
//raise new NotSupportedException('Работа с динамическими структурами задачника PT4 не поддерживается в этой версии компилятора. Исправление ошибки планируется в следуйщей версии');
//result := new PT4Node(sNode, p);// fixme здесь ошибка генерации кода!
p := IntPtr.Zero;
sNode.Data := 0;
sNode.Next := IntPtr.Zero;
sNode.Prev := IntPtr.Zero;
sNode.Left := IntPtr.Zero;
sNode.Right := IntPtr.Zero;
sNode.Parent := IntPtr.Zero;
GetPtr(sNode, p);
if p = IntPtr.Zero then
result := nil
else begin
for var i:=0 to loadNodes.Count-1 do
if sNode=Node(loadNodes[i]).x then
result := Node(loadNodes[i]);
if result = nil then begin
result := new Node(sNode, p);
loadNodes.Add(result);
end;
end;
var n: integer;
_NodeGetP(n);
result := Node.IntToNode(n);
end;
function GetPNode: PNode;
var ip: IntPtr;
begin
@ -1863,11 +1985,12 @@ end;
procedure Put(param: Node);
begin
PutP(param);
if param = nil then
_PutNode(0)
else
_PutNode(param.a);
end;
// == Версия 4.17. Конец дополнений ==
@ -1902,17 +2025,17 @@ begin
end;
procedure PutNode(val: Node);
var p: IntPtr;
begin
p := IntPtr.Zero;
if val <> nil then begin
if val.isDisposed then
raise new ObjectDisposedException(val.ToString, eMessage);
p := val.addr;
end;
_PutP(p);
if val = nil then
_PutNode(0)
else
_PutNode(val.a);
end;
procedure PutPNode(val: PNode);
var pp: pointer;
begin
@ -1923,6 +2046,11 @@ end;
// -----------------------------------------------------
// Генерация исключений
// -----------------------------------------------------
procedure RaisePT(s1, s2: string);
begin
_RaisePT(ToBytes(s1), ToBytes(s2));
end;
procedure RaisePTAndCheckPT(e: Exception);
begin
RaisePT(e.GetType.ToString, e.Message);
@ -2226,7 +2354,21 @@ var
var
_Width: integer := 0;
procedure ShowStr(s: string); external '%PABCSYSTEM%\PT4\PT4PABC.dll' name 'show';
procedure _show(s: array of byte); external '%PABCSYSTEM%\PT4\xPT4PABC2.dll' name 'show';
procedure ShowStr(s: string);
begin
var utf8 := new UTF8Encoding();
var byteCount := utf8.GetByteCount(s);
var bytes := new Byte[byteCount];
var bytesEncodedCount := utf8.GetBytes(s, 0, s.Length, bytes, 0);
_show(bytes);
// _show(ToBytes(s));
end;
procedure Show(s: string);
begin
@ -2555,7 +2697,7 @@ end;
// == Конец дополнений к версии 4.18 ==
procedure HideTask; external '%PABCSYSTEM%\PT4\PT4PABC.dll' name 'hidetask';
procedure HideTask; external '%PABCSYSTEM%\PT4\xPT4PABC2.dll' name 'hidetask';
procedure SetPrecision(N: Integer);
begin
@ -3113,9 +3255,9 @@ end;
function GetSolutionInfo: string;
begin
var val := new System.Text.StringBuilder(500);
var val := new byte[500];
_getsolutioninfo(val);
result := val.ToString;
result := FromBytes(val);
end;
initialization

View file

@ -1,9 +1,10 @@
/// Конструктор учебных заданий для задачника Programming Taskbook.
/// Версия 1.7 от 28.10.2020 (С) М. Э. Абрамян, 2016-2020.

/// Конструктор учебных заданий для задачника Programming Taskbook.
/// Версия 1.9 от 26.03.2023 (С) М. Э. Абрамян, 2016-2023.
/// Все компоненты конструктора могут вызываться либо как классовые методы класса pt,
/// либо как обычные константы и процедуры.
unit PT4MakerNetX;
interface
const
@ -20,12 +21,14 @@ const
/// формулировки должны разделяться символами #13, #10 или #13#10.
procedure NewTask(topic, tasktext: string);
/// Процедура, с которой должно начинаться определение нового задания.
/// Должна вызываться в процедуре с именем, начинающемся с текста Task.
/// Параметр tasktext содержит формулировку задания; отдельные строки
/// формулировки должны разделяться символами #13, #10 или #13#10.
procedure NewTask(tasktext: string);
/// Добавляет комментарий в новой строке раздела исходных даннных.
procedure DataComm(comm: string);
@ -124,26 +127,48 @@ procedure SetRequiredDataCount(n: integer);
/// (запуски нумеруются от 1).
function CurrentTest: integer;
/// Генерирует случайное целов в диапазоне от M до N включительно.
/// Генерирует случайное целое число в диапазоне от M до N включительно.
/// Если M >= N, то возвращает M.
function Random(M, N: integer): integer;
/// Генерирует случайное вещественное на промежутке [A, B).
/// Генерирует случайное вещественное число на промежутке [A, B).
/// Если промежуток [A, B) пуст, то возвращает A.
function Random(A, B: real): real;
/// Генерирует случайное вещественное число на промежутке [A, B)
/// с одним дробным знаком и случайной добавкой порядка 1e-7.
/// Если промежуток [A, B) пуст, то возвращает A, округленное
/// до одного дробного знака и снабженное добавкой порядка 1e-7.
function Random1(A, B: real): real;
/// Генерирует случайное вещественное число на промежутке [A, B)
/// с двумя дробными знаками и случайной добавкой порядка 1e-7.
/// Если промежуток [A, B) пуст, то возвращает A, округленное
/// до двух дробных знаков и снабженное добавкой порядка 1e-7.
function Random2(A, B: real): real;
/// Генерирует случайную строку длины len, состоящую
/// из цифр и строчных (т.е. маленьких) латинских букв.
function RandomName(len: integer): string;
/// Создает новую группу с кратким описанием GroupDescription,
/// информацией об авторе GroupAuthor и набором необязательных опций, объединяемых операцией or.
/// Имя группы определяется по имени библиотеки (путем отбрасывания префикса PT4).
/// Имя группы определяется по имени библиотеки (путем отбрасывания префикса PT4
/// и возможных суффиксов _ru или _en).
/// В группу включаются задания, определенные в процедурах, имена которых начинаются с текста Task.
/// Процедура NewGroup должна быть вызвана в процедуре inittaskgroup без параметров, которую
/// необходимо описать в библиотеке с группой заданий (все буквы в имени inittaskgroup - строчные).
procedure NewGroup(GroupDescription, GroupAuthor: string; Options: integer := 0);
/// Создает новую группу с кратким описанием GroupDescription, английским описанием GroupEnDescription,
/// информацией об авторе GroupAuthor и набором необязательных опций, объединяемых операцией or.
/// Имя группы определяется по имени библиотеки (путем отбрасывания префикса PT4
/// и возможных суффиксов _ru или _en).
/// В группу включаются задания, определенные в процедурах, имена которых начинаются с текста Task.
/// Процедура NewGroup должна быть вызвана в процедуре inittaskgroup без параметров, которую
/// необходимо описать в библиотеке с группой заданий (все буквы в имени inittaskgroup - строчные).
procedure NewGroup(GroupDescription, GroupEnDescription, GroupAuthor: string; Options: integer := 0);
/// Обеспечивает регистрацию созданной группы в электронном задачнике.
/// Процедура ActivateNET(S) должна быть вызвана в процедуре activate(S: string),
/// которую необходимо описать в библиотеке с группой заданий (все буквы в имени activate - строчные).
@ -154,6 +179,11 @@ procedure ActivateNET(S: string);
/// в процедуре с именем, начинающемся с текста Task.
procedure UseTask(GroupName: string; TaskNumber: integer);
/// Импортирует в создаваемую группу существующее задание
/// из группы GroupName с номером TaskNumber. Должна вызываться
/// в процедуре с именем, начинающемся с текста Task.
procedure UseTask(GroupName: string; TaskNumber: integer; TopicDescription: string);
/// Возвращает массив из 116 русских слов.
function GetWords: array of string;
/// Возвращает массив из 116 английских слов.
@ -163,10 +193,12 @@ function GetSentences: array of string;
/// Возвращает массив из 61 английского предложения.
function GetEnSentences: array of string;
/// Возвращает массив из 85 русских многострочных текстов.
/// Каждая строка текста оканчивается символами #13#10.
/// Строки текста разделяются символами #13#10.
/// В конце текста символы #13#10 отсутствуют.
function GetTexts: array of string;
/// Возвращает массив из 85 английских многострочных текстов.
/// Каждая строка текста оканчивается символами #13#10.
/// Строки текста разделяются символами #13#10.
/// В конце текста символы #13#10 отсутствуют.
function GetEnTexts: array of string;
/// Возвращает случайное русское слово из массива,
@ -183,11 +215,13 @@ function RandomSentence: string;
function RandomEnSentence: string;
/// Возвращает случайный русский многострочный текст из массива,
/// входящего в конструктор учебных заданий.
/// Каждая строка текста оканчивается символами #13#10.
/// Строки текста разделяются символами #13#10.
/// В конце текста символы #13#10 отсутствуют.
function RandomText: string;
/// Возвращает случайный английский многострочный текст из массива,
/// входящего в конструктор учебных заданий.
/// Каждая строка текста оканчивается символами #13#10.
/// Строки текста разделяются символами #13#10.
/// В конце текста символы #13#10 отсутствуют.
function RandomEnText: string;
@ -284,6 +318,7 @@ class procedure NewTask(topic, tasktext: string);
begin
PT4MakerNetX.NewTask(topic, tasktext);
end;
/// Процедура, с которой должно начинаться определение нового задания.
/// Должна вызываться в процедуре с именем, начинающемся с текста Task.
/// Параметр tasktext содержит формулировку задания; отдельные строки
@ -292,6 +327,7 @@ class procedure NewTask(tasktext: string);
begin
PT4MakerNetX.NewTask(tasktext);
end;
/// Добавляет комментарий в новой строке раздела исходных даннных.
class procedure DataComm(comm: string);
begin
@ -447,18 +483,34 @@ begin
result := PT4MakerNetX.CurrentTest;
end;
/// Генерирует случайное целов в диапазоне от M до N включительно.
/// Генерирует случайное целое число в диапазоне от M до N включительно.
/// Если M >= N, то возвращает M.
class function Random(M, N: integer): integer;
begin
result := PT4MakerNetX.Random(M, N);
end;
/// Генерирует случайное вещественное на промежутке [A, B).
/// Генерирует случайное вещественное число на промежутке [A, B).
/// Если промежуток [A, B) пуст, то возвращает A.
class function Random(A, B: real): real;
begin
result := PT4MakerNetX.Random(A, B);
end;
/// Генерирует случайное вещественное число на промежутке [A, B)
/// с одним дробным знаком и случайной добавкой порядка 1e-7.
/// Если промежуток [A, B) пуст, то возвращает A, округленное
/// до одного дробного знака и снабженное добавкой порядка 1e-7.
class function Random1(A, B: real): real;
begin
result := PT4MakerNetX.Random1(A, B);
end;
/// Генерирует случайное вещественное число на промежутке [A, B)
/// с двумя дробными знаками и случайной добавкой порядка 1e-7.
/// Если промежуток [A, B) пуст, то возвращает A, округленное
/// до двух дробных знаков и снабженное добавкой порядка 1e-7.
class function Random2(A, B: real): real;
begin
result := PT4MakerNetX.Random2(A, B);
end;
/// Генерирует случайную строку длины len, состоящую
/// из цифр и строчных (т.е. маленьких) латинских букв.
class function RandomName(len: integer): string;
@ -468,7 +520,8 @@ end;
/// Создает новую группу с кратким описанием GroupDescription,
/// информацией об авторе GroupAuthor и набором необязательных опций, объединяемых операцией or.
/// Имя группы определяется по имени библиотеки (путем отбрасывания префикса PT4).
/// Имя группы определяется по имени библиотеки (путем отбрасывания префикса PT4
/// и возможных суффиксов _ru или _en).
/// В группу включаются задания, определенные в процедурах, имена которых начинаются с текста Task.
/// Процедура NewGroup должна быть вызвана в процедуре inittaskgroup без параметров, которую
/// необходимо описать в библиотеке с группой заданий (все буквы в имени inittaskgroup - строчные).
@ -476,6 +529,17 @@ class procedure NewGroup(GroupDescription, GroupAuthor: string; Options: integer
begin
PT4MakerNetX.NewGroup(GroupDescription, GroupAuthor, Options);
end;
/// Создает новую группу с кратким описанием GroupDescription, английским описанием GroupEnDescription,
/// информацией об авторе GroupAuthor и набором необязательных опций, объединяемых операцией or.
/// Имя группы определяется по имени библиотеки (путем отбрасывания префикса PT4
/// и возможных суффиксов _ru или _en).
/// В группу включаются задания, определенные в процедурах, имена которых начинаются с текста Task.
/// Процедура NewGroup должна быть вызвана в процедуре inittaskgroup без параметров, которую
/// необходимо описать в библиотеке с группой заданий (все буквы в имени inittaskgroup - строчные).
class procedure NewGroup(GroupDescription, GroupEnDescription, GroupAuthor: string; Options: integer := 0);
begin
PT4MakerNetX.NewGroup(GroupDescription, GroupEnDescription, GroupAuthor, Options);
end;
/// Обеспечивает регистрацию созданной группы в электронном задачнике.
/// Процедура ActivateNET(S) должна быть вызвана в процедуре activate(S: string),
/// которую необходимо описать в библиотеке с группой заданий (все буквы в имени activate - строчные).
@ -490,6 +554,13 @@ class procedure UseTask(GroupName: string; TaskNumber: integer);
begin
PT4MakerNetX.UseTask(GroupName, TaskNumber);
end;
/// Импортирует в создаваемую группу существующее задание
/// из группы GroupName с номером TaskNumber. Должна вызываться
/// в процедуре с именем, начинающемся с текста Task.
class procedure UseTask(GroupName: string; TaskNumber: integer; TopicDescription: string);
begin
PT4MakerNetX.UseTask(GroupName, TaskNumber, TopicDescription);
end;
/// Возвращает массив из 116 русских слов.
class function GetWords: array of string;
begin
@ -511,13 +582,15 @@ begin
result := PT4MakerNetX.GetEnSentences;
end;
/// Возвращает массив из 85 русских многострочных текстов.
/// Каждая строка текста оканчивается символами #13#10.
/// Строки текста разделяются символами #13#10.
/// В конце текста символы #13#10 отсутствуют.
class function GetTexts: array of string;
begin
result := PT4MakerNetX.GetTexts;
end;
/// Возвращает массив из 85 английских многострочных текстов.
/// Каждая строка текста оканчивается символами #13#10.
/// Строки текста разделяются символами #13#10.
/// В конце текста символы #13#10 отсутствуют.
class function GetEnTexts: array of string;
begin
result := PT4MakerNetX.GetEnTexts;
@ -548,14 +621,16 @@ begin
end;
/// Возвращает случайный русский многострочный текст из массива,
/// входящего в конструктор учебных заданий.
/// Каждая строка текста оканчивается символами #13#10.
/// Строки текста разделяются символами #13#10.
/// В конце текста символы #13#10 отсутствуют.
class function RandomText: string;
begin
result := PT4MakerNetX.RandomText;
end;
/// Возвращает случайный английский многострочный текст из массива,
/// входящего в конструктор учебных заданий.
/// Каждая строка текста оканчивается символами #13#10.
/// Строки текста разделяются символами #13#10.
/// В конце текста символы #13#10 отсутствуют.
class function RandomEnText: string;
begin
result := PT4MakerNetX.RandomEnText;
@ -659,7 +734,7 @@ var
yd, yr, ye, nd, nr, pr, wd: integer;
nt, ut, fd, fr: boolean;
fmt: string;
tasks := new List<MethodInfo>(200);
tasks := new List<MethodInfo>(100);
procedure Show(s: string);
begin
@ -1180,13 +1255,14 @@ begin
ResultS('\B'+Copy(ErrorMessage(ErrMes7),1,76)+'\b', '', 1, 1);
end;
function GetGroupName(assname: string): string;
function GetGroupName(assname: string; var libname: string): string;
begin
result := copy(assname, 1, pos(',', assname)-1);
var p := pos('_', result);
libname := copy(assname, 1, pos(',', assname)-1);
result := libname;
var p := pos('_', libname);
if p > 0 then
delete(result, p, 100);
delete(result, 1, 3);
delete(result, p, 100); // удаление суффикса, определяющего язык интерфейса
delete(result, 1, 3); // удаление префикса PT4
end;
function AcceptedLanguage(opt: integer): boolean;
@ -1198,23 +1274,26 @@ begin
or (lang and lgPascal = lgPascal) and (opt and OptionPascalLanguages = OptionPascalLanguages);
end;
procedure NewGroup(GroupDescription, GroupAuthor: string; Options: integer);
begin
if not AcceptedLanguage(Options) then exit; // недопустимый текущий язык
NewGroup(GroupDescription, '', GroupAuthor, Options);
end;
procedure NewGroup(GroupDescription, GroupEnDescription, GroupAuthor: string; Options: integer);
begin
if not AcceptedLanguage(Options) then
exit; // недопустимый текущий язык
var ass := Assembly.GetCallingAssembly;
var GroupName := GetGroupName(ass.FullName);
var nm := 'PT4' + GroupName;
var LibName := '';
var GroupName := GetGroupName(ass.FullName, LibName);
tasks.Clear;
var GroupKey := 'GK';
foreach var e in ass.GetType(nm + '.' + nm).GetMethods do
foreach var e in ass.GetType(LibName + '.' + LibName).GetMethods.OrderBy(e -> e.Name.ToUpper) do //2018.08
if e.Name.ToUpper.StartsWith('TASK') then
begin
tasks.Add(e);
GroupKey := GroupKey + Copy(e.Name, 5, 100);
end;
tasks := tasks.OrderBy(e -> e.Name).ToList; // Сортировка задач!
if tasks.Count = 0 then
begin
Show('Группа ' + GroupName + ' не содержит заданий'#13#10+
@ -1225,11 +1304,14 @@ begin
begin
Show('Группа ' + GroupName + ' содержит более 999 заданий.');
exit;
end;
end;
GroupKey := Copy(GroupKey, 1, 30);
if Options and OptionUseAddition = OptionUseAddition then
GroupKey := GroupKey + '#UseAddition#';
if Options and OptionHideExamples = OptionHideExamples then
GroupKey := GroupKey + '#HideExamples#';
if GroupEnDescription.Trim <> '' then
GroupKey := GroupKey + '#EnTopic<' + GroupEnDescription.Trim + '>#';
CreateGroup(GroupName, GroupDescription, GroupAuthor,
GroupKey, tasks.Count, RunTask);
end;
@ -1257,6 +1339,18 @@ begin
result := PT4TaskMakerNET.RandomR(A, B);
end;
function Random1(A, B: real): real;
begin
result := Random(Round(a*10), Round(b*10)) / 10
+ Random * 1.0e-7;
end;
function Random2(A, B: real): real;
begin
result := Random(Round(a*100), Round(b*100)) / 100
+ Random * 1.0e-7;
end;
function CurrentTest: integer;
begin
if CheckTT then exit;
@ -1270,6 +1364,13 @@ begin
ut := true;
end;
procedure UseTask(GroupName: string; TaskNumber: integer; TopicDescription: string);
begin
if ut then exit;
PT4TaskMakerNET.UseTask(GroupName, TaskNumber, TopicDescription);
ut := true;
end;
function GetWords: array of string;
begin
Result := ArrGen(WordCount, i -> WordSample(i));

View file

@ -1,13 +1,14 @@
/// Конструктор для электронного задачника Programming Taskbook 4.14
/// Конструктор для электронного задачника Programming Taskbook 4.23
unit PT4TaskMakerNET;
//------------------------------------------------------------------------------
// Конструктор для электронного задачника Programming Taskbook 4.14
// Конструктор для электронного задачника Programming Taskbook 4.23
//------------------------------------------------------------------------------
// Модуль для создания NET-библиотек с группами заданий в системе PascalABC.NET
//
// Copyright (c) 2013-2015 М.Э.Абрамян
// Электронный задачник Programming Taskbook Copyright (c) М.Э.Абрамян,1998-2015
// Copyright (c) 2013-2023 М.Э.Абрамян
// Электронный задачник Programming Taskbook Copyright (c) М.Э.Абрамян,1998-2023
//------------------------------------------------------------------------------
@ -38,9 +39,12 @@ const
lgJava = $0010000; // добавлено в версии 4.11
lgRuby = $0020000; // добавлено в версии 4.12
lgWithPointers = $000003D;
lgWithObjects = $00FFF80; // добавлено в версии 4.11
lgWithObjects = $0FFFF80; // изменено в версии 4.22
lgNET = $000FF00;
lgAll = $0FFFFFF; // изменено в версии 4.10
lgFS = $0000800; // добавлено в версии 4.19
lgJulia = $0040000; // добавлено в версии 4.22
lgC = $0000008; // добавлено в версии 4.23
type
@ -67,9 +71,13 @@ procedure CreateGroup(GroupName, GroupDescription, GroupAuthor, GroupKey: string
/// Добавляет к создаваемой группе задание из другой группы
procedure UseTask(GroupName: string; TaskNumber: integer);
/// Добавляет к создаваемой группе задание из другой группы
procedure UseTask(GroupName: string; TaskNumber: integer; TopicDescription: string); // добавлено в версии 4.19
/// Должна указываться первой при определении нового задания
procedure CreateTask(SubgroupName: string); overload;
/// Должна указываться первой при определении нового задания
procedure CreateTask; overload;
@ -253,12 +261,12 @@ procedure SetTestCount(N: integer);
/// надо указывать B пробелов (элементы нумеруются от 1)
function Center(I, N, W, B: integer): integer;
/// Возвращает псевдослучайное целое число, лежащее
/// Возвращает случайное целое число, лежащее
/// в диапазоне от M до N включительно. Если указанный
/// диапазон пуст, то возвращает M.
function RandomN(M, N: integer): integer; // добавлено в версии 4.11
/// Возвращает псевдослучайное вещественное число, лежащее
/// Возвращает случайное вещественное число, лежащее
/// на полуинтервале [A, B). Если указанный полуинтервал
/// пуст, то возвращает A.
function RandomR(A, B: real): real; // добавлено в версии 4.11
@ -421,7 +429,7 @@ procedure SetProcess(ProcessRank: integer);
implementation
uses System.Runtime.InteropServices;
uses System.Runtime.InteropServices, System.Text;
function LoadLibrary(FileName: string): integer;
external 'kernel32.dll' Name 'LoadLibrary';
@ -444,25 +452,26 @@ type
TSFunc = function : string;
TSFuncN = function (N: integer): string;
TProc = procedure;
TProcS = procedure (S: string);
TProcSCN2 = procedure (S: string; C: Char; N1, N2: integer);
TProcSN = procedure (S: string; N: integer);
TProcSN2 = procedure (S: string; N1, N2: integer);
TProcSN3 = procedure (S: string; N1, N2, N3: integer);
TProcSN4 = procedure (S: string; N1, N2, N3, N4: integer);
TProcSN5 = procedure (S: string; N1, N2, N3, N4, N5: integer);
TProcSN6 = procedure (S: string; N1, N2, N3, N4, N5, N6: integer);
TProcSRN3 = procedure (S: string; R: real; N1, N2, N3: integer);
TProcSR2N3 = procedure (S: string; R1, R2: real; N1, N2, N3: integer);
TProcSR3N3 = procedure (S: string; R1, R2, R3: real; N1, N2, N3: integer);
TProcS2 = procedure (S1, S2: string);
TProcS2N2 = procedure (S1, S2: string; N1, N2: integer);
TProcS4NP = procedure (S1, S2, S3, S4: string; N: integer; P: TInitTaskProc);
TProcS = procedure (S: array of byte);
TProcSCN2 = procedure (S: array of byte; C: Char; N1, N2: integer);
TProcSN = procedure (S: array of byte; N: integer);
TProcSN2 = procedure (S: array of byte; N1, N2: integer);
TProcSN3 = procedure (S: array of byte; N1, N2, N3: integer);
TProcSN4 = procedure (S: array of byte; N1, N2, N3, N4: integer);
TProcSN5 = procedure (S: array of byte; N1, N2, N3, N4, N5: integer);
TProcSN6 = procedure (S: array of byte; N1, N2, N3, N4, N5, N6: integer);
TProcSRN3 = procedure (S: array of byte; R: real; N1, N2, N3: integer);
TProcSR2N3 = procedure (S: array of byte; R1, R2: real; N1, N2, N3: integer);
TProcSR3N3 = procedure (S: array of byte; R1, R2, R3: real; N1, N2, N3: integer);
TProcS2 = procedure (S1, S2: array of byte);
TProcS2N2 = procedure (S1, S2: array of byte; N1, N2: integer);
TProcS4NP = procedure (S1, S2, S3, S4: array of byte; N: integer; P: TInitTaskProc);
TProcN = procedure (N: integer);
TProcNP = procedure (N: integer; P: pointer);
TProcN3 = procedure (N1, N2, N3: integer);
TProcN4 = procedure (N1, N2, N3, N4: integer);
TProcSvN = procedure (S: string; var N: integer);
TProcSvN = procedure (S: array of byte; var N: integer);
TProcSNS = procedure (S1: array of byte; N: integer; S2: array of byte);
var
creategroup_: TProcS4NP;
@ -502,9 +511,17 @@ var
setprocess_: TProcN;
currentversion_: TSFunc; // добавлено в версии 4.10
currenttest_: TNFunc; // добавлено в версии 4.11
usetaskex_: TProcSNS; // добавлено в версии 4.19
FHandle: integer;
function ToBytes(s: string): array of byte;
begin
var utf8 := Encoding.Unicode;
var ansi := Encoding.GetEncoding(1251);
result := Encoding.Convert(utf8, ansi, utf8.GetBytes(S));
end;
procedure ActivateNET(S: string);
begin
FHandle := LoadLibrary(S);
@ -581,6 +598,8 @@ begin
setprocess_ := TProcN(Marshal.GetDelegateForFunctionPointer(GetProcAddress(FHandle, 'setprocess'), typeof(TProcN)));
currentversion_ := TSFunc(Marshal.GetDelegateForFunctionPointer(GetProcAddress(FHandle, 'currentversion'), typeof(TSFunc))); // добавлено в версии 4.10
currenttest_ := TNFunc(Marshal.GetDelegateForFunctionPointer(GetProcAddress(FHandle, 'curt'), typeof(TNFunc))); // добавлено в версии 4.11
usetaskex_ := TProcSNS(Marshal.GetDelegateForFunctionPointer(GetProcAddress(FHandle, 'usetaskex'), typeof(TProcSNS))); // добавлено в версии 4.19
end;
//=============================================================================
@ -591,18 +610,26 @@ procedure CreateGroup(GroupName, GroupDescription, GroupAuthor, GroupKey: string
TaskCount: integer; InitTaskProc: TInitTaskProc);
begin
p := InitTaskProc;
creategroup_(GroupName, GroupDescription, GroupAuthor,
GroupKey, TaskCount, p);
creategroup_(ToBytes(GroupName), ToBytes(GroupDescription), ToBytes(GroupAuthor),
ToBytes(GroupKey), TaskCount, p);
end;
procedure UseTask(GroupName: string; TaskNumber: integer);
begin
usetask_(GroupName, TaskNumber);
usetask_(ToBytes(GroupName), TaskNumber);
end;
procedure UseTask(GroupName: string; TaskNumber: integer; TopicDescription: string);
begin
if usetaskex_ <> nil then
usetaskex_(ToBytes(GroupName), TaskNumber, ToBytes(TopicDescription))
else
usetask_(ToBytes(GroupName), TaskNumber);
end;
procedure CreateTask(SubgroupName: string);
begin
createtask_(SubgroupName);
createtask_(ToBytes(SubgroupName));
end;
procedure CreateTask;
@ -610,6 +637,15 @@ begin
CreateTask('');
end;
function CurrentLanguage: integer;
begin
result := currentlanguage_;
@ -622,7 +658,7 @@ end;
procedure TaskText(S: string; X, Y: integer);
begin
tasktext_(S, X, Y);
tasktext_(ToBytes(S), X, Y);
end;
procedure TaskText(S: string);
@ -666,18 +702,18 @@ begin
end;
case n of
0: ;
1: tasktext_(Copy(S, p1[1], p2[1]), 0, 3);
1: tasktext(Copy(S, p1[1], p2[1]), 0, 3);
2: for i := 1 to n do
tasktext_(Copy(S, p1[i], p2[i]), 0, 2*i);
tasktext(Copy(S, p1[i], p2[i]), 0, 2*i);
3, 4:
for i := 1 to n do
tasktext_(Copy(S, p1[i], p2[i]), 0, i+1);
tasktext(Copy(S, p1[i], p2[i]), 0, i+1);
else
begin
for i := 1 to 5 do
tasktext_(Copy(S, p1[i], p2[i]), 0, i);
tasktext(Copy(S, p1[i], p2[i]), 0, i);
for i := 6 to n do
tasktext_(Copy(S, p1[i], p2[i]), 0, 0);
tasktext(Copy(S, p1[i], p2[i]), 0, 0);
end;
end;
end;
@ -692,212 +728,212 @@ end;
procedure DataB (Cmt: string; B: boolean; X, Y: integer);
begin
datab_(Cmt, BtoN(B), X, Y);
datab_(ToBytes(Cmt), BtoN(B), X, Y);
end;
procedure DataB (B: boolean; X, Y: integer);
begin
datab_('', BtoN(B), X, Y);
datab_(ToBytes(''), BtoN(B), X, Y);
end;
procedure DataN (Cmt: string; N: integer; X, Y, W: integer);
begin
datan_(Cmt, N, X, Y, W);
datan_(ToBytes(Cmt), N, X, Y, W);
end;
procedure DataN (N: integer; X, Y, W: integer);
begin
datan_('', N, X, Y, W);
datan_(ToBytes(''), N, X, Y, W);
end;
procedure DataN2(Cmt: string; N1, N2: integer; X, Y, W: integer);
begin
datan2_(Cmt, N1, N2, X, Y, W);
datan2_(ToBytes(Cmt), N1, N2, X, Y, W);
end;
procedure DataN2(N1, N2: integer; X, Y, W: integer);
begin
datan2_('', N1, N2, X, Y, W);
datan2_(ToBytes(''), N1, N2, X, Y, W);
end;
procedure DataN3(Cmt: string; N1, N2, N3: integer; X, Y, W: integer);
begin
datan3_(Cmt, N1, N2, N3, X, Y, W);
datan3_(ToBytes(Cmt), N1, N2, N3, X, Y, W);
end;
procedure DataN3(N1, N2, N3: integer; X, Y, W: integer);
begin
datan3_('', N1, N2, N3, X, Y, W);
datan3_(ToBytes(''), N1, N2, N3, X, Y, W);
end;
procedure DataR(Cmt: string; R: real; X, Y, W: integer);
begin
datar_(Cmt, R, X, Y, W);
datar_(ToBytes(Cmt), R, X, Y, W);
end;
procedure DataR(R: real; X, Y, W: integer);
begin
datar_('', R, X, Y, W);
datar_(ToBytes(''), R, X, Y, W);
end;
procedure DataR2(Cmt: string; R1, R2: real; X, Y, W: integer);
begin
datar2_(Cmt, R1, R2, X, Y, W);
datar2_(ToBytes(Cmt), R1, R2, X, Y, W);
end;
procedure DataR2(R1, R2: real; X, Y, W: integer);
begin
datar2_('', R1, R2, X, Y, W);
datar2_(ToBytes(''), R1, R2, X, Y, W);
end;
procedure DataR3(Cmt: string; R1, R2, R3: real; X, Y, W: integer);
begin
datar3_(Cmt, R1, R2, R3, X, Y, W);
datar3_(ToBytes(Cmt), R1, R2, R3, X, Y, W);
end;
procedure DataR3(R1, R2, R3: real; X, Y, W: integer);
begin
datar3_('', R1, R2, R3, X, Y, W);
datar3_(ToBytes(''), R1, R2, R3, X, Y, W);
end;
procedure DataC(Cmt: string; C: char; X, Y: integer);
begin
datac_(Cmt, C, X, Y);
datac_(ToBytes(Cmt), C, X, Y);
end;
procedure DataC(C: char; X, Y: integer);
begin
datac_('', C, X, Y);
datac_(ToBytes(''), C, X, Y);
end;
procedure DataS(Cmt: string; S: string; X, Y: integer);
begin
datas_(Cmt, S, X, Y);
datas_(ToBytes(Cmt), ToBytes(S), X, Y);
end;
procedure DataS(S: string; X, Y: integer);
begin
datas_('', S, X, Y);
datas_(ToBytes(''), ToBytes(S), X, Y);
end;
procedure DataP(Cmt: string; NP: integer; X, Y: integer);
begin
datap_ (Cmt, NP, X, Y);
datap_ (ToBytes(Cmt), NP, X, Y);
end;
procedure DataP(NP: integer; X, Y: integer);
begin
datap_ ('', NP, X, Y);
datap_ (ToBytes(''), NP, X, Y);
end;
procedure DataComment(Cmt: string; X, Y: integer);
begin
datacomment_(Cmt, X, Y);
datacomment_(ToBytes(Cmt), X, Y);
end;
procedure ResultB(Cmt: string; B: boolean; X, Y: integer);
begin
resultb_(Cmt, BtoN(B), X, Y);
resultb_(ToBytes(Cmt), BtoN(B), X, Y);
end;
procedure ResultB(B: boolean; X, Y: integer);
begin
resultb_('', BtoN(B), X, Y);
resultb_(ToBytes(''), BtoN(B), X, Y);
end;
procedure ResultN(Cmt: string; N: integer; X, Y, W: integer);
begin
resultn_(Cmt, N, X, Y, W);
resultn_(ToBytes(Cmt), N, X, Y, W);
end;
procedure ResultN(N: integer; X, Y, W: integer);
begin
resultn_('', N, X, Y, W);
resultn_(ToBytes(''), N, X, Y, W);
end;
procedure ResultN2(Cmt: string; N1, N2: integer; X, Y, W: integer);
begin
resultn2_(Cmt, N1, N2, X, Y, W);
resultn2_(ToBytes(Cmt), N1, N2, X, Y, W);
end;
procedure ResultN2(N1, N2: integer; X, Y, W: integer);
begin
resultn2_('', N1, N2, X, Y, W);
resultn2_(ToBytes(''), N1, N2, X, Y, W);
end;
procedure ResultN3(Cmt: string; N1, N2, N3: integer; X, Y, W: integer);
begin
resultn3_(Cmt, N1, N2, N3, X, Y, W);
resultn3_(ToBytes(Cmt), N1, N2, N3, X, Y, W);
end;
procedure ResultN3(N1, N2, N3: integer; X, Y, W: integer);
begin
resultn3_('', N1, N2, N3, X, Y, W);
resultn3_(ToBytes(''), N1, N2, N3, X, Y, W);
end;
procedure ResultR(Cmt: string; R: real; X, Y, W: integer);
begin
resultr_(Cmt, R, X, Y, W);
resultr_(ToBytes(Cmt), R, X, Y, W);
end;
procedure ResultR(R: real; X, Y, W: integer);
begin
resultr_('', R, X, Y, W);
resultr_(ToBytes(''), R, X, Y, W);
end;
procedure ResultR2(Cmt: string; R1, R2: real; X, Y, W: integer);
begin
resultr2_(Cmt, R1, R2, X, Y, W);
resultr2_(ToBytes(Cmt), R1, R2, X, Y, W);
end;
procedure ResultR2(R1, R2: real; X, Y, W: integer);
begin
resultr2_('', R1, R2, X, Y, W);
resultr2_(ToBytes(''), R1, R2, X, Y, W);
end;
procedure ResultR3(Cmt: string; R1, R2, R3: real; X, Y, W: integer);
begin
resultr3_(Cmt, R1, R2, R3, X, Y, W);
resultr3_(ToBytes(Cmt), R1, R2, R3, X, Y, W);
end;
procedure ResultR3(R1, R2, R3: real; X, Y, W: integer);
begin
resultr3_('', R1, R2, R3, X, Y, W);
resultr3_(ToBytes(''), R1, R2, R3, X, Y, W);
end;
procedure ResultC(Cmt: string; C: char; X, Y: integer);
begin
resultc_(Cmt, C, X, Y);
resultc_(ToBytes(Cmt), C, X, Y);
end;
procedure ResultC(C: char; X, Y: integer);
begin
resultc_('', C, X, Y);
resultc_(ToBytes(''), C, X, Y);
end;
procedure ResultS(Cmt: string; S: string; X, Y: integer);
begin
results_(Cmt, S, X, Y);
results_(ToBytes(Cmt), ToBytes(S), X, Y);
end;
procedure ResultS(S: string; X, Y: integer);
begin
results_('', S, X, Y);
results_(ToBytes(''), ToBytes(S), X, Y);
end;
procedure ResultP(Cmt: string; NP: integer; X, Y: integer);
begin
resultp_(Cmt, NP, X, Y);
resultp_(ToBytes(Cmt), NP, X, Y);
end;
procedure ResultP(NP: integer; X, Y: integer);
begin
resultp_('', NP, X, Y);
resultp_(ToBytes(''), NP, X, Y);
end;
procedure ResultComment(Cmt: string; X, Y: integer);
begin
resultcomment_(Cmt, X, Y);
resultcomment_(ToBytes(Cmt), X, Y);
end;
procedure SetPrecision(N: integer);
@ -922,52 +958,52 @@ end;
procedure DataFileN(FileName: string; Y, W: integer);
begin
datafilen_(FileName, Y, W);
datafilen_(ToBytes(FileName), Y, W);
end;
procedure DataFileR(FileName: string; Y, W: integer);
begin
datafiler_(FileName, Y, W);
datafiler_(ToBytes(FileName), Y, W);
end;
procedure DataFileC(FileName: string; Y, W: integer);
begin
datafilec_(FileName, Y, W);
datafilec_(ToBytes(FileName), Y, W);
end;
procedure DataFileS(FileName: string; Y, W: integer);
begin
datafiles_(FileName, Y, W);
datafiles_(ToBytes(FileName), Y, W);
end;
procedure DataFileT(FileName: string; Y1, Y2: integer);
begin
datafilet_(FileName, Y1, Y2);
datafilet_(ToBytes(FileName), Y1, Y2);
end;
procedure ResultFileN(FileName: string; Y, W: integer);
begin
resultfilen_(FileName, Y, W);
resultfilen_(ToBytes(FileName), Y, W);
end;
procedure ResultFileR(FileName: string; Y, W: integer);
begin
resultfiler_(FileName, Y, W);
resultfiler_(ToBytes(FileName), Y, W);
end;
procedure ResultFileC(FileName: string; Y, W: integer);
begin
resultfilec_(FileName, Y, W);
resultfilec_(ToBytes(FileName), Y, W);
end;
procedure ResultFileS(FileName: string; Y, W: integer);
begin
resultfiles_(FileName, Y, W);
resultfiles_(ToBytes(FileName), Y, W);
end;
procedure ResultFileT(FileName: string; Y1, Y2: integer);
begin
resultfilet_(FileName, Y1, Y2);
resultfilet_(ToBytes(FileName), Y1, Y2);
end;
procedure SetPointer(NP: integer; P: PNode);
@ -1082,12 +1118,12 @@ end;
procedure CommentText(S: string);
begin
commenttext_(S);
commenttext_(ToBytes(S));
end;
procedure UseComment(GroupName, SubgroupName: string);
begin
usecomment_(GroupName, SubgroupName);
usecomment_(ToBytes(GroupName), ToBytes(SubgroupName));
end;
procedure UseComment(GroupName: string);
@ -1097,7 +1133,7 @@ end;
procedure Subgroup(SubgroupName: string);
begin
subgroup_(SubgroupName);
subgroup_(ToBytes(SubgroupName));
end;
procedure SetObjectStyle;
@ -1123,7 +1159,7 @@ end;
procedure CreateTask(SubgroupName: string; var ProcessCount: integer);
begin
if createtask2_ <> nil then
createtask2_(SubgroupName, ProcessCount)
createtask2_(ToBytes(SubgroupName), ProcessCount)
else
ShowError('The CreateTask procedure with ProcessCount parameter', '4.9');
end;
@ -1167,10 +1203,6 @@ begin
result := Random * (B-A) + A;
end;
initialization
finalization

746
bin/Lib/TasksArr.pas Normal file
View file

@ -0,0 +1,746 @@
unit TasksArr;
uses LightPT;
var AllTaskNames := Arr('Arr1','Arr2','Arr3','Arr4','Arr5','Arr6',
'Arr_Sum0','Arr_Sum1','Arr_Sum2','Arr_Sum3','Arr_Sum4','Arr_CountA1','Arr_CountA2',
'Arr_Replace1','Arr_Replace2','Arr_Find1','Arr_Find2','Arr_Find3','Arr_Find4',
'Arr_Index1','Arr_Index2','Arr_Index2a','Arr_Index3','Arr_Index4',
'Arr_MinMax1','Arr_MinMax2','Arr_MinMax3','Arr_MinMax4','Arr_Neighbors1','Arr_MinMaxInd1','Arr_MinMaxInd2',
'Arr_Fill1','Arr_Fill2','Заполнение1','ЗаполнениеЛямбда1','Заполнение2','ЗаполнениеЛямбда2',
'ЗаполнениеПоПред1','ЗаполнениеПоПред2','ЗаполнениеГеом1','ЗаполнениеГеом2','ЗаполнениеСумма1','ЗаполнениеСумма2',
'Arr_Transf1','Arr_Transf1a','Arr_Transf2','Arr_Transf3','Arr_Transf4','Arr_Transf5','Arr_Transf7',
'Arr_Transf8','Arr_Transf9','Arr_Transf6',
'Arr_Reverse1','Arr_Reverse2','Arr_Reverse3','Arr_Reverse3a',
'Arr_Count1','Arr_Count2','Arr_Count3','Arr_Count4',
'Arr_FindIndex1','Arr_FindIndex2',
'Arr_Filter1','Arr_GenFilter1','Arr_GenFilter2',
'Arr_Op1',
'Arr_Slice1','Arr_Slice2','Arr_Slice3','Arr_Slice7','Arr_Slice10','Arr_Slice11','Arr_Slice12',
'Arr_InsDel1','Arr_InsDel2','Arr_InsDel3',
'Arr_Shift1','Arr_Shift2',
'List1','List2','List3','List4','List5','List6','List6a','List6b','List7','List8','List9','List9a','List9b',
'Sort1','Sort2','Sort3',
'BubbleSort','BubbleSort2');
procedure CheckTaskT(name: string);
begin
FlattenOutput; // Во всех задачах на массивы
ClearOutputListFromSpaces; // Это чтобы a.Print работал. По идее, надо писать всегда. Яне знаю задач, где пробелы в ответе
case name of
'Arr1','Arr2': begin
FilterOnlyNumbersAndBools;
CheckData(InitialOutput := |cInt|*5);
CheckOutputSeq(|cInt|*10);
// Надо проверить, что Output[9] - целое ненулевое
if OutputList.Count<10 then // чтобы не получить исключение
exit;
if OutIsInt(9) then
if OutInt(9) = 0 then
begin
ColoredMessage('Массив надо заполнить ненулевыми значениями');
TaskResult := BadSolution;
end;
end;
'Arr3','Arr4': begin
FilterOnlyNumbersAndBools;
TaskResult := PartialSolution; // То есть, уже начали проверять, уже под контролем
CheckData(|cInt|*5, |cInt|*5, |cInt|*10);
if TaskResult <> PartialSolution then
exit;
CheckOutputSeq(InputList);
end;
'Arr5','Arr6': begin
// Проверка того что введено и выведено 10 значений, что ввод совпадает с выводом и что вывод в диапазоне от 2 до 5
// Что плохо - все Check неявно меняют TaskResult, а здесь надо еще и явно
FilterOnlyNumbersAndBools;
var n := 10;
CheckData(|cInt|*n, |cInt|*n);
TaskResult := PartialSolution; // потому что если просто запустить - будет InitialSolution
CheckOutputSeq(InputList);
// Дополнительная проверка
if TaskResult = Solved then
begin
// проверим на диапазон от 2 до 5
var a := IntArr(n);
if a.Any(x->x not in 2..5) then
begin
TaskResult := BadSolution;
ColoredMessage('Результирующие данные должны быть от 2 до 5',MsgColorGray);
exit;
end;
end;
end;
'Arr_Sum0': begin
// Это паттерн: вводится n, а потом вводится n элементов массива
FilterOnlyNumbersAndBools;
var n := Int;
CheckInput(|cInt| + n*|cInt|);
var a := IntArr(n);
CheckOutput(a.Sum)
end;
'Arr_Sum1','Arr_Sum2': begin
FilterOnlyNumbersAndBools;
// Это всё надо. Начальный ввод - 10 целых, весь ввод - тоже
var n := 10;
CheckData(|cInt|*n, |cInt|*(n+1), |cInt|*n);
var a := IntArr(n);
var p := integer(a.Product);
CheckOutputAfterInitial(p)
end;
'Arr_Sum3': begin
FilterOnlyNumbersAndBools;
var n := 10;
CheckData(|cInt|*n, |cInt|*(n+1), |cInt|*n);
var a := IntArr(n);
CheckOutputAfterInitial(a.Product)
end;
'Arr_Sum4': begin
FilterOnlyNumbersAndBools;
var n := 10;
CheckData(|cInt|*n, |cInt|*n, |cInt|*n);
var a := IntArr(n);
var ave := a.Average;
CheckOutputAfterInitialSeq(|ave|*2)
end;
'Arr_CountA1': begin
FilterOnlyNumbersAndBools;
var n := 10;
CheckData(|cInt|*n, |cInt|*n, |cInt|*n);
GenerateTests(10,tInt * n);
var a := IntArr(n);
CheckOutputAfterInitial(a.CountOf(3));
end;
'Arr_CountA2': begin
ClearOutputListFromSpaces; // Кроме чисел тут строки
var n := 10;
CheckData(|cInt|*n, |cInt|*n, |cInt|*n);
GenerateTests(10,tInt * n);
var lst := ObjectList.New;
var a := IntArr(n);
var cnt4 := a.CountOf(4);
var cnt5 := a.CountOf(5);
case cnt4.CompareTo(cnt5) of
1: lst.Add('четвёрок больше');
0: lst.Add('одинаково');
-1: lst.Add('пятёрок больше');
end;
CheckOutputAfterInitialSeq(lst);
end;
'Arr_Replace1': begin
FilterOnlyNumbersAndBools;
var n := 10;
CheckData(|cInt|*n, |cInt|*n, |cInt|*n);
GenerateTests(10,tInt * n);
var arr := IntArr(n);
arr.Replace(2,3);
CheckOutputAfterInitialSeq(arr);
end;
'Arr_Replace2': begin
FilterOnlyNumbersAndBools;
var n := 10;
CheckData(|cInt|*n, |cInt|*n, |cInt|*n);
GenerateTests(10,tInt * n);
var arr := IntArr(n);
arr.Replace(2,22);
arr.Replace(5,55);
arr.Replace(22,5);
arr.Replace(55,2);
CheckOutputAfterInitialSeq(arr);
end;
'Arr_Find1': begin
FilterOnlyNumbersAndBools;
var n := 5;
CheckData(|cInt|*n, |cInt|*n, |cInt|*n);
GenerateTests(10,tInt * n);
var a := IntArr(n);
var has2 := 2 in a;
CheckOutputAfterInitial(has2);
end;
'Arr_Find2': begin
FilterOnlyNumbersAndBools;
var n := 5;
CheckData(|cInt|*n, |cInt|*n, |cInt|*n);
TestCount := 10;
GenerateTestData := tnum -> begin
var a := ArrRandomInteger(n,2,5);
if tnum = 2 then
a := ArrFill(n,1);
InputList.AddTestData(a);
end;
var a := IntArr(n);
var haseven := a.FindIndex(x -> x.IsEven) <> -1;
CheckOutputAfterInitial(haseven);
end;
'Arr_Find3': begin
FilterOnlyNumbersAndBools;
var n := 5;
CheckData(|cInt|*n, |cInt|*n, |cInt|*n);
TestCount := 10;
GenerateTestData := tnum -> begin
var a := ArrRandomInteger(n,1,99);
if tnum = 2 then
a := ArrRandomInteger(n,1,30)
else if tnum = 3 then
a := ArrRandomInteger(n,51,99);
InputList.AddTestData(a);
end;
var a := IntArr(n);
var haseven := a.ToArray.FindIndex(x -> x in 40..50) <> -1;
CheckOutputAfterInitial(haseven);
end;
'Arr_Find4': begin
FilterOnlyNumbersAndBools;
var n := 3;
CheckData(|cInt|*n, |cInt|*n);
TestCount := 10;
GenerateTestData := tnum -> begin
var a := ArrRandomInteger(n,2,5);
if tnum = 2 then
a := ArrFill(n,11);
InputList.AddTestData(a);
end;
var a := IntArr(n);
var allodd := a.All(x -> x.IsOdd);
CheckOutputAfterInitial(allodd);
end;
'Arr_Index1': begin
FilterOnlyNumbersAndBools;
var n := 10;
CheckData(|cInt|*n, |cInt|*n);
TestCount := 10;
GenerateTestData := tnum -> begin
var a := ArrRandomInteger(n,2,5);
if tnum = 2 then
a := ArrFill(n,5);
InputList.AddTestData(a);
end;
var a := IntArr(n);
var ind := a.FindIndex(x -> x = 2);
CheckOutputAfterInitial(ind);
end;
'Arr_Index2': begin
FilterOnlyNumbersAndBools;
var n := 10;
CheckData(|cInt|*n, |cInt|*n);
TestCount := 10;
GenerateTestData := tnum -> begin
var a := ArrRandomInteger(n,2,5);
if tnum = 2 then
a := ArrFill(n,4);
InputList.AddTestData(a);
end;
var a := IntArr(n);
var ind := a.FindLastIndex(x -> x = 5);
CheckOutputAfterInitial(ind);
end;
'Arr_Index2a': begin
FilterOnlyNumbersAndBools;
var n := 10;
CheckData(|cInt|*n, |cInt|*n);
GenerateTests(10,tInt * n);
var a := IntArr(n);
var ind2 := a.IndexOf(2);
var ind5 := a.IndexOf(5);
CheckOutputAfterInitialSeq(|ind2,ind5|);
end;
'Arr_Index3': begin
FilterOnlyNumbersAndBools;
var n := 20;
CheckData(|cInt|*n, |cInt|*n);
GenerateTests(10,tInt * n);
var arr := IntArr(n);
var ind2 := arr.IndexOf(2);
var ind5 := arr.IndexOf(5);
Swap(arr[ind2],arr[ind5]);
CheckOutputAfterInitialSeq(arr);
end;
'Arr_Index4': begin
FilterOnlyNumbersAndBools;
var n := 30;
CheckData(|cInt|*n, |cInt|*n);
GenerateTests(10,tInt * n);
var arr := IntArr(n);
var ind := arr.IndexOf(2);
ind := arr.IndexOf(2,ind + 1);
CheckOutputAfterInitial(ind);
end;
'Arr_MinMax1': begin
FilterOnlyNumbersAndBools;
var n := 10;
CheckData(InitialOutput := |cInt|*n);
var a := OutSliceIntArr(0,n-1);
var min := a.Min;
CheckOutputAfterInitial(min);
end;
'Arr_MinMax2': begin
FilterOnlyNumbersAndBools;
var n := 10;
CheckData(|cInt|*n, |cInt|*n);
GenerateTests(10,tInt * n);
var a := IntArr(n);
var max := a.Max;
CheckOutputAfterInitial(max);
end;
'Arr_MinMax3': begin
FilterOnlyNumbersAndBools;
var n := 10;
CheckData(|cInt|*n, |cInt|*n);
GenerateTests(10,tInt * n);
var a := IntArr(n);
CheckOutputAfterInitial(a.Min);
end;
'Arr_MinMax4': begin
FilterOnlyNumbersAndBools;
var n := 10;
CheckData(|cInt|*n, |cInt|*n);
GenerateTests(10,tInt * n);
var a := IntArr(n);
CheckOutputAfterInitialSeq(|a.Min,a.Max|);
end;
'Arr_Neighbors1': begin
FilterOnlyNumbersAndBools;
var n := 20;
CheckData(|cInt|*n, |cInt|*n);
GenerateTests(10, tInt*n);
var a := IntArr(n);
var cnt := 0;
for var i := 0 to n-2 do
if (a[i] = 2) and (a[i+1] = 5) then
cnt += 1;
CheckOutputAfterInitial(cnt);
end;
'Arr_MinMaxInd1': begin
var n := 10;
CheckData(|cInt|*n, |cInt|*n);
GenerateAutoTests(10);
var a := IntArr(n);
CheckOutputAfterInitial(a.IndexMax,a.IndexMax);
end;
'Arr_MinMaxInd2': begin
var n := 10;
CheckData(|cInt|*n, |cInt|*n);
GenerateAutoTests(10);
var a := IntArr(n);
var indmax := a.IndexMax;
var indmin := a.IndexMin;
Swap(a[indmax],a[indmin]);
CheckOutputSeq(a);
end;
'Arr_Fill1': begin
FilterOnlyNumbersAndBools;
CheckData(Input := nil);
CheckOutputSeq(ArrFill(10,1));
end;
'Arr_Fill2': begin
FilterOnlyNumbersAndBools;
CheckData(Input := nil);
CheckOutputSeq(ArrFill(10,1));
end;
'Заполнение1','ЗаполнениеЛямбда1': begin
FilterOnlyNumbersAndBools;
CheckData(Input := Empty);
CheckOutputSeq(ArrGen(10,i->i*i));
end;
'Заполнение2','ЗаполнениеЛямбда2': begin
FilterOnlyNumbersAndBools;
CheckData(Input := Empty);
CheckOutputSeq(ArrGen(10,1,i->i+2));
end;
'ЗаполнениеПоПред1','ЗаполнениеПоПред2': begin
FilterOnlyNumbersAndBools;
CheckData(Input := Empty);
CheckOutputSeq(ArrGen(10,5,i->i+5));
end;
'ЗаполнениеГеом1','ЗаполнениеГеом2': begin
FilterOnlyNumbersAndBools;
CheckData(Input := Empty);
CheckOutputSeq(ArrGen(10,1,i->i*2));
end;
'ЗаполнениеСумма1': begin
FilterOnlyNumbersAndBools;
CheckData(Input := Empty);
CheckOutput(ArrGen(10,5,i->i+5).Sum);
end;
'ЗаполнениеСумма2': begin
FilterOnlyNumbersAndBools;
CheckData(Input := Empty);
CheckOutput(ArrGen(10,1,i->i*2).Sum);
end;
// 'Arr_Transf1' 'Arr_Transf1a' 'Arr_Transf2' 'Arr_Transf3' 'Arr_Transf4' 'Arr_Transf5' 'Arr_Transf7' 'Arr_Transf8' 'Arr_Transf9'- задачник
'Arr_Transf6': begin
FilterOnlyNumbersAndBools;
var n := 10;
CheckData(|cInt|*n, |cInt|*n);
GenerateTests(10, tInt * n);
var a := IntArr(n);
foreach var i in a.Indices do
if i.IsOdd then
a[i] := 0;
CheckOutputAfterInitialSeq(a);
end;
'Arr_Reverse1','Arr_Reverse2': begin
var n := 10;
CheckData(|cInt|*n, |cInt|*n);
GenerateTests(10, tInt * n);
var a := IntArr(n);
CheckOutputAfterInitialSeq(a.Reverse);
end;
'Arr_Reverse3': begin
var n := 10;
CheckData(|cInt|*n, |cInt|*n);
GenerateTests(10, tInt * n);
var a := IntArr(n);
for var i:= 0 to n div 2 - 1 do
Swap(a[i],a[i + n div 2]);
CheckOutputAfterInitialSeq(a);
end;
'Arr_Reverse3a': begin
var n := 10;
CheckData(|cInt|*n, |cInt|*n);
var out := IntArr(n);
var out0 := Copy(out);
Reverse(out, 0, 5);
Reverse(out, 5, 5);
CheckOutputSeq(out0 + out);
end;
'Arr_Count1','Arr_Count2': begin
var n := 10;
CheckData(|cInt|*n, |cInt|*n);
GenerateTests(10, tInt * n);
var a := IntArr(n);
CheckOutputAfterInitial(a.Count(x -> x.IsEven));
end;
'Arr_Count3': begin
var n := 10;
CheckData(|cInt|*n, |cInt|*n);
GenerateTests(10, tInt * n);
var a := IntArr(n);
CheckOutputAfterInitial(a.CountOf(3),a.CountOf(4),a.CountOf(5));
end;
'Arr_Count4': begin
var n := 30;
CheckData(|cInt|*n, |cInt|*n);
GenerateTests(10, tInt * n);
var a := IntArr(n);
CheckOutputAfterInitialSeq(|a.CountOf(a.Min),a.CountOf(a.Max)|);
end;
'Arr_FindIndex1': begin
var n := 10;
CheckData(|cInt|*n, |cInt|*n);
GenerateTests(10, tInt * n);
var a := IntArr(n);
CheckOutputAfterInitialSeq(|a.FindIndex(x-> x.IsOdd),a.FindLastIndex(x-> x.IsOdd)|);
end;
'Arr_FindIndex2': begin
var n := 10;
CheckData(|cInt|*n, |cInt|*n);
GenerateTests(10, tInt * n);
var a := IntArr(n);
var i1 := a.FindIndex(x -> x.IsEven);
var i2 := a.FindLastIndex(x -> x.IsOdd);
Swap(a[i1],a[i2]);
CheckOutputAfterInitialSeq(a);
end;
'Arr_Filter1': begin
var n := 10;
CheckData(|cInt|*n, |cInt|*n);
GenerateTests(10, tInt(1,100) * n);
var a := IntArr(n);
CheckOutputAfterInitialSeq(a.Where(x->x<50));
end;
'Arr_GenFilter1': begin
CheckData(Input := Empty);
var a := ArrGen(50,1,x->x+2);
CheckOutputSeq(a.Where(x->x mod 7 = 0));
end;
'Arr_GenFilter2': begin
var n := 40;
CheckData(InitialOutput := |cInt|*n);
var a := ArrGen(40,1,1,(x,y)->x+y);
CheckOutputAfterInitialSeq(a.Where(x->x mod 5 = 0));
end;
'Arr_Op1': begin
CheckData(Empty);
var a := |1,2,3|*5;
var b := |0| * 6 + |1| * 6;
var c := |1,2,3|*3 + |4,5,6|*3;
var d := |1| * 5 + |2| * 5 + |1| * 5 + |2| * 5;
CheckOutputSeq(a+b+c+d);
end;
'Arr_Slice1': begin
FilterOnlyNumbersAndBools;
var n := 10;
CheckData(InitialOutput := |cInt| * n);
var a := Arr(0..9);
CheckOutputSeq(a + a[2:6] + a[:4] + a[2:]);
end;
'Arr_Slice2': begin
FilterOnlyNumbersAndBools;
var n := 10;
CheckData(InitialOutput := |cInt| * n);
var a := Arr(0..9);
CheckOutputSeq(a + a[:2] + a[5:] + a[1:^1]);
end;
'Arr_Slice3': begin
FilterOnlyNumbersAndBools;
var n := 10;
CheckData(InitialOutput := |cInt| * n + |cInt| * 2);
var a := Arr(0..9);
CheckOutputSeq(a + |9| + |8| + |7| + a[^2:] + a[1:^1])
end;
'Arr_Slice7': begin
FilterOnlyNumbersAndBools;
var n := 10;
CheckData(InitialOutput := |cInt| * n);
var a := Arr(0..9);
CheckOutputSeq(a + a[5::-1] + a[9::-2])
end;
'Arr_Slice10': begin
FilterOnlyNumbersAndBools;
CheckData(Input := Empty);
var a := |6,2,4,3,6,1,7,8,2,4|;
CheckOutput(a[:5].Sum);
end;
'Arr_Slice11': begin
FilterOnlyNumbersAndBools;
CheckData(Input := Empty);
var a := |6,2,4,3,6,1,7,8,2,4|;
CheckOutput(a[5:].Min);
end;
'Arr_Slice12': begin
FilterOnlyNumbersAndBools;
CheckData(Input := Empty);
var a := |6,2,4,3,6,1,7,8,2,4|;
CheckOutput(a[::2].Average);
end;
'Arr_InsDel1': begin
FilterOnlyNumbersAndBools;
var n := 10;
var a := Arr(0..9);
CheckData(InitialOutput := |cInt| * n);
CheckOutputSeq(a + a[:5] + a[6:]);
end;
'Arr_InsDel2': begin
FilterOnlyNumbersAndBools;
var n := 10;
var a := Arr(0..9);
CheckData(InitialOutput := |cInt| * n);
CheckOutputSeq(a + a[:5] + |333| + a[5:]);
end;
'Arr_InsDel3': begin
FilterOnlyNumbersAndBools;
var n := 10;
var a := Arr(0..9);
CheckData(InitialOutput := |cInt| * n);
CheckOutputSeq(a + a[:1] + |555| + a[1:^1] + |555| + a[^1:]);
end;
'Arr_Shift1': begin
FilterOnlyNumbersAndBools;
var n := 10;
var a := Arr(0..9);
CheckData(InitialOutput := |cInt| * n);
CheckOutputSeq(a + a[1:] + |0|);
end;
'Arr_Shift2': begin
FilterOnlyNumbersAndBools;
var n := 10;
var a := Arr(0..9);
CheckData(InitialOutput := |cInt| * n);
CheckOutputSeq(a + |0| + a[:^1]);
end;
'List1': begin
ClearOutputListFromSpaces;
CheckData(InitialOutput := |cInt|);
CheckOutput('Иванов','Петров','Сидоров');
end;
'List2': begin
FilterOnlyNumbersAndBools;
CheckData(Input := Empty);
CheckOutput(11,2,13,4,15);
end;
'List3': begin
FilterOnlyNumbersAndBools;
CheckData(Input := Empty);
CheckOutput(1,3,5,7);
end;
'List4': begin
FilterOnlyNumbersAndBools;
CheckData(Input := Empty);
CheckOutputSeq((1..7).Select(x->x*x));
end;
'List5': begin
FilterOnlyNumbersAndBools;
var n := 10;
CheckData(|cInt|*n, |cInt|*n);
GenerateAutoTests(10);
var a := IntArr(n);
CheckOutputAfterInitialSeq(a.Where(x->x.IsEven));
end;
'List6': begin
FilterOnlyNumbersAndBools;
var n := 10;
CheckData(|cInt|*n, |cInt|*n);
GenerateAutoTests(10);
var a := IntArr(n);
CheckOutputAfterInitialSeq(a.Where(x->x.IsEven)+a.Where(x->x.IsOdd));
end;
'List6a': begin
FilterOnlyNumbersAndBools;
CheckData(InitialInput := |cInt|*3);
GenerateAutoTests(10);
var a := IntArr(3);
CheckOutputSeq(|1,3,5|+a);
end;
'List6b': begin
FilterOnlyNumbersAndBools;
CheckData(Input := Empty);
CheckOutputSeq(|1,3,5,2,4,6,9,8,7|);
end;
'List7': begin
FilterOnlyNumbersAndBools;
var n := 20;
CheckData(|cInt|*n, |cInt|*n);
GenerateAutoTests(5);
var a := IntArr(10);
var b := IntArr(10);
CheckOutputAfterInitialSeq(a.Interleave(b));
end;
'List8': begin
FilterOnlyNumbersAndBools;
var n := 10;
CheckData(InitialOutput := |cInt|*n);
var a := OutSliceIntArr(0,n-1);
var b := a.ToList;
b.Insert(2,555);
CheckOutputSeq(a+b);
end;
'List9': begin
FilterOnlyNumbersAndBools;
var n := 10;
CheckData(InitialOutput := |cInt|*n);
var a := OutSliceIntArr(0,n-1);
var b := a.ToList;
if b.Count>0 then
b.RemoveAt(2);
CheckOutputSeq(a+b);
end;
'List9a': begin
FilterOnlyNumbersAndBools;
CheckData(Input := Empty);
CheckOutputSeq((1..10));
end;
'List9b': begin
FilterOnlyNumbersAndBools;
var n := 10;
CheckData(InitialInput := |cInt|*n);
var a := IntArr(n);
CheckOutputSeq(a);
end;
'Sort1': begin
FilterOnlyNumbersAndBools;
var n := 10;
CheckData(|cInt|*n, |cInt|*n);
GenerateAutoTests(5);
var a := IntArr(n);
CheckOutputSeq(a+a.Sorted);
end;
'Sort2': begin
FilterOnlyNumbersAndBools;
var n := 10;
CheckData(|cInt|*n, |cInt|*n);
GenerateAutoTests(5);
var a := IntArr(n);
CheckOutputSeq(a+a.SortedDescending);
end;
'Sort3': begin
FilterOnlyNumbersAndBools;
var n := 9;
CheckData(InitialOutput := |cInt|*n);
var a := OutSliceIntArr(0,n-1);
CheckOutputSeq(a + a.Sorted);
end;
'BubbleSort': begin
FilterOnlyNumbersAndBools;
var n := 10;
CheckData(InitialOutput := |cInt|*n);
var a := OutSliceIntArr(0,n-1);
var b := Copy(a);
for var j:=n-1 downto 1 do
if b[j-1] > b[j] then
Swap(b[j-1], b[j]);
CheckOutputSeq(a + b);
end;
'BubbleSort2': begin
FilterOnlyNumbersAndBools;
var n := 9;
CheckData(InitialOutput := |cInt|*n);
var a := OutSliceIntArr(0,n-1);
CheckOutputSeq(a+a.Sorted);
end;
end;
end;
initialization
CheckTask := CheckTaskT;
finalization
end.

View file

@ -1,846 +0,0 @@
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.DomSyntaxTreeVisitor.visit(program_module _program_module) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 2741
в PascalABCCompiler.SyntaxTree.program_module.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 13211
в CodeCompletion.DomSyntaxTreeVisitor.Convert(compilation_unit cu) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 60
Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать размер коллекции.
Имя параметра: index
в System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
в System.Collections.Generic.List`1.get_Item(Int32 index)
в CodeCompletion.CompiledScope.GetInstance(List`1 gen_args, Boolean exact) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 5661
в CodeCompletion.ProcScope.GetInstance(List`1 gen_args) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 2416
в CodeCompletion.DomSyntaxTreeVisitor.select_method(SymScope[] meths, TypeScope tleft, TypeScope tright, TypeScope obj, Boolean obj_instanced, List`1 arg_types, expression[] args) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 3275
в CodeCompletion.DomSyntaxTreeVisitor.visit(method_call _method_call) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 3334
в PascalABCCompiler.SyntaxTree.method_call.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 15347
в CodeCompletion.DomSyntaxTreeVisitor.visit(dot_node _dot_node) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 2919
в PascalABCCompiler.SyntaxTree.dot_node.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 14519
в CodeCompletion.DomSyntaxTreeVisitor.visit(dot_node _dot_node) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 2888
в PascalABCCompiler.SyntaxTree.dot_node.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 14519
в CodeCompletion.DomSyntaxTreeVisitor.visit(method_call _method_call) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 3284
в PascalABCCompiler.SyntaxTree.method_call.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 15347
в CodeCompletion.DomSyntaxTreeVisitor.visit(dot_node _dot_node) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 2888
в PascalABCCompiler.SyntaxTree.dot_node.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 14519
в CodeCompletion.DomSyntaxTreeVisitor.visit(procedure_call _procedure_call) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 4036
в PascalABCCompiler.SyntaxTree.procedure_call.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 22005
в CodeCompletion.DomSyntaxTreeVisitor.visit(statement_list _statement_list) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 183
в PascalABCCompiler.SyntaxTree.statement_list.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 752
в CodeCompletion.DomSyntaxTreeVisitor.visit(program_module _program_module) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 2747
в PascalABCCompiler.SyntaxTree.program_module.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 13211
в CodeCompletion.DomSyntaxTreeVisitor.Convert(compilation_unit cu) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 60
Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать размер коллекции.
Имя параметра: index
в System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
в System.Collections.Generic.List`1.get_Item(Int32 index)
в CodeCompletion.CompiledScope.GetInstance(List`1 gen_args, Boolean exact) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 5661
в CodeCompletion.ProcScope.GetInstance(List`1 gen_args) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 2416
в CodeCompletion.DomSyntaxTreeVisitor.select_method(SymScope[] meths, TypeScope tleft, TypeScope tright, TypeScope obj, Boolean obj_instanced, List`1 arg_types, expression[] args) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 3275
в CodeCompletion.DomSyntaxTreeVisitor.visit(method_call _method_call) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 3334
в PascalABCCompiler.SyntaxTree.method_call.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 15347
в CodeCompletion.DomSyntaxTreeVisitor.visit(dot_node _dot_node) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 2919
в PascalABCCompiler.SyntaxTree.dot_node.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 14519
в CodeCompletion.DomSyntaxTreeVisitor.visit(dot_node _dot_node) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 2888
в PascalABCCompiler.SyntaxTree.dot_node.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 14519
в CodeCompletion.DomSyntaxTreeVisitor.visit(method_call _method_call) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 3284
в PascalABCCompiler.SyntaxTree.method_call.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 15347
в CodeCompletion.DomSyntaxTreeVisitor.visit(dot_node _dot_node) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 2888
в PascalABCCompiler.SyntaxTree.dot_node.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 14519
в CodeCompletion.DomSyntaxTreeVisitor.visit(assign _assign) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 220
в PascalABCCompiler.SyntaxTree.assign.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 1098
в CodeCompletion.DomSyntaxTreeVisitor.visit(statement_list _statement_list) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 183
в PascalABCCompiler.SyntaxTree.statement_list.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 752
в CodeCompletion.DomSyntaxTreeVisitor.visit(program_module _program_module) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 2747
в PascalABCCompiler.SyntaxTree.program_module.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 13211
в CodeCompletion.DomSyntaxTreeVisitor.Convert(compilation_unit cu) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 60
Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать размер коллекции.
Имя параметра: index
в System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
в System.Collections.Generic.List`1.get_Item(Int32 index)
в CodeCompletion.CompiledScope.GetInstance(List`1 gen_args, Boolean exact) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 5661
в CodeCompletion.ProcScope.GetInstance(List`1 gen_args) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 2416
в CodeCompletion.DomSyntaxTreeVisitor.select_method(SymScope[] meths, TypeScope tleft, TypeScope tright, TypeScope obj, Boolean obj_instanced, List`1 arg_types, expression[] args) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 3275
в CodeCompletion.DomSyntaxTreeVisitor.visit(method_call _method_call) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 3334
в PascalABCCompiler.SyntaxTree.method_call.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 15347
в CodeCompletion.DomSyntaxTreeVisitor.visit(dot_node _dot_node) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 2919
в PascalABCCompiler.SyntaxTree.dot_node.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 14519
в CodeCompletion.DomSyntaxTreeVisitor.visit(dot_node _dot_node) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 2888
в PascalABCCompiler.SyntaxTree.dot_node.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 14519
в CodeCompletion.DomSyntaxTreeVisitor.visit(method_call _method_call) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 3284
в PascalABCCompiler.SyntaxTree.method_call.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 15347
в CodeCompletion.DomSyntaxTreeVisitor.visit(dot_node _dot_node) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 2888
в PascalABCCompiler.SyntaxTree.dot_node.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 14519
в CodeCompletion.DomSyntaxTreeVisitor.visit(procedure_call _procedure_call) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 4036
в PascalABCCompiler.SyntaxTree.procedure_call.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 22005
в CodeCompletion.DomSyntaxTreeVisitor.visit(statement_list _statement_list) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 183
в PascalABCCompiler.SyntaxTree.statement_list.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 752
в CodeCompletion.DomSyntaxTreeVisitor.visit(program_module _program_module) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 2747
в PascalABCCompiler.SyntaxTree.program_module.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 13211
в CodeCompletion.DomSyntaxTreeVisitor.Convert(compilation_unit cu) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 60
Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать размер коллекции.
Имя параметра: index
в System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
в System.Collections.Generic.List`1.get_Item(Int32 index)
в CodeCompletion.CompiledScope.GetInstance(List`1 gen_args, Boolean exact) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 5661
в CodeCompletion.ProcScope.GetInstance(List`1 gen_args) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 2416
в CodeCompletion.DomSyntaxTreeVisitor.select_method(SymScope[] meths, TypeScope tleft, TypeScope tright, TypeScope obj, Boolean obj_instanced, List`1 arg_types, expression[] args) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 3275
в CodeCompletion.DomSyntaxTreeVisitor.visit(method_call _method_call) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 3334
в PascalABCCompiler.SyntaxTree.method_call.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 15347
в CodeCompletion.DomSyntaxTreeVisitor.visit(dot_node _dot_node) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 2919
в PascalABCCompiler.SyntaxTree.dot_node.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 14519
в CodeCompletion.DomSyntaxTreeVisitor.visit(dot_node _dot_node) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 2888
в PascalABCCompiler.SyntaxTree.dot_node.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 14519
в CodeCompletion.DomSyntaxTreeVisitor.visit(method_call _method_call) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 3284
в PascalABCCompiler.SyntaxTree.method_call.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 15347
в CodeCompletion.DomSyntaxTreeVisitor.visit(dot_node _dot_node) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 2888
в PascalABCCompiler.SyntaxTree.dot_node.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 14519
в CodeCompletion.DomSyntaxTreeVisitor.visit(procedure_call _procedure_call) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 4036
в PascalABCCompiler.SyntaxTree.procedure_call.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 22005
в CodeCompletion.DomSyntaxTreeVisitor.visit(statement_list _statement_list) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 183
в PascalABCCompiler.SyntaxTree.statement_list.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 752
в CodeCompletion.DomSyntaxTreeVisitor.visit(program_module _program_module) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 2747
в PascalABCCompiler.SyntaxTree.program_module.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 13211
в CodeCompletion.DomSyntaxTreeVisitor.Convert(compilation_unit cu) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 60
Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать размер коллекции.
Имя параметра: index
в System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
в System.Collections.Generic.List`1.get_Item(Int32 index)
в CodeCompletion.CompiledScope.GetInstance(List`1 gen_args, Boolean exact) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 5661
в CodeCompletion.ProcScope.GetInstance(List`1 gen_args) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 2416
в CodeCompletion.DomSyntaxTreeVisitor.select_method(SymScope[] meths, TypeScope tleft, TypeScope tright, TypeScope obj, Boolean obj_instanced, List`1 arg_types, expression[] args) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 3275
в CodeCompletion.DomSyntaxTreeVisitor.visit(method_call _method_call) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 3334
в PascalABCCompiler.SyntaxTree.method_call.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 15347
в CodeCompletion.DomSyntaxTreeVisitor.visit(dot_node _dot_node) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 2919
в PascalABCCompiler.SyntaxTree.dot_node.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 14519
в CodeCompletion.DomSyntaxTreeVisitor.visit(dot_node _dot_node) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 2888
в PascalABCCompiler.SyntaxTree.dot_node.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 14519
в CodeCompletion.DomSyntaxTreeVisitor.visit(method_call _method_call) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 3284
в PascalABCCompiler.SyntaxTree.method_call.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 15347
в CodeCompletion.DomSyntaxTreeVisitor.visit(dot_node _dot_node) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 2888
в PascalABCCompiler.SyntaxTree.dot_node.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 14519
в CodeCompletion.DomSyntaxTreeVisitor.visit(procedure_call _procedure_call) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 4036
в PascalABCCompiler.SyntaxTree.procedure_call.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 22005
в CodeCompletion.DomSyntaxTreeVisitor.visit(statement_list _statement_list) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 183
в PascalABCCompiler.SyntaxTree.statement_list.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 752
в CodeCompletion.DomSyntaxTreeVisitor.visit(program_module _program_module) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 2747
в PascalABCCompiler.SyntaxTree.program_module.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 13211
в CodeCompletion.DomSyntaxTreeVisitor.Convert(compilation_unit cu) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 60
Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать размер коллекции.
Имя параметра: index
в System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
в System.Collections.Generic.List`1.get_Item(Int32 index)
в CodeCompletion.CompiledScope.GetInstance(List`1 gen_args, Boolean exact) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 5661
в CodeCompletion.ProcScope.GetInstance(List`1 gen_args) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 2416
в CodeCompletion.DomSyntaxTreeVisitor.select_method(SymScope[] meths, TypeScope tleft, TypeScope tright, TypeScope obj, Boolean obj_instanced, List`1 arg_types, expression[] args) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 3275
в CodeCompletion.DomSyntaxTreeVisitor.visit(method_call _method_call) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 3334
в PascalABCCompiler.SyntaxTree.method_call.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 15347
в CodeCompletion.DomSyntaxTreeVisitor.visit(dot_node _dot_node) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 2919
в PascalABCCompiler.SyntaxTree.dot_node.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 14519
в CodeCompletion.DomSyntaxTreeVisitor.visit(dot_node _dot_node) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 2888
в PascalABCCompiler.SyntaxTree.dot_node.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 14519
в CodeCompletion.DomSyntaxTreeVisitor.visit(method_call _method_call) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 3284
в PascalABCCompiler.SyntaxTree.method_call.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 15347
в CodeCompletion.DomSyntaxTreeVisitor.visit(dot_node _dot_node) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 2888
в PascalABCCompiler.SyntaxTree.dot_node.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 14519
в CodeCompletion.DomSyntaxTreeVisitor.visit(procedure_call _procedure_call) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 4036
в PascalABCCompiler.SyntaxTree.procedure_call.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 22005
в CodeCompletion.DomSyntaxTreeVisitor.visit(statement_list _statement_list) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 183
в PascalABCCompiler.SyntaxTree.statement_list.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 752
в CodeCompletion.DomSyntaxTreeVisitor.visit(program_module _program_module) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 2747
в PascalABCCompiler.SyntaxTree.program_module.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 13211
в CodeCompletion.DomSyntaxTreeVisitor.Convert(compilation_unit cu) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 60
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.DomSyntaxTreeVisitor.visit(program_module _program_module) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 2743
в PascalABCCompiler.SyntaxTree.program_module.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 13211
в CodeCompletion.DomSyntaxTreeVisitor.Convert(compilation_unit cu) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 60
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.DomSyntaxTreeVisitor.visit(program_module _program_module) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 2743
в PascalABCCompiler.SyntaxTree.program_module.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 13211
в CodeCompletion.DomSyntaxTreeVisitor.Convert(compilation_unit cu) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 60
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.DomSyntaxTreeVisitor.visit(program_module _program_module) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 2743
в PascalABCCompiler.SyntaxTree.program_module.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 13211
в CodeCompletion.DomSyntaxTreeVisitor.Convert(compilation_unit cu) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 60
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.DomSyntaxTreeVisitor.visit(program_module _program_module) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 2743
в PascalABCCompiler.SyntaxTree.program_module.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 13211
в CodeCompletion.DomSyntaxTreeVisitor.Convert(compilation_unit cu) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 60
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.DomSyntaxTreeVisitor.visit(program_module _program_module) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 2743
в PascalABCCompiler.SyntaxTree.program_module.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 13211
в CodeCompletion.DomSyntaxTreeVisitor.Convert(compilation_unit cu) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 60
Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать размер коллекции.
Имя параметра: index
в System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
в System.Collections.Generic.List`1.get_Item(Int32 index)
в CodeCompletion.DomSyntaxTreeVisitor.visit(array_const_new acn) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 5612
в PascalABCCompiler.SyntaxTree.array_const_new.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 54187
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 246
Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать размер коллекции.
Имя параметра: index
в System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
в System.Collections.Generic.List`1.get_Item(Int32 index)
в CodeCompletion.DomSyntaxTreeVisitor.visit(array_const_new acn) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 5612
в PascalABCCompiler.SyntaxTree.array_const_new.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 54187
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 246
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 7968
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 560
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 7968
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 560
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 7968
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 560
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 7968
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 560
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 7968
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 560
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 7968
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 560
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 7968
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 560
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 7968
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 560
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 7968
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 560
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 7968
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 560
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 7968
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 560
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 7968
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 560
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 7968
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 560
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 7968
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 560
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 7968
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 560
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 7968
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 560
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 7968
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 560
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 7968
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 560
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 7968
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 560
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 7968
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 560
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 7968
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 560
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 7968
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 560
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 7968
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 560
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 7968
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 560
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 7968
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 560
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 7968
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 560
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 7968
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 560
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 7968
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 560
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 7968
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 560
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 7968
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 560
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 7968
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 560
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 7968
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 560
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 7968
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 560
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 7968
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 560
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 7968
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 560
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 7968
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 560
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 7968
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 560
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.DomSyntaxTreeVisitor.visit(program_module _program_module) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 3019
в PascalABCCompiler.SyntaxTree.program_module.visit(IVisitor visitor) в D:\PABC_Git\SyntaxTree\tree\Tree.cs:строка 13211
в CodeCompletion.DomSyntaxTreeVisitor.Convert(compilation_unit cu) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 63
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561
Ссылка на объект не указывает на экземпляр объекта.
в CodeCompletion.UnknownScope.IsEqual(SymScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 8077
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 410
в CodeCompletion.SymScope.GetExtensionMethods(TypeScope ts, String name) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 482
в CodeCompletion.SymScope.GetExtensionMethods(String name, TypeScope ts) в D:\PABC_Git\CodeCompletion\SymTable.cs:строка 367
в CodeCompletion.DomSyntaxTreeVisitor.visit(bin_expr _bin_expr) в D:\PABC_Git\CodeCompletion\DomSyntaxTreeVisitor.cs:строка 561

1691
bin/Lib/xPT4MakerNetX.pas Normal file

File diff suppressed because it is too large Load diff

1231
bin/Lib/xPT4TaskMakerNET.pas Normal file

File diff suppressed because it is too large Load diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -18,6 +18,6 @@ P.ptCommentQuote{text-align:left;margin-left:120px;margin-top:0px;margin-bottom:
P.ptCommentContinue{text-align:justify;}
P.ptFooter{text-align:right;font-size:10pt;font-style:italic;margin-right:0px;}
SPAN.ptSpecial{font-family:"Arial";}
PRE{font-family:"Courier New";text-align:left;font-size:10pt;text-indent:0px;margin-top:5px; margin-right:10px; margin-bottom:0px; margin-left:60px;}
PRE{text-align:left;font-size:10pt;text-indent:0px;margin-top:5px; margin-right:10px; margin-bottom:0px; margin-left:60px;}
CODE{font-size:10pt;}
P.ptPicture{font-family:Arial, sans-serif;margin-top: 5px;margin-bottom: 5px;margin-left: 60px;font-size: small;color: #000080;text-indent: 0pt;text-align: justify}

View file

@ -1 +1 @@
N“祭¨ª|10PABC2 NC:\Program Files (x86)\PascalABC.NET\PT4 NV8Â˜í«·®®#"%'%&&*&$#"%'%&&*&6b3:'%&&*&$#"%'%8>>674;7?<?8<98<257566:643257566:6
Nmikhail|10PABC1 NC:\Program Files (x86)\PascalABC.NET\PT4 NV82roqrgmo"%'%&&*&$#"%'%&&*&:¢8:'%&&*&$#"%'%=6;<8756>;;;B;88;=@78=>;9;:;8>87@<

View file

@ -1,6 +1,6 @@
PROGRAMMING TASKBOOK FOR PASCALABC.NET
Copyright (c) M. Abramyan, 1998-2018
Copyright (c) M. Abramyan, 1998-2023
LICENSE FOR USE AND DISTRIBUTION

View file

@ -3,7 +3,7 @@ PROGRAMMING TASKBOOK FOR PASCALABC.NET
Электронный задачник по программированию
(версия для системы PascalABC.NET)
Copyright (c) <20>. <20>. <20>בנאל<D790>ם, 1998-2018
Copyright (c) <20>. <20>. <20>בנאל<D790>ם, 1998-2023
ЛИЦЕНЗИОННОЕ СОГЛАШЕНИЕ ОБ ИСПОЛЬЗОВАНИИ И РАСПРОСТРАНЕНИИ

View file

@ -22,6 +22,7 @@ ArrSlice
ArrShift
ArrObj
ObjArray
ZFunc
ZSeries
ZMinmax
ZArray

View file

@ -12,7 +12,6 @@ loadver=4
==cc|вложенные циклы|19
==mix|разные задачи на управляющие операторы|10
==p|процедуры без параметров|10
==ps|процедуры без параметров простые|10
==pp|процедуры с параметрами|8
=DM|Исполнитель Чертежник||%f.pas|uses Drawman;%#%#begin%# Task('%t%n');%#%#end.
==a|вводные задания|6

Binary file not shown.

BIN
bin/PT4/pt4pabc2.dll Normal file

Binary file not shown.

BIN
bin/PT4/xpt4pabc2.dll Normal file

Binary file not shown.