Daily update on 20250324-100332 by Nitload Youmu. Additional Message : Single line syntax analyzer ok, gonging on unit test of multi line, func call. Then building branch, loop, area syntax analyzer. Some of descriptors not supported.

Signed-off-by: Nitload <YoumuLiu_NSI@whv0t.onmicrosoft.com>
This commit is contained in:
Nitload
2025-03-24 10:03:32 +08:00
parent 148b0fed4a
commit ffd5825a05
52 changed files with 522 additions and 560 deletions
@@ -42,22 +42,19 @@ namespace StgSharp.Script.Express
private ExpElementInstanceBase _instance;
internal ExpInstanceReferenceNode(
Token source,
ExpElementInstanceBase instance )
internal ExpInstanceReferenceNode( Token source, ExpElementInstanceBase instance )
: base( source )
{
_instance = instance;
_nodeFlag = ( _instance._nodeFlag | ( ExpNodeFlag.Name_Any | ExpNodeFlag.Collection_Any ) );
}
internal ExpInstanceReferenceNode(
Token source,
ExpInstanceReferenceNode reference )
internal ExpInstanceReferenceNode( Token source, ExpInstanceReferenceNode reference )
: base( source )
{
_instance = reference._instance;
_nodeFlag = ( _instance._nodeFlag | ( ExpNodeFlag.Name_Any | ExpNodeFlag.Collection_Any ) );
CodeConvertTemplate = source.Value;
}
public override ExpNode Left => Empty;
@@ -68,9 +65,14 @@ namespace StgSharp.Script.Express
[MethodImpl( MethodImplOptions.AggressiveInlining )]
public static ExpInstanceReferenceNode Create(
Token source,
ExpElementInstanceBase instance )
Token source,
ExpElementInstanceBase instance )
{
/*
if( instance.CodeConvertTemplate != source.Value ) {
throw new ExpCompileException( source, "Token point at a wrong instance" );
}
/**/
return new ExpInstanceReferenceNode( source, instance );
}