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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user