摘要: AScript是一个开源的C#动态脚本解析执行引擎,支持扩展自定义语法,本篇将详细讲解如何扩展实现LINQ语法。 一、原理 LINQ语句会被编译为调用Queryable/Enumerable扩展方法中的SelectMany/Where/Join/GroupJoin/GroupBy/OrderBy/O 阅读全文
posted @ 2026-05-17 20:24 rockey627 阅读(105) 评论(0) 推荐(1)
摘要: AScript之匿名类型与动态类型 AScript是一个开源的C#动态脚本解析执行引擎,其中有两种数据类型比较特殊:匿名类型和动态类型。 一、匿名类型 匿名类型是在编译时确定结构,适合固定数据结构,属性只读。 1 string s = @" 2 var a = new { Name='tony', Age=20 } 3 a.Name 阅读全文
posted @ 2026-05-16 10:55 rockey627 阅读(55) 评论(0) 推荐(1)
摘要: AScript是一个开源的C#动态脚本解析执行引擎,支持解析执行和编译执行2种模式,其中有个语法很有意思,那就是static语法。 在解析执行模式下,static语句与非static语句是等效的; 在编译执行模式下,static语句会在编译期间执行,也就是说static语句不会被编译,而是直接执行并 阅读全文
posted @ 2026-05-10 16:14 rockey627 阅读(90) 评论(0) 推荐(1)
摘要: AScript是一个开源的C#动态脚本解析执行引擎,支持扩展多种脚本语言,今天(2026年5月4日)正式发布了python3语言AScript.Lang.Python3的第1个版本0.0.1,快来试试吧! 一、介绍 支持python3基础语法、数据类型(int/float/bool/str/list 阅读全文
posted @ 2026-05-04 16:15 rockey627 阅读(166) 评论(0) 推荐(2)
摘要: AScript是一个开源的C#动态脚本解析执行库,内置的eval函数可动态执行字符串脚本,在python脚本中对应的是exec函数。 一、示例 1 Console.WriteLine(new Script().Eval("int n=10;eval(\"n+20\")")); // 30 2 Con 阅读全文
posted @ 2026-05-03 18:26 rockey627 阅读(103) 评论(0) 推荐(0)
摘要: AScript是一个开源的C#动态脚本解析执行库,提供了完整的函数支持体系: 脚本内定义函数 → 定义与调用(与C#语法一致) 外部注入函数 → C# 注入方法 获取函数 → 返回脚本内定义的函数或者外部注入的函数 生成Lambda → 生成 .NET Expression/Lambda 生成委托 阅读全文
posted @ 2026-04-21 22:03 rockey627 阅读(147) 评论(0) 推荐(1)
摘要: AScript是一个开源的C#动态脚本解析执行库,支持扩展多种脚本语言。前一篇文章《AScript如何实现中文脚本引擎》中演示了扩展中文语言示例,本篇将更深入的理解AScript的多语言机制,以及如何在脚本中嵌入多种脚本语言。 一、自定义语法 AScript底层解析脚本生成token流,语法解析器对 阅读全文
posted @ 2026-04-12 11:56 rockey627 阅读(123) 评论(0) 推荐(2)
摘要: AScript是一个开源的C#动态脚本解析执行库,支持自定义语法解析,基于此,我们来实现一个中文脚本引擎示例。 示例实现一个条件语句:如果 ... 则 ... 否则 ... 1、实现ITokenHandler接口来自定义语法解析 1 public class 如果语法处理器 : ITokenHand 阅读全文
posted @ 2026-04-11 00:06 rockey627 阅读(157) 评论(0) 推荐(1)
摘要: 一、简介 AScript 是一个基于 C# 的动态脚本解析、编译与执行引擎。它支持C# 语法,可以让应用程序在不重新编译的情况下动态执行用户自定义的脚本逻辑。 开源地址:https://gitee.com/rockey627/ascript 二、核心特性 语法支持 C# 基本语法:变量、运算符、表达 阅读全文
posted @ 2026-04-09 20:52 rockey627 阅读(366) 评论(0) 推荐(5)
摘要: .NET项目中经常会用到执行动态脚本的场景,这里推荐一个AScript库,支持C#语法,完全开源(MIT协议)。 开源地址:https://gitee.com/rockey627/AScript 项目介绍 支持表达式运算 支持注入变量 支持定义变量 支持注入函数 支持定义函数 支持注入类型 支持C# 阅读全文
posted @ 2026-04-07 23:06 rockey627 阅读(77) 评论(0) 推荐(3)