Daily update on 20250414-003153 by Nitload Youmu. Additional Message : Tech Issue: due to forbidden of multi-inheritance in C#, full ranslate fron EXPRESS to C# code is impossible, the EXPRESS interpreter in StgSharp will become a dialect

Add: A group of classes imported from lib https://github.com/ixmilia/step under MIT license, representing all STEP AP203 geometry objects
Change: many change to classes from https://github.com/ixmilia/step to link data interfaces to those in StgSharp
Freeze: implementation to StgSharp EXPRESS interpreter about collextion operation and element define grammer

Signed-off-by: Nitload <YoumuLiu_NSI@whv0t.onmicrosoft.com>
This commit is contained in:
Nitload
2025-04-14 00:31:54 +08:00
parent 2692495dc8
commit 9457309c5a
69 changed files with 3318 additions and 117 deletions
+8
View File
@@ -42,6 +42,8 @@ namespace StgSharp.Script
where TType: ITypeSource<TType>
{
private Token? _lastToken;
private TNode[] _nodeArray = new TNode[4];
private Token[] _operatorArray = new Token[4];
private Token[] _tokenArray = new Token[4];
@@ -51,6 +53,7 @@ namespace StgSharp.Script
private Stack<bool> _isNode = new Stack<bool>();
private Stack<Stack<TNode>> _statementCache = new Stack<Stack<TNode>>();
private TNode _lastNode;
public CompileStack()
{
@@ -58,6 +61,8 @@ namespace StgSharp.Script
_statementCache.Push( new Stack<TNode>() );
}
public bool IsLastAddedOperator { get; private set; }
public CompileDepthMark CurrentDepthMark
{
get => _depthStack.Peek();
@@ -180,6 +185,7 @@ namespace StgSharp.Script
_nodeArray[ _nodeCount ] = node;
_nodeCount++;
_isNode.Push( true );
IsLastAddedOperator = false;
}
public void PushOperand( Token token )
@@ -190,6 +196,7 @@ namespace StgSharp.Script
_tokenArray[ _tokenCount ] = token;
_tokenCount++;
_isNode.Push( false );
IsLastAddedOperator = false;
}
public void PushOperator( Token token )
@@ -199,6 +206,7 @@ namespace StgSharp.Script
}
_operatorArray[ _operatorCount ] = token;
_operatorCount++;
IsLastAddedOperator = true;
}
public T StateOfCurrentDepth<T>() where T: class, ICompileDepthState