mirror of
https://gitee.com/langsisi_admin/serein-flow
synced 2026-03-02 15:50:47 +08:00
重新设计了FlowLIbrary相关类;为工作台默认添加了基础依赖、默认画布。
This commit is contained in:
@@ -1,13 +1,4 @@
|
||||
using Microsoft.CodeAnalysis.CSharp.Syntax;
|
||||
using Serein.Library.Api;
|
||||
using Serein.Script.Node;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Serein.Script
|
||||
namespace Serein.Script
|
||||
{
|
||||
internal static class NodeInterpreterExtension
|
||||
{
|
||||
|
||||
@@ -5,6 +5,15 @@
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<BaseOutputPath>..\.\.Output</BaseOutputPath>
|
||||
|
||||
<Title>基于AST实现的脚本语言</Title>
|
||||
<Version>1.0.0</Version>
|
||||
<Description>使用了Emit构造委托缓存调用,性能客观。提供了类型推导、转换C#代码功能。用于流程图中脚本处理,也可在其他地方进行使用。</Description>
|
||||
<PackageLicenseExpression>MIT</PackageLicenseExpression>
|
||||
<PackageReadmeFile>README.md</PackageReadmeFile>
|
||||
<RepositoryUrl>https://github.com/fhhyyp/serein-flow</RepositoryUrl>
|
||||
<PackageRequireLicenseAcceptance>True</PackageRequireLicenseAcceptance>
|
||||
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
@@ -18,7 +27,16 @@
|
||||
<None Remove="TestExpression\**" />
|
||||
<None Remove="Tool\**" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Include="..\LICENSE">
|
||||
<Pack>True</Pack>
|
||||
<PackagePath>\</PackagePath>
|
||||
</None>
|
||||
<None Include="..\README.md">
|
||||
<Pack>True</Pack>
|
||||
<PackagePath>\</PackagePath>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Remove="Node\ExpressionNode.cs" />
|
||||
</ItemGroup>
|
||||
|
||||
@@ -1,14 +1,7 @@
|
||||
using Microsoft.CodeAnalysis.CSharp.Syntax;
|
||||
using Serein.Library;
|
||||
using Serein.Library.Api;
|
||||
using Serein.Library;
|
||||
using Serein.Script.Node;
|
||||
using Serein.Script.Node.FlowControl;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Serein.Script
|
||||
{
|
||||
|
||||
@@ -269,9 +269,8 @@ namespace Serein.Script
|
||||
}
|
||||
ASTNode tempNode = peekToken3.Type switch
|
||||
{
|
||||
TokenType.Dot => ParseMemberAccessNode(source), // 获取对象中的成员 source.Value...
|
||||
TokenType.Semicolon => ParseMemberAccessNode(source), // 获取对象中的成员 source.Value...
|
||||
TokenType.ParenthesisRight => ParseMemberAccessNode(source), // 获取对象中的成员 source.Value...
|
||||
TokenType.Dot or TokenType.Semicolon or TokenType.ParenthesisRight =>
|
||||
ParseMemberAccessNode(source), // 获取对象中的成员 source.Value...
|
||||
TokenType.SquareBracketsLeft => ParseCollectionIndexNode(source), // 获取集合中的元素 source[index]....
|
||||
TokenType.ParenthesisLeft => ParseMemberFunctionCallNode(source), // 获取需要调用的方法 source(arg1,arg2...)...
|
||||
_ => throw new Exception($"无法从对象获取成员,当前Token类型为 {peekToken.Type}。")
|
||||
@@ -963,11 +962,9 @@ namespace Serein.Script
|
||||
var peekToken3 = _lexer.PeekToken();
|
||||
ASTNode tempNode = peekToken3.Type switch
|
||||
{
|
||||
TokenType.Comma => ParseMemberAccessNode(source), // 获取对象中的成员 source.Value...
|
||||
TokenType.Operator => ParseMemberAccessNode(source), // 获取对象中的成员 source.Value...
|
||||
TokenType.Dot => ParseMemberAccessNode(source), // 获取对象中的成员 source.Value...
|
||||
TokenType.Semicolon => ParseMemberAccessNode(source), // 获取对象中的成员 source.Value...
|
||||
TokenType.ParenthesisRight => ParseMemberAccessNode(source), // 获取对象中的成员 source.Value...
|
||||
TokenType.Comma or TokenType.Operator or TokenType.Dot or TokenType.Semicolon or TokenType.ParenthesisRight
|
||||
=> ParseMemberAccessNode(source), // 获取对象中的成员 source.Value...
|
||||
|
||||
TokenType.SquareBracketsLeft => ParseCollectionIndexNode(source), // 获取集合中的元素 source[index]....
|
||||
TokenType.ParenthesisLeft => ParseMemberFunctionCallNode(source), // 获取需要调用的方法 source(arg1,arg2...)...
|
||||
_ => throw new Exception($"无法从对象获取成员,当前Token : {peekToken.ToString()}。")
|
||||
|
||||
Reference in New Issue
Block a user