Daily update on 20250303-043627 by Nitload Youmu. Additional Message : remove node dependency to context, node instance ctor switched to factory mode,

Signed-off-by: Nitload <YoumuLiu_NSI@whv0t.onmicrosoft.com>
This commit is contained in:
Nitload
2025-03-03 04:36:27 +08:00
parent d12bbbd873
commit 825e68853c
26 changed files with 440 additions and 238 deletions
@@ -46,12 +46,12 @@ namespace StgSharp.Script.Express
private const int TokenGenerated = 0;
private const int TokenTypeNotMatch = -1;
private ExpBaseNode _lastStatement;
private ExpNode _lastStatement;
private GeneratedExpSchema _context;
private IExpElementSource _local;
private List<ExpBaseNode> _cache;
private Stack<ExpBaseNode> _operandsNode;
private List<ExpNode> _cache;
private Stack<ExpNode> _operandsNode;
private Stack<Token> _operandsToken;
private Stack<Token> _operators;
@@ -90,21 +90,21 @@ namespace StgSharp.Script.Express
}
}
public void CacheNextOperandNode( ExpBaseNode node )
public void CacheNextOperandNode( ExpNode node )
{
_operandsNode.Push( node );
}
public AbstractSyntaxTree<ExpBaseNode, IExpElementSource> CloseAndDispose(
public AbstractSyntaxTree<ExpNode, IExpElementSource> CloseAndDispose(
)
{
if( _operandsToken.Count != 0 ) {
// convert rest to AST
}
return new AbstractSyntaxTree<ExpBaseNode, IExpElementSource>();
return new AbstractSyntaxTree<ExpNode, IExpElementSource>();
}
public ExpBaseNode GenerateNode( Token t )
public ExpNode GenerateNode( Token t )
{
switch( t.Flag ) {
case TokenFlag.Symbol_Unary:
@@ -134,7 +134,7 @@ namespace StgSharp.Script.Express
public int GetNextOperandCache(
out Token? token,
out ExpBaseNode? node )
out ExpNode? node )
{
if( _operandsNode.Count != 0 ) {
node = _operandsNode.Pop();
@@ -39,7 +39,7 @@ namespace StgSharp.Script.Express
public partial class ExpNodeGenerator
{
public ExpBaseNode GenerateUnaryToken( Token t )
public ExpNode GenerateUnaryToken( Token t )
{
switch( t.Value ) {
case ExpCompile.KeyWord.UnaryAdd: