Добавил TurtleABC в стандартные модули для Mono

This commit is contained in:
Mikhalkovich Stanislav 2026-01-15 15:52:32 +03:00
parent f5557fc8cf
commit 834845213b
9 changed files with 26 additions and 16 deletions

View file

@ -30,10 +30,10 @@ namespace PascalABCCompiler
get;
}
SemanticTree.IProgramNode SemanticTree
/*SemanticTree.IProgramNode SemanticTree
{
get;
}
}*/
uint LinesCompiled
{
@ -104,9 +104,11 @@ namespace PascalABCCompiler
void AddWarnings(List<CompilerWarning> WarningList);
SyntaxTree.compilation_unit ParseText(string FileName, string Text, List<Error> ErrorList, List<CompilerWarning> Warnings);
// Не нужно это в интерфейсе! Этого нет в RemoteCompiler!
// SyntaxTree.compilation_unit ParseText(string FileName, string Text, List<Error> ErrorList, List<CompilerWarning> Warnings);
string GetSourceFileText(string FileName);
// Не нужно это в интерфейсе! Этого нет в RemoteCompiler!
// string GetSourceFileText(string FileName);
CompilerType CompilerType
{

View file

@ -549,8 +549,9 @@ namespace PascalABCCompiler
throw new NotSupportedException();
}
}
public PascalABCCompiler.SyntaxTree.compilation_unit ParseText(string FileName, string Text, List<PascalABCCompiler.Errors.Error> ErrorList, List<CompilerWarning> Warnings)
// SSM 2026 Исключил это из ICompiler
/*public PascalABCCompiler.SyntaxTree.compilation_unit ParseText(string FileName, string Text, List<PascalABCCompiler.Errors.Error> ErrorList, List<CompilerWarning> Warnings)
{
throw new NotSupportedException();
}
@ -558,7 +559,7 @@ namespace PascalABCCompiler
public string GetSourceFileText(string FileName)
{
throw new NotSupportedException();
}
}*/
public PascalABCCompiler.SemanticTreeConverters.SemanticTreeConvertersController SemanticTreeConvertersController
{

View file

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

View file

@ -1,4 +1,4 @@
%MINOR%=11
%REVISION%=3733
%COREVERSION%=0
%REVISION%=3736
%MINOR%=11
%MAJOR%=3

View file

@ -1 +1 @@
3.11.0.3733
3.11.0.3736

View file

@ -1 +1 @@
!define VERSION '3.11.0.3733'
!define VERSION '3.11.0.3736'

View file

@ -1,6 +1,6 @@
uses
PABCSystem, PABCExtensions, __RedirectIOMode, __RunMode,
GraphABC,GraphABCHelper,
GraphABC,GraphABCHelper, ABCObjects,
DMCollect, DMTaskMaker, DMZadan, Drawman, DrawManField,
Robot, RobotField, RobotTaskMaker, RobotZadan,
Events, FilesOperations,
@ -9,7 +9,7 @@
Sockets, Utils, Timers,
Collections, Arrays, Core, ClientServer, Countries,
ABCDatabases,
School, SF
School, SF, TurtleABC
;
begin

View file

@ -11258,6 +11258,15 @@ begin
end;
end;
/// Возвращает первый элемент, удовлетворяющий условию, или значение по умолчанию, если ни одного такого элемента не найдено
function FirstOrDefault<T>(self: sequence of T; pred: T -> boolean; defaultValue: T): T; extensionmethod;
begin
foreach var item in self do
if pred(item) then
Exit(item);
Result := defaultValue;
end;
/// Возвращает произведение элементов последовательности
function Product(Self: sequence of real): real; extensionmethod;
begin

View file

@ -109,7 +109,6 @@ copy bin\Lib\SF.pcu Release\PascalABCNETLinux\Lib\SF.pcu
copy bin\Lib\Speech.pcu Release\PascalABCNETLinux\Lib\Speech.pcu
copy bin\Lib\Tasks.pcu Release\PascalABCNETLinux\Lib\Tasks.pcu
copy bin\Lib\Timers.pcu Release\PascalABCNETLinux\Lib\Timers.pcu
copy bin\Lib\Turtle.pcu Release\PascalABCNETLinux\Lib\Turtle.pcu
copy bin\Lib\TurtleABC.pcu Release\PascalABCNETLinux\Lib\TurtleABC.pcu
copy bin\Lib\ABCDatabases.pas Release\PascalABCNETLinux\LibSource\ABCDatabases.pas
@ -145,7 +144,6 @@ copy bin\Lib\Sounds.pas Release\PascalABCNETLinux\LibSource\Sounds.pas
copy bin\Lib\Speech.pas Release\PascalABCNETLinux\LibSource\Speech.pas
copy bin\Lib\Tasks.pas Release\PascalABCNETLinux\LibSource\Tasks.pas
copy bin\Lib\Timers.pas Release\PascalABCNETLinux\LibSource\Timers.pas
copy bin\Lib\Turtle.pas Release\PascalABCNETLinux\LibSource\Turtle.pas
copy bin\Lib\TurtleABC.pas Release\PascalABCNETLinux\LibSource\TurtleABC.pas
copy bin\Lib\TwoPanelsWindow.pas Release\PascalABCNETLinux\LibSource\TwoPanelsWindow.pas
copy bin\Lib\XLSX.pas Release\PascalABCNETLinux\LibSource\XLSX.pas