Daily update on 20250310-064733 by Nitload Youmu. Additional Message : Change: Generic node removed, five non-generic node as replacement

Change: Preprocess to token scheduled, less dependency on type prediction, which put to LINK or C# compiling pase
Design: the EXPRESS lang feature "FIXED" keyword not supported, builtin type binary not supported, not used in STEP AP203 and much too complex to make a full marshal implementation in C#.
Add: Node generating method to generate literal node

Signed-off-by: Nitload <YoumuLiu_NSI@whv0t.onmicrosoft.com>
This commit is contained in:
Nitload
2025-03-10 06:47:33 +08:00
parent 6f494f25ef
commit 16b813646d
31 changed files with 387 additions and 217 deletions
@@ -34,20 +34,6 @@ using System.Text;
namespace StgSharp.Script.Express
{
public class ExpEntity : ExpNode
{
public ExpEntity( string name, ExpSchema context ) : base( name ) { }
public override ExpNode Left => throw new NotImplementedException();
public override ExpNode Right => throw new NotImplementedException();
public override IExpElementSource EqualityTypeConvert => throw new NotImplementedException(
);
}
public class ExpEntitySource : ExpInstantiableElement
{
@@ -34,30 +34,6 @@ using System.Text;
namespace StgSharp.Script.Express
{
public class ExpFunction : ExpNode
{
private ExpFunctionSource _source;
private readonly ExpNode _return;
private readonly List<KeyValuePair<string, ExpNode>> _parameterList
= new List<KeyValuePair<string, ExpNode>>();
public ExpFunction( string name, ExpSchema context ) : base( name ) { }
public ExpElementType ElementType => ExpElementType.Function;
public override ExpInstantiableElement EqualityTypeConvert => throw new NotImplementedException(
);
public override ExpNode Left => throw new NotImplementedException();
public override ExpNode Right => throw new NotImplementedException();
public void CallThisFunction( params ExpNode[] parameters ) { }
}
public class ExpFunctionSource : ExpImmutableElement
{
+1 -1
View File
@@ -41,7 +41,7 @@ namespace StgSharp.Script.Express
private ExpRuleSource _source;
public ExpRule( string name, ExpSchema context ) : base( name ) { }
public ExpRule( Token source ) : base( source ) { }
public object? value => throw new NotImplementedException();
+6 -22
View File
@@ -35,23 +35,7 @@ using System.Collections.Generic;
namespace StgSharp.Script.Express
{
public class ExpTypeInstance : ExpElementInstanceBase
{
public ExpTypeInstance( string name ) : base( name ) { }
public override ExpInstantiableElement EqualityTypeConvert => throw new NotImplementedException(
);
public override ExpNode Left => throw new NotImplementedException();
public override ExpNode Right => throw new NotImplementedException();
public override string TypeName => throw new NotImplementedException();
}
public class ExpTypeSource : IExpElementSource
public class ExpTypeSource : ExpInstantiableElement
{
private ScriptSourceTransmitter _transmitter;
@@ -77,23 +61,23 @@ namespace StgSharp.Script.Express
get => _isBuiltinType;
}
public ExpElementType ElementType => ExpElementType.Type;
public override ExpElementType ElementType => ExpElementType.Type;
public ExpTypeSource Void
{
get => ExpVoidType.Only;
}
public IScriptSourceProvider SourceProvider => _transmitter;
public override IScriptSourceProvider SourceProvider => _transmitter;
public string Name => _name;
public override string Name => _name;
public virtual void Analyse()
public override void Analyse()
{
throw new NotImplementedException();
}
public bool IsConvertable( IExpElementSource targetType )
public override ExpNode CreateInstanceNode()
{
throw new NotImplementedException();
}