Подготовка к созданию плагина учительского контроля
This commit is contained in:
parent
3b8e54fe1e
commit
75425d6d2e
|
|
@ -15,7 +15,7 @@ internal static class RevisionClass
|
|||
public const string Major = "3";
|
||||
public const string Minor = "8";
|
||||
public const string Build = "3";
|
||||
public const string Revision = "3121";
|
||||
public const string Revision = "3123";
|
||||
|
||||
public const string MainVersion = Major + "." + Minor;
|
||||
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
%MINOR%=8
|
||||
%REVISION%=3121
|
||||
%REVISION%=3123
|
||||
%COREVERSION%=3
|
||||
%MAJOR%=3
|
||||
|
|
|
|||
12
InstallerSamples/Algorithms/Recursion/Golomb.pas
Normal file
12
InstallerSamples/Algorithms/Recursion/Golomb.pas
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
// Последовательность Голомба G(n) - это такая единственная неубывающая последовательность
|
||||
// натуральных чисел, в которой n появляется ровно G(n) раз
|
||||
// 1 2 2 3 3 4 4 4 5 5 5 6 6 6 6 …
|
||||
// Без кеширования время выполнения огромное за счет повторяющихся рекурсивных вызовов
|
||||
[Cache]
|
||||
function G(n: int64): int64 := n = 1 ? 1 : 1 + G(n - G(G(n - 1)));
|
||||
|
||||
begin
|
||||
var n := 100000;
|
||||
(1..n).Sum(i -> G(i)).Print;
|
||||
Milliseconds.Print;
|
||||
end.
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
// This CSharp output file generated by Gardens Point LEX
|
||||
// Version: 1.1.3.301
|
||||
// Machine: DESKTOP-G8V08V4
|
||||
// DateTime: 08.05.2022 19:51:09
|
||||
// DateTime: 10.05.2022 19:00:28
|
||||
// UserName: ?????????
|
||||
// GPLEX input file <ABCPascal.lex>
|
||||
// GPLEX frame file <embedded resource>
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
// GPPG version 1.3.6
|
||||
// Machine: DESKTOP-G8V08V4
|
||||
// DateTime: 08.05.2022 19:51:10
|
||||
// DateTime: 10.05.2022 19:00:28
|
||||
// UserName: ?????????
|
||||
// Input file <ABCPascal.y>
|
||||
|
||||
|
|
|
|||
|
|
@ -358,5 +358,6 @@ script=
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -64,7 +64,9 @@ namespace VisualPascalABCPlugins
|
|||
ProcessExited
|
||||
}
|
||||
public delegate void ChangeVisualEnvironmentStateDelegate(VisualEnvironmentState State, object obj);
|
||||
|
||||
// SSM 16/05/22 - ïåðåíåñ ñþäà èç RunManager
|
||||
public delegate void RunnerManagerActionDelegate(string fileName);
|
||||
|
||||
public enum SourceLocationAction
|
||||
{
|
||||
SelectAndGotoBeg,
|
||||
|
|
@ -293,6 +295,8 @@ namespace VisualPascalABCPlugins
|
|||
|
||||
public interface IWorkbenchRunService
|
||||
{
|
||||
event RunnerManagerActionDelegate Starting; // ìîæíî âûçûâàòü èç ïëàãèíà
|
||||
event RunnerManagerActionDelegate Exited; // ìîæíî âûçûâàòü èç ïëàãèíà
|
||||
bool IsRun();
|
||||
bool IsRun(string FileName);
|
||||
bool Run(bool RedirectConsoleIO);
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
3.8.3.3121
|
||||
3.8.3.3123
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
!define VERSION '3.8.3.3121'
|
||||
!define VERSION '3.8.3.3123'
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ using System.Text;
|
|||
using PascalABCCompiler.Errors;
|
||||
using System.IO;
|
||||
using System.Diagnostics;
|
||||
using VisualPascalABCPlugins;
|
||||
|
||||
namespace VisualPascalABC
|
||||
{
|
||||
|
|
@ -204,8 +205,6 @@ namespace VisualPascalABC
|
|||
*/
|
||||
}
|
||||
|
||||
|
||||
public delegate void RunnerManagerActionDelegate(string fileName);
|
||||
public event RunnerManagerActionDelegate Exited;
|
||||
public event RunnerManagerActionDelegate Starting;
|
||||
|
||||
|
|
|
|||
|
|
@ -90,8 +90,8 @@ namespace VisualPascalABC
|
|||
this.DebugHelper = DebugHelper;
|
||||
DebugHelper.Starting += new DebugHelper.DebugHelperActionDelegate(DebugHelper_Starting);
|
||||
DebugHelper.Exited += new DebugHelper.DebugHelperActionDelegate(DebugHelper_Exited);
|
||||
RunnerManager.Starting += new RunManager.RunnerManagerActionDelegate(RunnerManager_Starting);
|
||||
RunnerManager.Exited += new RunManager.RunnerManagerActionDelegate(RunnerManager_Exited);
|
||||
RunnerManager.Starting += new RunnerManagerActionDelegate(RunnerManager_Starting);
|
||||
RunnerManager.Exited += new RunnerManagerActionDelegate(RunnerManager_Exited);
|
||||
this.CodeCompletionParserController = WorkbenchServiceFactory.CodeCompletionParserController;
|
||||
this.CodeCompletionParserController.visualEnvironmentCompiler = this;
|
||||
this.UserOptions = UserOptions;
|
||||
|
|
|
|||
|
|
@ -30,12 +30,36 @@ namespace VisualPascalABC
|
|||
private Dictionary<string, string> RunArgumentsTable = new Dictionary<string, string>();
|
||||
bool RunActiveTabPage = false;
|
||||
|
||||
// SSM 16/05/22 - добавил чтобы иметь возможность добавлять обработчики во внешнем плагине
|
||||
public event RunnerManagerActionDelegate Starting
|
||||
{
|
||||
add
|
||||
{
|
||||
RunnerManager.Starting += value;
|
||||
}
|
||||
remove
|
||||
{
|
||||
RunnerManager.Starting -= value;
|
||||
}
|
||||
}
|
||||
public event RunnerManagerActionDelegate Exited
|
||||
{
|
||||
add
|
||||
{
|
||||
RunnerManager.Exited += value;
|
||||
}
|
||||
remove
|
||||
{
|
||||
RunnerManager.Exited -= value;
|
||||
}
|
||||
}
|
||||
|
||||
public WorkbenchRunService()
|
||||
{
|
||||
Workbench = WorkbenchServiceFactory.Workbench;
|
||||
RunnerManager = new RunManager(ReadStringRequest);
|
||||
RunnerManager.Exited += new RunManager.RunnerManagerActionDelegate(RunnerManager_Exited);
|
||||
RunnerManager.Starting += new RunManager.RunnerManagerActionDelegate(RunnerManager_Started);
|
||||
RunnerManager.Exited += new RunnerManagerActionDelegate(RunnerManager_Exited);
|
||||
RunnerManager.Starting += new RunnerManagerActionDelegate(RunnerManager_Started);
|
||||
RunnerManager.OutputStringReceived += new RunManager.TextRecivedDelegate(RunnerManager_OutputStringReceived);
|
||||
RunnerManager.RunnerManagerUnhanledRuntimeException += new RunManager.RunnerManagerUnhanledRuntimeExceptionDelegate(RunnerManager_RunnerManagerUnhanledRuntimeException);
|
||||
DesignerService = WorkbenchServiceFactory.DesignerService;
|
||||
|
|
|
|||
Loading…
Reference in a new issue