From 5d4f516a2836a307ab61298b3d96c20a81324634 Mon Sep 17 00:00:00 2001 From: Nitload Date: Tue, 4 Mar 2025 07:05:23 +0800 Subject: [PATCH] Daily update on 20250304-070522 by Nitload Youmu. Additional Message : None Signed-off-by: Nitload --- StgSharp.C/x64/Debug/StgSharp.C.ilk | Bin 2015000 -> 2023224 bytes .../Debug/StgSharp.C.tlog/CL.command.1.tlog | Bin 10872 -> 10872 bytes .../x64/Debug/StgSharp.C.tlog/CL.read.1.tlog | Bin 222598 -> 222988 bytes ...{CL.13144.write.1.tlog => CL.write.1.tlog} | Bin 14700 -> 15460 bytes .../Debug/StgSharp.C.tlog/link.read.1.tlog | Bin 8864 -> 8410 bytes StgSharp.C/x64/Debug/StgSharpC.cod | 1 - StgSharp.C/x64/Debug/StgSharpC.log | 51 ---------- StgSharp.C/x64/Debug/StgSharpC.obj | Bin 137286 -> 137205 bytes StgSharp.C/x64/Debug/StgSharpC.sbr | Bin 2215295 -> 2215295 bytes StgSharp.C/x64/Debug/vc143.idb | Bin 347136 -> 347136 bytes StgSharp.C/x64/Debug/vc143.pdb | Bin 241664 -> 241664 bytes StgSharp.Common/Logic/Blueprint/Blueprint.cs | 41 +++----- .../Logic/Blueprint/BlueprintNodeCraeater.cs | 2 +- .../Logic/Blueprint/BlueprintRunner.cs | 59 +++++------ .../Blueprint/CrossFrameBlueprintNode.cs | 24 ++--- .../Blueprint/IConvertableToBlueprintNode.cs | 24 +++-- StgSharp.Common/Logic/Blueprint/SideNode.cs | 26 ++--- .../net8.0/StgSharp.Common.AssemblyInfo.cs | 2 +- .../net8.0/StgSharp.Common.sourcelink.json | 2 +- .../STEP/FileStructure/StepModel.cs | 24 ++--- .../net8.0/StgSharp.Model.AssemblyInfo.cs | 2 +- .../net8.0/StgSharp.Model.sourcelink.json | 2 +- .../Express/Builtin/ExpBuiltinConstant.cs | 15 ++- .../Express/Builtin/ExpCollection.cs | 6 -- .../Express/Builtin/ExpCollectionInstance.cs | 3 +- StgSharp.Script/Express/Builtin/ExpLogic.cs | 92 +++++++++++++----- .../Express/CompileEnv/DefaultSchema.cs | 9 +- .../ExpAstNode/ExpElementInstanceNode.cs | 59 +++++++++++ .../Express/ExpAstNode/ExpIndexOfNode.cs | 18 +++- .../ExpAstNode/ExpLiteralGenericNode.cs | 2 +- .../ExpAstNode/ExpUnaryOperatorNode.cs | 16 ++- StgSharp.Script/Express/ExpSourceReader.cs | 8 +- .../Express/NodeGenerator/ExpNodeGenerator.cs | 10 +- .../NodeGenerator/GenerateUnaryToken.cs | 3 +- .../net8.0/StgSharp.Script.AssemblyInfo.cs | 2 +- .../net8.0/StgSharp.Script.sourcelink.json | 2 +- StgSharpDebug/Program.cs | 21 ++-- .../net8.0/StgSharpDebug.AssemblyInfo.cs | 2 +- .../StgSharpDebug.csproj.FileListAbsolute.txt | 2 - .../net8.0/StgSharpDebug.sourcelink.json | 2 +- 40 files changed, 299 insertions(+), 233 deletions(-) rename StgSharp.C/x64/Debug/StgSharp.C.tlog/{CL.13144.write.1.tlog => CL.write.1.tlog} (91%) create mode 100644 StgSharp.Script/Express/ExpAstNode/ExpElementInstanceNode.cs diff --git a/StgSharp.C/x64/Debug/StgSharp.C.ilk b/StgSharp.C/x64/Debug/StgSharp.C.ilk index 5abde768cf9c340a219e803bb25e002ff329ea65..2d937e51ce5427abe28fae2f9df163b989343ed2 100644 GIT binary patch delta 36853 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 delta 34654 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 diff --git a/StgSharp.C/x64/Debug/StgSharp.C.tlog/CL.command.1.tlog b/StgSharp.C/x64/Debug/StgSharp.C.tlog/CL.command.1.tlog index 4239242a3496c9a5d5c561f5df575a38d4a772c4..fb20d913f524319b3fe3deeba3d055d2618630fb 100644 GIT binary patch delta 21 dcmewn@*`x!1nJFX@=V;5v-l@$o**5@3;=Fb2%G=_ delta 25 hcmewn@*`x!1nJ2E{4AT*)PtBOXYo(iJVBa?8vu>R2}S?_ diff --git a/StgSharp.C/x64/Debug/StgSharp.C.tlog/CL.read.1.tlog b/StgSharp.C/x64/Debug/StgSharp.C.tlog/CL.read.1.tlog index 70e4cda14819c0918455d6a9188ccd53f96695a0..1f9640cd2121362b32c6ff6d41a9306bdc8d4f0f 100644 GIT binary patch delta 212 zcmZoW&D(R1x1oixg=q`(I?;G%1}labhHwT?20sQD27e$c7|3^L@By-&7#xALCqopF z4gu2sKs7Nyd4Gl=Fy9ZT4#9U}aAj}kk0Y CQYL)> delta 25 hcmeA<$J=(Ax1oixg=q`(I??GG*-R5Q#|3%#0|0`Q34s6r diff --git a/StgSharp.C/x64/Debug/StgSharp.C.tlog/CL.13144.write.1.tlog b/StgSharp.C/x64/Debug/StgSharp.C.tlog/CL.write.1.tlog similarity index 91% rename from StgSharp.C/x64/Debug/StgSharp.C.tlog/CL.13144.write.1.tlog rename to StgSharp.C/x64/Debug/StgSharp.C.tlog/CL.write.1.tlog index a3e06b10cc163bf32e74159b193a4ffeea146c03..b74a02326243739bf765c6307bda9fcfbd669fb9 100644 GIT binary patch delta 71 zcmaD;^rT|Kq{#~`SSAMu2u+@4vS+fG+M>x0raY{k3@!{#lLgh5Z$7}O$23`ocgpF diff --git a/StgSharp.C/x64/Debug/StgSharp.C.tlog/link.read.1.tlog b/StgSharp.C/x64/Debug/StgSharp.C.tlog/link.read.1.tlog index e095cc747511698b0853eadf14a05c9f92d0ba96..13964ded5cb690b4c57bcd01fcb422ba7a2f1907 100644 GIT binary patch delta 18 ZcmZ4BddqQxlEP#^slG{^Vv~E6L;yw627&+p delta 141 zcmccRxWILTlEUNy0fotIa&5Lw44w>r3^5EI4E_wk3?U2=3}y@_Kt7B%VlZGZWiSGY y_<&V D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\build\StgSharp.C.dll diff --git a/StgSharp.C/x64/Debug/StgSharpC.obj b/StgSharp.C/x64/Debug/StgSharpC.obj index 9a374b1ee41b5566d914b4b8819da5286887d28d..ffdf9b766cb5348effc5bb55bd6f02a04051b04f 100644 GIT binary patch delta 6935 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 delta 6985 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 delta 1569 zcmYjRZAe>J7|!`nuXv3q)|p~twoR#R?5vxDg9^&hO<4y~>(p`!7CP#nLY$VR(`dSy z#%+EiIo7MNfw~wAv!Gm?+k!u8H@lWqP|zP`Zmq+Du61;j(7pqiOr~l8X95WDeKuWolZ0Hh#D`6(Z~fb;WzwI?OBTx_-ear z^E8?zW7mt>+LJx{o;>^$(dcjSl<-r^sLP7dShnjsWM-Q#2eWx4W~;Qrs;tt1WYz>| zX2XDKY+lH}3O>7v^A%N&Lo)9WzVt+6P>>(|vHpg;^Lw-;36+2#v~Omk!f!#~v#MH= zuddn-(Y@71_9?Mism|9aMe$5wA-U~hE_A!V((mTgOuG&Hb>L)H)Xce40(+Z{xKEnx zpxN;Oue1a(jlD1MGN8=n1ivNZT`fkeV=cUr<`!=I#WuItVwcU^ZG4z&GDUL`4SRAR z=57zSdk4_W&I=qDxCAJ(e>}CItvP=Y$?DYu1WeWYVqyg!fnF^*2%K3xX-uE+DUGdx z%B-#(B8%VLJs0!8*SETE)>ze6ZnjF?pFo~hb81;f%EMbfv@m# z{+z&3uhHbPS8QgugNNPM!3`=qxbX_eW`;U>B9sq_c>2P8NN-l_VGYV@P@2{0e6ly} zqdGl|;%UkMAF-_d06cRCB#2eiWh86tGEQ!wi{GgmT|C>PZJpKc5~u3+^HZJkbKRD| z7VM5*;!QPQ;__V~{|+d#-2o%&@qiK47vMdN2e@u2@R~+PTohbtBHZz6k74|<$1s-1 zUBI5~HP~P;cfHoj6RiQ7S!y4bUk8-gdjdm!JkDmH;bH4H;*|Gu&!!1}yz~8r?yvsS z&;Lpn+8Lg)fiioB2dofyE@&8D3GzF+5agO?fHK<`;&LUR%)BAPYAVEcYejGqMtBD4wpa|3cqnQ%4i@ zw@dL2AU!Ca#41+{*`bAGy`&s}O$Kd5d0zQ-L}SPB3lGc&vPOq6jZ$oj)!|kQ*Y?o~ zyjN|#jjj6B7G zwO`-wBllAV2XMV!--9PoqVSAHKZmZ%VLJwhlC3Lq*pi^0y@e&!a|;)%leh5^ePawO OH~=-kAW#dP{rEo*fcFLf diff --git a/StgSharp.C/x64/Debug/vc143.pdb b/StgSharp.C/x64/Debug/vc143.pdb index f6a7c48fe813dfdab454a853cc2eeea9da7ddd78..d0b707253a80b2a01ed7c7055669c586064a5916 100644 GIT binary patch delta 152 zcmZp8z}N7AZ-U9T1`pA4S{TsI^OBJ z0?geSLO>=T5c31E01z7kF*6YB1F-=R^8m3R5O02PK!Jam0kgoO3j*5$m^l;}!OoNx e-~<_F4#bAjbsLyhvkC*5CL0}<`Ik*#RsaCd&Nxm0 diff --git a/StgSharp.Common/Logic/Blueprint/Blueprint.cs b/StgSharp.Common/Logic/Blueprint/Blueprint.cs index e4540b9c..a46b1946 100644 --- a/StgSharp.Common/Logic/Blueprint/Blueprint.cs +++ b/StgSharp.Common/Logic/Blueprint/Blueprint.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- //----------------------------------------------------------------------- -// file="BlueprintSchedueler.cs" +// file="Blueprint.cs" // Project: StgSharp // AuthorGroup: Nitload Space // Copyright (c) Nitload Space. All rights reserved. @@ -28,27 +28,19 @@ // //----------------------------------------------------------------------- //----------------------------------------------------------------------- -using StgSharp; - using System; using System.Collections.Generic; using System.Linq; -using System.Linq.Expressions; -using System.Reflection; using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; -using System.Text; using System.Threading; -using System.Threading.Tasks; -using System.Xml.Serialization; namespace StgSharp.Blueprint { /// /// A sets of complex logic designed for running in multi threads environment. Warning: do not - /// run a instance in multi threads more than once. + /// run a instance in multi threads more than once. /// - public partial class BlueprintSchedueler : IConvertableToBlueprintNode + public partial class BlueprintScheduler : IConvertableToBlueprintNode { private BeginningNode beginNode; @@ -64,7 +56,7 @@ namespace StgSharp.Blueprint internal int currentGlobalNodeIndex; internal int currentNativeNodeIndex; - public BlueprintSchedueler() + public BlueprintScheduler() { allNode = new Dictionary(); globalNodeList = new List(); @@ -78,23 +70,24 @@ namespace StgSharp.Blueprint public BlueprintNode EndLayer => endNode; + public BlueprintNodeOperation Operation + { + get => ExecuteMain; + } + public bool IsRunning { get => runningStat.CurrentCount == 0; } - public ReadOnlySpan InputInterfacesName + public IEnumerable InputInterfacesName { - get { return beginNode.OutputInterfaces - .Select( p => p.Key ) - .ToArray(); } + get { return beginNode.OutputInterfaces.Keys; } } - public ReadOnlySpan OutputInterfacesName + public IEnumerable OutputInterfacesName { - get { return beginNode.OutputInterfaces - .Select( p => p.Key ) - .ToArray(); } + get { return beginNode.OutputInterfaces.Keys; } } /**/ @@ -112,7 +105,6 @@ namespace StgSharp.Blueprint allNode.Add( node.Name, node ); } - public void ExecuteMain( in Dictionary input, in Dictionary output ) @@ -120,11 +112,6 @@ namespace StgSharp.Blueprint BlueprintRunner.Run( this ); } - public BlueprintNodeOperation Operation - { - get => ExecuteMain; - } - [MethodImpl( MethodImplOptions.AggressiveInlining )] public (string name, BlueprintPipelineArgs arg)[] GetOutput() { @@ -179,7 +166,7 @@ namespace StgSharp.Blueprint return false; } - ~BlueprintSchedueler() + ~BlueprintScheduler() { runningStat.Dispose(); } diff --git a/StgSharp.Common/Logic/Blueprint/BlueprintNodeCraeater.cs b/StgSharp.Common/Logic/Blueprint/BlueprintNodeCraeater.cs index 0f6826a2..b0a888e4 100644 --- a/StgSharp.Common/Logic/Blueprint/BlueprintNodeCraeater.cs +++ b/StgSharp.Common/Logic/Blueprint/BlueprintNodeCraeater.cs @@ -34,7 +34,7 @@ using System.Text; namespace StgSharp.Blueprint { - public partial class BlueprintSchedueler + public partial class BlueprintScheduler { public BlueprintNode CreateBlueprintNode( diff --git a/StgSharp.Common/Logic/Blueprint/BlueprintRunner.cs b/StgSharp.Common/Logic/Blueprint/BlueprintRunner.cs index e2209255..756f387c 100644 --- a/StgSharp.Common/Logic/Blueprint/BlueprintRunner.cs +++ b/StgSharp.Common/Logic/Blueprint/BlueprintRunner.cs @@ -47,32 +47,28 @@ namespace StgSharp.Blueprint public static class BlueprintRunner { - private static NodeRunner[] allAvailableTask = CreateBlueprintRunnerArray(); - private static CancellationTokenSource cts = new CancellationTokenSource(); - private static ConcurrentStack blueprintInWaiting - = new ConcurrentStack(); + private static NodeRunner[] allAvailableTask = CreateBlueprintRunnerArray( + ); + private static CancellationTokenSource cts = new CancellationTokenSource( + ); + private static ConcurrentStack blueprintInWaiting + = new ConcurrentStack(); private static int _callingThread; private static SemaphoreSlim bpLock = new SemaphoreSlim( 0, 1 ); - private static NodeRunner[] CreateBlueprintRunnerArray() - { - int count = Environment.ProcessorCount; - return new NodeRunner[ count < 2 ? count : count - 2]; - } - /// - /// Only the fallowing occasions of calling are valid: - /// 1. no bp is running or the only bp is quitting. - /// 2. calling from the main thread and the current running bp. + /// Only the fallowing occasions of calling are valid: 1. no bp is running or the only bp is + /// quitting. 2. calling from the main thread and the current running bp. /// internal static bool IsValidCalling { get { if( ( NodeRunner.CurrentBlueprint == null ) || //no bp running at all - ( ( blueprintInWaiting.IsEmpty ) && ( NodeRunner.CurrentBlueprint.IsRunning == false ) ) ) - // a bp is quiting - { + ( ( blueprintInWaiting.IsEmpty ) && ( NodeRunner.CurrentBlueprint.IsRunning == + false ) ) ) + // a bp is quiting + { //in case no bp is running return true; } @@ -91,7 +87,7 @@ namespace StgSharp.Blueprint } } - public static void Run(BlueprintSchedueler blueprint) + public static void Run( BlueprintScheduler blueprint ) { //Console.WriteLine(); if( blueprint == null ) { @@ -104,14 +100,13 @@ namespace StgSharp.Blueprint if( IsValidCalling ) { //Console.WriteLine("valid and run"); if( InterruptAndRunNewBp( blueprint ) ) { - while (InterruptAndRunNewBp( - NodeRunner.CurrentBlueprint )){ }; + while( InterruptAndRunNewBp( NodeRunner.CurrentBlueprint ) ) { } + ; } } else { bpLock.Wait(); if( InterruptAndRunNewBp( blueprint ) ) { - while (InterruptAndRunNewBp( - NodeRunner.CurrentBlueprint)) { } + while( InterruptAndRunNewBp( NodeRunner.CurrentBlueprint ) ) { } } bpLock.Release(); @@ -141,16 +136,17 @@ namespace StgSharp.Blueprint foreach( NodeRunner task in allAvailableTask ) { task.Cts.Cancel(); } - foreach( BlueprintSchedueler bp in blueprintInWaiting ) { + foreach( BlueprintScheduler bp in blueprintInWaiting ) { bp.Terminate(); } blueprintInWaiting.Clear(); } - internal static bool InterruptAndRunNewBp( BlueprintSchedueler newBp ) + internal static bool InterruptAndRunNewBp( BlueprintScheduler newBp ) { Debug.Assert( newBp != null ); - if( ( newBp != NodeRunner.CurrentBlueprint ) && ( NodeRunner.CurrentBlueprint != null ) ) { + if( ( newBp != NodeRunner.CurrentBlueprint ) && ( NodeRunner.CurrentBlueprint != + null ) ) { //if a running bp exists blueprintInWaiting.Push( NodeRunner.CurrentBlueprint ); } @@ -162,7 +158,8 @@ namespace StgSharp.Blueprint //run beginning node to init it first. if( !NodeRunner.CurrentBlueprint.IsRunning ) { - ( NodeRunner.CurrentBlueprint.BeginLayer as BeginningNode )!.Run(); + ( NodeRunner.CurrentBlueprint.BeginLayer as BeginningNode )!.Run( + ); } //refresh all tasks @@ -174,7 +171,7 @@ namespace StgSharp.Blueprint } BlueprintNode node; while( !cts.Token.IsCancellationRequested && NodeRunner.CurrentBlueprint - .RequestNextNativeNode( out node ) ) { + .RequestNextNativeNode( out node ) ) { node.Run(); if( !NodeRunner.CurrentBlueprint.IsRunning ) { break; @@ -184,12 +181,18 @@ namespace StgSharp.Blueprint return blueprintInWaiting.TryPeek( out NodeRunner.CurrentBlueprint ); } + private static NodeRunner[] CreateBlueprintRunnerArray() + { + int count = Environment.ProcessorCount; + return new NodeRunner[ count < 2 ? count : count - 2]; + } + } internal class NodeRunner : CancellableTask { - private static BlueprintSchedueler _current; + private static BlueprintScheduler _current; internal NodeRunner() : base() @@ -197,7 +200,7 @@ namespace StgSharp.Blueprint _startup = InternalRun; } - internal static ref BlueprintSchedueler CurrentBlueprint + internal static ref BlueprintScheduler CurrentBlueprint { get => ref _current; } diff --git a/StgSharp.Common/Logic/Blueprint/CrossFrameBlueprintNode.cs b/StgSharp.Common/Logic/Blueprint/CrossFrameBlueprintNode.cs index 56039604..d0df4feb 100644 --- a/StgSharp.Common/Logic/Blueprint/CrossFrameBlueprintNode.cs +++ b/StgSharp.Common/Logic/Blueprint/CrossFrameBlueprintNode.cs @@ -40,16 +40,19 @@ namespace StgSharp.Blueprint { public class CrossFrameOperation : IConvertableToBlueprintNode { + + private static string[] _inputName = ["TaskIn"]; + private static string[] _outputName = ["TaskOut"]; + private Action _mainExecution; private int currentCount; private readonly int cycleCount; - private Action _mainExecution; public CrossFrameOperation( Action startup, int cycleCount ) { MainExecution = startup; this.cycleCount = ( cycleCount > 1 ) ? - cycleCount : throw new ArgumentException( - $"{$"The {typeof(CrossFrameOperation).Name} crosses only one cycle, "}{$"please use a {typeof(BlueprintNode).Name} instead."}" ); + cycleCount : throw new ArgumentException( + $"{$"The {typeof(CrossFrameOperation).Name} crosses only one cycle, "}{$"please use a {typeof(BlueprintNode).Name} instead."}" ); this.cycleCount = cycleCount; currentCount = cycleCount; } @@ -60,17 +63,18 @@ namespace StgSharp.Blueprint private protected set => _mainExecution = value; } - private static string[] _inputName = ["TaskIn"]; - private static string[] _outputName = ["TaskOut"]; - public BlueprintNodeOperation Operation { get => ExecuteMain; } + public IEnumerable InputInterfacesName => _inputName; + + public IEnumerable OutputInterfacesName => _outputName; + public void ExecuteMain( - in Dictionary input, - in Dictionary output ) + in Dictionary input, + in Dictionary output ) { if( currentCount < cycleCount ) { Interlocked.Increment( ref currentCount ); @@ -83,9 +87,5 @@ namespace StgSharp.Blueprint BlueprintPipeline.SkipAll( output ); } - public ReadOnlySpan InputInterfacesName => _inputName; - - public ReadOnlySpan OutputInterfacesName => _outputName; - } } diff --git a/StgSharp.Common/Logic/Blueprint/IConvertableToBlueprintNode.cs b/StgSharp.Common/Logic/Blueprint/IConvertableToBlueprintNode.cs index 0b58561e..4bebf863 100644 --- a/StgSharp.Common/Logic/Blueprint/IConvertableToBlueprintNode.cs +++ b/StgSharp.Common/Logic/Blueprint/IConvertableToBlueprintNode.cs @@ -36,22 +36,26 @@ using System.Text; namespace StgSharp.Blueprint { public delegate void BlueprintNodeOperation( - in Dictionary input, - in Dictionary output ); + in Dictionary input, + in Dictionary output ); public interface IConvertableToBlueprintNode { - public ReadOnlySpan InputInterfacesName + + BlueprintNodeOperation Operation { get; } - public ReadOnlySpan OutputInterfacesName + public IEnumerable InputInterfacesName { get; } - BlueprintNodeOperation Operation { get; } + public IEnumerable OutputInterfacesName + { + get; + } } @@ -63,9 +67,9 @@ namespace StgSharp.Blueprint private BlueprintNodeOperation _execution; public DefaultConvertableToBlueprintNode( - BlueprintNodeOperation execution, - string[] input, - string[] output ) + BlueprintNodeOperation execution, + string[] input, + string[] output ) { _input = input; _output = output; @@ -74,9 +78,9 @@ namespace StgSharp.Blueprint public BlueprintNodeOperation Operation => _execution; - public ReadOnlySpan InputInterfacesName => _input; + public IEnumerable InputInterfacesName => _input; - public ReadOnlySpan OutputInterfacesName => _output; + public IEnumerable OutputInterfacesName => _output; } } diff --git a/StgSharp.Common/Logic/Blueprint/SideNode.cs b/StgSharp.Common/Logic/Blueprint/SideNode.cs index 131716a5..44f5650e 100644 --- a/StgSharp.Common/Logic/Blueprint/SideNode.cs +++ b/StgSharp.Common/Logic/Blueprint/SideNode.cs @@ -42,10 +42,12 @@ namespace StgSharp.Blueprint internal sealed class BeginningNode : BlueprintNode { - private BlueprintSchedueler _bp; + private BlueprintScheduler _bp; - public BeginningNode( BlueprintSchedueler bp ) - : base(DefaultOperation, name: "BeginningNode", true, ["default"], ["default"] ) + public BeginningNode( BlueprintScheduler bp ) + : base( + DefaultOperation, name: "BeginningNode", true, ["default"], + ["default"] ) { _bp = bp; } @@ -70,8 +72,8 @@ namespace StgSharp.Blueprint } public new void SetCertainOutputPort( - string name, - BlueprintPipeline pipeline ) + string name, + BlueprintPipeline pipeline ) { if( _outputInterfaces.ContainsKey( name ) ) { _outputInterfaces[ name ] = pipeline; @@ -84,10 +86,12 @@ namespace StgSharp.Blueprint internal sealed class EndingNode : BlueprintNode { - private BlueprintSchedueler _bp; + private BlueprintScheduler _bp; - public EndingNode( BlueprintSchedueler bp ) - : base(DefaultOperation, name: "EndingNode", true, ["default"], ["default"] ) + public EndingNode( BlueprintScheduler bp ) + : base( + DefaultOperation, name: "EndingNode", true, ["default"], + ["default"] ) { _bp = bp; } @@ -96,7 +100,7 @@ namespace StgSharp.Blueprint { get { return InputInterfaces.Select( key => (key.Key, key.Value.Args) ) - .ToArray(); } + .ToArray(); } } public override void Run() @@ -108,8 +112,8 @@ namespace StgSharp.Blueprint } public new void SetCertainInputPort( - string name, - BlueprintPipeline pipeline ) + string name, + BlueprintPipeline pipeline ) { if( _inputInterfaces.ContainsKey( name ) ) { _inputInterfaces[ name ] = pipeline; diff --git a/StgSharp.Common/obj/x64/Debug/net8.0/StgSharp.Common.AssemblyInfo.cs b/StgSharp.Common/obj/x64/Debug/net8.0/StgSharp.Common.AssemblyInfo.cs index bf452b96..34f27741 100644 --- a/StgSharp.Common/obj/x64/Debug/net8.0/StgSharp.Common.AssemblyInfo.cs +++ b/StgSharp.Common/obj/x64/Debug/net8.0/StgSharp.Common.AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("StgSharp.Common")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+83bde12d2227bf32a3b939e94849bbd7273bad21")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+825e68853cd1738287eecc8a4390ee9c78550308")] [assembly: System.Reflection.AssemblyProductAttribute("StgSharp.Common")] [assembly: System.Reflection.AssemblyTitleAttribute("StgSharp.Common")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/StgSharp.Common/obj/x64/Debug/net8.0/StgSharp.Common.sourcelink.json b/StgSharp.Common/obj/x64/Debug/net8.0/StgSharp.Common.sourcelink.json index a48608e3..48222c59 100644 --- a/StgSharp.Common/obj/x64/Debug/net8.0/StgSharp.Common.sourcelink.json +++ b/StgSharp.Common/obj/x64/Debug/net8.0/StgSharp.Common.sourcelink.json @@ -1 +1 @@ -{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/83bde12d2227bf32a3b939e94849bbd7273bad21/*"}} \ No newline at end of file +{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/825e68853cd1738287eecc8a4390ee9c78550308/*"}} \ No newline at end of file diff --git a/StgSharp.Model/STEP/FileStructure/StepModel.cs b/StgSharp.Model/STEP/FileStructure/StepModel.cs index d7eabc58..4cf42896 100644 --- a/StgSharp.Model/STEP/FileStructure/StepModel.cs +++ b/StgSharp.Model/STEP/FileStructure/StepModel.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- //----------------------------------------------------------------------- -// file="STEP.cs" +// file="StepModel.cs" // Project: StgSharp // AuthorGroup: Nitload Space // Copyright (c) Nitload Space. All rights reserved. @@ -38,31 +38,27 @@ namespace StgSharp.Modeling.STEP { public class StepModel { + + private BlueprintScheduler _builder; private Dictionary _node - = new Dictionary( ); - private BlueprintSchedueler _builder; + = new Dictionary(); private StepInfo _header; internal StepModel( - StepInfo header, - Dictionary nodeSource) + StepInfo header, + Dictionary nodeSource ) { _header = header; _node = nodeSource; - _builder = new BlueprintSchedueler(); + _builder = new BlueprintScheduler(); } + public void BuildGeometry() { } + public void OrganizeNode() { - foreach (var node in _node) - { - - } + foreach( KeyValuePair node in _node ) { } } - public void BuildGeometry() - { - - } } } diff --git a/StgSharp.Model/obj/x64/Debug/net8.0/StgSharp.Model.AssemblyInfo.cs b/StgSharp.Model/obj/x64/Debug/net8.0/StgSharp.Model.AssemblyInfo.cs index 11fec859..25b83fdf 100644 --- a/StgSharp.Model/obj/x64/Debug/net8.0/StgSharp.Model.AssemblyInfo.cs +++ b/StgSharp.Model/obj/x64/Debug/net8.0/StgSharp.Model.AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("StgSharp.Model")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+c23b640cae59b9ee7dcfd8f026b8970a084ddbd7")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+825e68853cd1738287eecc8a4390ee9c78550308")] [assembly: System.Reflection.AssemblyProductAttribute("StgSharp.Model")] [assembly: System.Reflection.AssemblyTitleAttribute("StgSharp.Model")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/StgSharp.Model/obj/x64/Debug/net8.0/StgSharp.Model.sourcelink.json b/StgSharp.Model/obj/x64/Debug/net8.0/StgSharp.Model.sourcelink.json index 5cb7415b..48222c59 100644 --- a/StgSharp.Model/obj/x64/Debug/net8.0/StgSharp.Model.sourcelink.json +++ b/StgSharp.Model/obj/x64/Debug/net8.0/StgSharp.Model.sourcelink.json @@ -1 +1 @@ -{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/c23b640cae59b9ee7dcfd8f026b8970a084ddbd7/*"}} \ No newline at end of file +{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/825e68853cd1738287eecc8a4390ee9c78550308/*"}} \ No newline at end of file diff --git a/StgSharp.Script/Express/Builtin/ExpBuiltinConstant.cs b/StgSharp.Script/Express/Builtin/ExpBuiltinConstant.cs index 918e6007..6ecab1c7 100644 --- a/StgSharp.Script/Express/Builtin/ExpBuiltinConstant.cs +++ b/StgSharp.Script/Express/Builtin/ExpBuiltinConstant.cs @@ -32,11 +32,20 @@ using System; namespace StgSharp.Script.Express { - public class ExpBuiltinConstant : ExpLiteralGenericNode + internal partial class ExpSchema_Nitload { - internal ExpBuiltinConstant( string name, T value ) - : base( name, null!, value ) { } + public ExpTypeSource IntType + { + get; + private set; + } + + public ExpTypeSource FloatType + { + get; + private set; + } } } \ No newline at end of file diff --git a/StgSharp.Script/Express/Builtin/ExpCollection.cs b/StgSharp.Script/Express/Builtin/ExpCollection.cs index 18a6373f..76f43b2f 100644 --- a/StgSharp.Script/Express/Builtin/ExpCollection.cs +++ b/StgSharp.Script/Express/Builtin/ExpCollection.cs @@ -68,12 +68,6 @@ namespace StgSharp.Script.Express public abstract IEnumerator GetEnumerator(); - public override sealed bool IsConvertable( - ExpInstantiableElement targetType ) - { - return false; - } - IEnumerator IEnumerable.GetEnumerator() { return GetEnumerator(); diff --git a/StgSharp.Script/Express/Builtin/ExpCollectionInstance.cs b/StgSharp.Script/Express/Builtin/ExpCollectionInstance.cs index 883ca42d..a363b16b 100644 --- a/StgSharp.Script/Express/Builtin/ExpCollectionInstance.cs +++ b/StgSharp.Script/Express/Builtin/ExpCollectionInstance.cs @@ -40,8 +40,7 @@ namespace StgSharp.Script.Express protected internal (int min, int max) _range; protected internal ExpElementType _memberType; - protected ExpCollectionInstanceBase( string name, ExpSchema context ) - : base( name ) { } + protected ExpCollectionInstanceBase( string name ) : base( name ) { } public abstract ExpCollectionBase CollectionValue { diff --git a/StgSharp.Script/Express/Builtin/ExpLogic.cs b/StgSharp.Script/Express/Builtin/ExpLogic.cs index 885ee00a..bf45b3d7 100644 --- a/StgSharp.Script/Express/Builtin/ExpLogic.cs +++ b/StgSharp.Script/Express/Builtin/ExpLogic.cs @@ -34,40 +34,84 @@ using System.Text; namespace StgSharp.Script.Express { - public enum ExpLogic + public enum ExpLogicValue { - Unknown = 0, - False = 1, - True = 2, + True, + False, + Unknown } - public static class LogicConverter + public struct ExpLogic { - public static bool? AsNullableBool(this ExpLogic l) + + public static readonly ExpLogic False = new ExpLogic( + ExpLogicValue.False ); + + public static readonly ExpLogic True = new ExpLogic( + ExpLogicValue.True ); + public static readonly ExpLogic Unknown = new ExpLogic( + ExpLogicValue.Unknown ); + + private readonly ExpLogicValue _value; + + public ExpLogic( ExpLogicValue value ) { - switch (l) - { - case ExpLogic.Unknown: - return null; - case ExpLogic.False: - return false; - case ExpLogic.True: - return true; - default: - throw new ArgumentException(); - } + _value = value; } - public static ExpLogic AsNullableInt(this bool? b) + public bool IsTrue => _value == ExpLogicValue.True; + + public bool IsFalse => _value == ExpLogicValue.False; + + public bool IsUnknown => _value == ExpLogicValue.Unknown; + + public override string ToString() => _value.ToString(); + + // NOT ! + public static ExpLogic operator !( ExpLogic a ) { - return b switch - { - null => ExpLogic.Unknown, - true => ExpLogic.True, - false => ExpLogic.False, - }; + return a.IsTrue ? False : a.IsFalse ? True : Unknown; } + + // AND & + public static ExpLogic operator &( ExpLogic a, ExpLogic b ) + { + if( a.IsFalse || b.IsFalse ) { + return False; + } + + if( a.IsUnknown || b.IsUnknown ) { + return Unknown; + } + + return True; + } + + // XOR ^ + public static ExpLogic operator ^( ExpLogic a, ExpLogic b ) + { + if( a.IsUnknown || b.IsUnknown ) { + return Unknown; + } + + return ( a.IsTrue ^ b.IsTrue ) ? True : False; + } + + // OR | + public static ExpLogic operator |( ExpLogic a, ExpLogic b ) + { + if( a.IsTrue || b.IsTrue ) { + return True; + } + + if( a.IsUnknown || b.IsUnknown ) { + return Unknown; + } + + return False; + } + } } diff --git a/StgSharp.Script/Express/CompileEnv/DefaultSchema.cs b/StgSharp.Script/Express/CompileEnv/DefaultSchema.cs index ed4f005c..89a8ab63 100644 --- a/StgSharp.Script/Express/CompileEnv/DefaultSchema.cs +++ b/StgSharp.Script/Express/CompileEnv/DefaultSchema.cs @@ -33,9 +33,6 @@ using System.Collections; using System.Collections.Frozen; using System.Collections.Generic; using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Xml.Linq; using static StgSharp.Script.Express.ExpCompile; @@ -80,7 +77,7 @@ namespace StgSharp.Script.Express string name, out ExpFunctionSource f ) { - throw new NotImplementedException(); + return FunctionDict.TryGetValue( name, out f! ); } public override bool TryGetRule( string name, out ExpRuleSource r ) @@ -131,9 +128,9 @@ namespace StgSharp.Script.Express ConstDict = new Dictionary( Multiplexer ) { - { PoolString( "PI" ), new ExpBuiltinConstant( + { PoolString( "PI" ), new ExpLiteralGenericNode( PoolString( "PI" ), MathF.PI ) }, - { PoolString( "E" ), new ExpBuiltinConstant( + { PoolString( "E" ), new ExpLiteralGenericNode( PoolString( "E" ), MathF.E ) }, }.ToFrozenDictionary(); } diff --git a/StgSharp.Script/Express/ExpAstNode/ExpElementInstanceNode.cs b/StgSharp.Script/Express/ExpAstNode/ExpElementInstanceNode.cs new file mode 100644 index 00000000..2569c7da --- /dev/null +++ b/StgSharp.Script/Express/ExpAstNode/ExpElementInstanceNode.cs @@ -0,0 +1,59 @@ +//----------------------------------------------------------------------- +//----------------------------------------------------------------------- +// file="ExpElementInstanceNode.cs" +// Project: StgSharp +// AuthorGroup: Nitload Space +// Copyright (c) Nitload Space. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person +// obtaining a copy of this software and associated documentation +// files (the “Software”), to deal in the Software without restriction, +// including without limitation the rights to use, copy, modify, merge, +// publish, distribute, sublicense, and/or sell copies of the Software, +// and to permit persons to whom the Software is furnished to do so, +// subject to the following conditions: +// +// The above copyright notice and +// this permission notice shall be included in all copies +// or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED “AS IS”, +// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +// ARISING FROM, OUT OF OR IN CONNECTION WITH +// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// +//----------------------------------------------------------------------- +//----------------------------------------------------------------------- +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace StgSharp.Script.Express +{ + public class ExpElementInstanceNode : ExpNode + { + + private ExpInstantiableElement _element; + + public ExpElementInstanceNode( + string varName, + ExpInstantiableElement element ) + : base( varName ) + { + _element = element; + } + + public override ExpInstantiableElement EqualityTypeConvert => _element; + + public override ExpNode Left => Empty; + + public override ExpNode Right => Empty; + + } +} diff --git a/StgSharp.Script/Express/ExpAstNode/ExpIndexOfNode.cs b/StgSharp.Script/Express/ExpAstNode/ExpIndexOfNode.cs index b20a8890..d239affb 100644 --- a/StgSharp.Script/Express/ExpAstNode/ExpIndexOfNode.cs +++ b/StgSharp.Script/Express/ExpAstNode/ExpIndexOfNode.cs @@ -43,10 +43,9 @@ namespace StgSharp.Script.Express private ExpNode _indexExpression; - public ExpIndexOfNode( - ExpSchema context, - ExpCollectionInstanceBase instance, - ExpNode indexExpression ) + private ExpIndexOfNode( + ExpCollectionInstanceBase instance, + ExpNode indexExpression ) : base( ExpCompile.PoolString( "[" ) ) { _collection = instance; @@ -60,5 +59,16 @@ namespace StgSharp.Script.Express public override IExpElementSource EqualityTypeConvert => _collection.EqualityTypeConvert; + public static ExpIndexOfNode Create( + ExpCollectionInstanceBase instance, + ExpNode indexExpression ) + { + if( !indexExpression.IsNumber ) { + throw new ExpInvalidTypeException( + "Number", indexExpression.EqualityTypeConvert.Name ); + } + return new ExpIndexOfNode( instance, indexExpression ); + } + } } diff --git a/StgSharp.Script/Express/ExpAstNode/ExpLiteralGenericNode.cs b/StgSharp.Script/Express/ExpAstNode/ExpLiteralGenericNode.cs index 6bd275c4..21743b51 100644 --- a/StgSharp.Script/Express/ExpAstNode/ExpLiteralGenericNode.cs +++ b/StgSharp.Script/Express/ExpAstNode/ExpLiteralGenericNode.cs @@ -50,7 +50,7 @@ namespace StgSharp.Script.Express private readonly ExpBuiltinType _type; private readonly T _value; - public ExpLiteralGenericNode( string name, ExpSchema context, T value ) + public ExpLiteralGenericNode( string name, T value ) : base( name ) { _value = value; diff --git a/StgSharp.Script/Express/ExpAstNode/ExpUnaryOperatorNode.cs b/StgSharp.Script/Express/ExpAstNode/ExpUnaryOperatorNode.cs index 9e7e449f..d59a1fde 100644 --- a/StgSharp.Script/Express/ExpAstNode/ExpUnaryOperatorNode.cs +++ b/StgSharp.Script/Express/ExpAstNode/ExpUnaryOperatorNode.cs @@ -58,7 +58,7 @@ namespace StgSharp.Script.Express public override IExpElementSource EqualityTypeConvert => _operand.EqualityTypeConvert; - public static ExpUnaryOperatorNode UnaryNotNegation( ExpNode operand ) + public static ExpUnaryOperatorNode UnaryNegation( ExpNode operand ) { if( !operand.IsNumber ) { throw new ExpInvalidTypeException( @@ -73,5 +73,19 @@ namespace StgSharp.Script.Express }; } + public static ExpUnaryOperatorNode UnaryNot( ExpNode operand ) + { + if( ( operand._nodeFlag | ( ExpNodeFlag.BuiltinType_Logic | ExpNodeFlag.BuiltinType_Logic ) ) == + 0 ) { + throw new ExpInvalidTypeException( + "Bool or Logic", operand.EqualityTypeConvert.Name ); + } + return new ExpUnaryOperatorNode( ExpCompile.KeyWord.NOT ) + { + _nodeFlag = ExpNodeFlag.Operator_Unary | ExpNodeFlag.BuiltinType_Logic, + CodeConvertTemplate = "! {0}", + }; + } + } } diff --git a/StgSharp.Script/Express/ExpSourceReader.cs b/StgSharp.Script/Express/ExpSourceReader.cs index b6420ce6..0e19aedb 100644 --- a/StgSharp.Script/Express/ExpSourceReader.cs +++ b/StgSharp.Script/Express/ExpSourceReader.cs @@ -77,10 +77,10 @@ namespace StgSharp.Script.Express } /// - /// Read code until end of a line. Lines in multi-line comment will be ignored. Line + /// Read code until end of a line. Lines in multi-line comment will be ignored. Line /// begins with part of multi-line comment will automatically remove the comment part, but - /// beginning with a full multi-line comment will not causing removing. (*Just - /// Like The Comment Here*) Will Not Be Removed + /// beginning with a full multi-line comment will not causing removing. (*Just + /// Like The Comment Here*) Will Not Be Removed /// /// public unsafe ReadOnlySpan ReadLine() @@ -185,7 +185,7 @@ namespace StgSharp.Script.Express return _last; case '-': - // 1. -number + // 1. - number // 2. -- comment // 3. - number type param(UNARY) // 4. param - param(BINARY) diff --git a/StgSharp.Script/Express/NodeGenerator/ExpNodeGenerator.cs b/StgSharp.Script/Express/NodeGenerator/ExpNodeGenerator.cs index f5b37586..182a6641 100644 --- a/StgSharp.Script/Express/NodeGenerator/ExpNodeGenerator.cs +++ b/StgSharp.Script/Express/NodeGenerator/ExpNodeGenerator.cs @@ -95,15 +95,14 @@ namespace StgSharp.Script.Express _operandsNode.Push( node ); } - public AbstractSyntaxTree CloseAndDispose( - ) + public AbstractSyntaxTree CloseAndDispose() { if( _operandsToken.Count != 0 ) { // convert rest to AST } return new AbstractSyntaxTree(); } - + /* public ExpNode GenerateNode( Token t ) { switch( t.Flag ) { @@ -131,10 +130,9 @@ namespace StgSharp.Script.Express break; } } + /**/ - public int GetNextOperandCache( - out Token? token, - out ExpNode? node ) + public int GetNextOperandCache( out Token? token, out ExpNode? node ) { if( _operandsNode.Count != 0 ) { node = _operandsNode.Pop(); diff --git a/StgSharp.Script/Express/NodeGenerator/GenerateUnaryToken.cs b/StgSharp.Script/Express/NodeGenerator/GenerateUnaryToken.cs index 2e5b7ba6..53fc4c48 100644 --- a/StgSharp.Script/Express/NodeGenerator/GenerateUnaryToken.cs +++ b/StgSharp.Script/Express/NodeGenerator/GenerateUnaryToken.cs @@ -38,7 +38,7 @@ namespace StgSharp.Script.Express { public partial class ExpNodeGenerator { - + /* public ExpNode GenerateUnaryToken( Token t ) { switch( t.Value ) { @@ -52,6 +52,7 @@ namespace StgSharp.Script.Express break; } } + /**/ } } diff --git a/StgSharp.Script/obj/x64/Debug/net8.0/StgSharp.Script.AssemblyInfo.cs b/StgSharp.Script/obj/x64/Debug/net8.0/StgSharp.Script.AssemblyInfo.cs index f833554a..a4bdd447 100644 --- a/StgSharp.Script/obj/x64/Debug/net8.0/StgSharp.Script.AssemblyInfo.cs +++ b/StgSharp.Script/obj/x64/Debug/net8.0/StgSharp.Script.AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("StgSharp.Script")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+d12bbbd873ec13306fdfa5255965188674ed417c")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+825e68853cd1738287eecc8a4390ee9c78550308")] [assembly: System.Reflection.AssemblyProductAttribute("StgSharp.Script")] [assembly: System.Reflection.AssemblyTitleAttribute("StgSharp.Script")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/StgSharp.Script/obj/x64/Debug/net8.0/StgSharp.Script.sourcelink.json b/StgSharp.Script/obj/x64/Debug/net8.0/StgSharp.Script.sourcelink.json index 12551908..48222c59 100644 --- a/StgSharp.Script/obj/x64/Debug/net8.0/StgSharp.Script.sourcelink.json +++ b/StgSharp.Script/obj/x64/Debug/net8.0/StgSharp.Script.sourcelink.json @@ -1 +1 @@ -{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/ccef0de6f686f94da655b0e7d854d0acaf907d04/*"}} \ No newline at end of file +{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/825e68853cd1738287eecc8a4390ee9c78550308/*"}} \ No newline at end of file diff --git a/StgSharpDebug/Program.cs b/StgSharpDebug/Program.cs index 705056d0..3622bb12 100644 --- a/StgSharpDebug/Program.cs +++ b/StgSharpDebug/Program.cs @@ -59,7 +59,7 @@ namespace StgSharp try { StgSharp.Init(); - + /* ExpCompile.InitCompile(); ExpFileSource reader = new ExpFileSource( testExpPath ); ExpSchemaSource schemaSource = new ExpSchemaSource(); @@ -96,23 +96,24 @@ namespace StgSharp $"{count}\t{str.Flag}\t\t{str.Value.ToString()}" ); } IScriptSourceProvider slice = st.Slice( 5, 2 ); - - /* + /**/ + /**/ StgSharp.InitGL( 4, 6 ); StgSharp.GlobalSetting.VSyncActivated = false; - ViewPort vp = new ViewPort(800,600,"Hello StgSharp!",IntPtr.Zero); + ViewPort vp = new ViewPort( + 800, 600, "Hello StgSharp!", IntPtr.Zero ); + //throw new NotImplementedException(); - var mul = new StringHashMultiplexer(); - IEqualityComparer com = (IEqualityComparer)mul; + StringHashMultiplexer mul = new StringHashMultiplexer(); + IEqualityComparer com = mul; string str = "1234567012345670"; - for (int i = 1; i < 100; i++) - { + for( int i = 1; i < 100; i++ ) { str += $"{(i%8)}"; - int hash = mul.ForceComputeHash(str); - Thread.Sleep(20); + int hash = mul.ForceComputeHash( str ); + Thread.Sleep( 20 ); } ViewModelBase mainModel = new ViewModelMain( vp ); diff --git a/StgSharpDebug/obj/x64/Debug/net8.0/StgSharpDebug.AssemblyInfo.cs b/StgSharpDebug/obj/x64/Debug/net8.0/StgSharpDebug.AssemblyInfo.cs index 1dce9e6b..f57a0433 100644 --- a/StgSharpDebug/obj/x64/Debug/net8.0/StgSharpDebug.AssemblyInfo.cs +++ b/StgSharpDebug/obj/x64/Debug/net8.0/StgSharpDebug.AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("StgSharpDebug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+ccef0de6f686f94da655b0e7d854d0acaf907d04")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+825e68853cd1738287eecc8a4390ee9c78550308")] [assembly: System.Reflection.AssemblyProductAttribute("StgSharpDebug")] [assembly: System.Reflection.AssemblyTitleAttribute("StgSharpDebug")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/StgSharpDebug/obj/x64/Debug/net8.0/StgSharpDebug.csproj.FileListAbsolute.txt b/StgSharpDebug/obj/x64/Debug/net8.0/StgSharpDebug.csproj.FileListAbsolute.txt index bea8f187..6a1f23d2 100644 --- a/StgSharpDebug/obj/x64/Debug/net8.0/StgSharpDebug.csproj.FileListAbsolute.txt +++ b/StgSharpDebug/obj/x64/Debug/net8.0/StgSharpDebug.csproj.FileListAbsolute.txt @@ -14,10 +14,8 @@ D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\St D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpDebug\bin\x64\Debug\net8.0\StgSharpDebug.xml D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpDebug\bin\x64\Debug\net8.0\CommunityToolkit.HighPerformance.dll D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpDebug\bin\x64\Debug\net8.0\StgSharp.Common.dll -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpDebug\bin\x64\Debug\net8.0\StgSharp.Generator.dll D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpDebug\bin\x64\Debug\net8.0\StgSharp.Model.dll D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpDebug\bin\x64\Debug\net8.0\StgSharp.Script.dll -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpDebug\bin\x64\Debug\net8.0\StgSharp.Generator.pdb D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpDebug\bin\x64\Debug\net8.0\StgSharp.Common.pdb D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpDebug\bin\x64\Debug\net8.0\StgSharp.Common.xml D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpDebug\bin\x64\Debug\net8.0\StgSharp.Model.pdb diff --git a/StgSharpDebug/obj/x64/Debug/net8.0/StgSharpDebug.sourcelink.json b/StgSharpDebug/obj/x64/Debug/net8.0/StgSharpDebug.sourcelink.json index 5cb7415b..48222c59 100644 --- a/StgSharpDebug/obj/x64/Debug/net8.0/StgSharpDebug.sourcelink.json +++ b/StgSharpDebug/obj/x64/Debug/net8.0/StgSharpDebug.sourcelink.json @@ -1 +1 @@ -{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/c23b640cae59b9ee7dcfd8f026b8970a084ddbd7/*"}} \ No newline at end of file +{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/825e68853cd1738287eecc8a4390ee9c78550308/*"}} \ No newline at end of file