# KScript **Repository Path**: kiruen/KScript ## Basic Information - **Project Name**: KScript - **Description**: 从大二下学期开始写的基于C#的解释型脚本语言 - **Primary Language**: C# - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2020-01-30 - **Last Updated**: 2022-04-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # KScript 此项目为本人从大二下学期开始写的一门基于C#的解释型脚本语言 经过近半年不懈的努力,不仅实现了一门编程语言的基本功能,还效仿其它语言增加了一些便利的特性。 KScript大致实现了如下内容: 1.基本的变量读写功能 2.分支(if/match)/循环结构(while/for/foreach) 3.函数定义与调用(支持重载、递归、变长参数表) 4.类的定义(包括静态成员、继承,还有类似python的魔术方法)和实例化 5.调用C#原生代码(通过Native function/class)的接口 6.外部代码文件/模块导入 7.很垃圾的反射(基本没什么用...) 8.lambda表达式(闭包) 9.各种对C#基本数据类型包装的内建类型(添加了很多丰富便捷的功能,也可以很容易添加自己的包装类) 10.调试器 11.其它各种细碎的小特性 除了KScript语言内核之外,还开发了一个小工具-KsIDE: 可以进行代码编辑(使用自制的具有语法高亮、简单的智能提示、断点设置等功能的代码编辑器组件)、代码调试。 最近建立了一套插件接口,具有了一定的可拓展性。 目前可以通过插件接口使用我为KScript开发的小框架--KForm(可视化编程框架,通过封装WinForm实现), 可以像VB、C# WinForm一样通过拖拽控件进行GUI编程(代码生成部分未实现,目前只能拖控件...) 代码属于初学者水平,还请大佬莫耻笑...