Daily update on 20250326-140335 by Nitload Youmu. Additional Message : If Branch building

Signed-off-by: Nitload <YoumuLiu_NSI@whv0t.onmicrosoft.com>
This commit is contained in:
Nitload
2025-03-26 14:03:35 +08:00
parent 469cb88472
commit 36b6ad5a52
7 changed files with 283 additions and 45 deletions
+33 -1
View File
@@ -78,12 +78,23 @@ namespace StgSharp.Script.Express
}
/**/
public void AppendToken( Token expToken )
{
switch( ( ExpCompileStateCode )_cache.CurrentDepthMark.Usage )
{
case ExpCompileStateCode.Common:
AppendToken_common( expToken );
break;
default:
break;
}
}
/// <summary>
/// Append a token to top of cache. This method will automatically convert token to node
/// if meets separators or operators.
/// </summary>
public void AppendToken( Token expToken )
public void AppendToken_common( Token expToken )
{
switch( expToken.Flag )
{
@@ -127,6 +138,27 @@ namespace StgSharp.Script.Express
throw new NotImplementedException();
}
private bool TryParseBranch( Token t )
{
if( t.Value == ExpKeyword.Case )
{
_cache.PushOperator( t );
_cache.IncreaseDepth( ( int )ExpCompileStateCode.CaseBranch );
return true;
} else if( t.Value == ExpKeyword.If )
{
_cache.PushOperator( t );
_cache.IncreaseDepth( ( int )ExpCompileStateCode.IfBranch );
return true;
} else if( t.Value == ExpKeyword.Repeat )
{
_cache.PushOperator( t );
_cache.IncreaseDepth( ( int )ExpCompileStateCode.RepeatLoop );
return true;
}
return false;
}
/**/
public enum ExpCompileStateCode