项目简介
Eugen-Script(简称:escript)是一个可嵌入的C-like语言虚拟机,具备动态类型系统,专为C++程序设计。其支持类、数组、函数等高级编程概念,可用于编写脚本、宏以及扩展主程序功能。
项目的主要特性和功能
- 动态类型系统,未初始化变量默认设为
null
。 - 支持类的定义与对象创建,包含构造函数和方法。
- 支持多维数组和字符串操作,有常见的数组和字符串方法。
- 支持函数定义、函数作为参数传递以及闭包功能。
- 内置Math类和DateTime类,支持常见数学运算和日期操作。
- 支持自动化对象的创建和方法调用,便于扩展主程序功能。
- 提供
console
对象,支持调试信息输出。
安装使用步骤
1. 获取源码
已假设用户已经下载了本项目的源码文件。
2. 编译与配置
依据项目文档的指导编译并配置项目,确保开发环境支持C++17标准。
3. 编写脚本
使用Eugen-Script提供的语法和API编写脚本,示例如下: ```javascript function updateCell(row, col, value) { spreadsheet.setCellValue(row, col, value); }
updateCell(1, 3, "Hello, world"); updateCell(1, 2, 12345); ```
4. 执行脚本
使用Eugen-Script引擎执行编写的脚本,C++代码示例如下: ```cpp
include "EScript.h"
int main() { EScript engine; const std::u32string code = UR"( function updateCell(row, col, value) { spreadsheet.setCellValue(row, col, value); } updateCell(1, 3, "Hello, world"); updateCell(1, 2, 12345); )"; MySpreadSheet spreadsheet; engine.attachObject(&spreadsheet, U"spreadsheet"); engine.eval(code); engine.detachObject(&spreadsheet); return 0; } ```
5. 测试与调试
运行单元测试代码验证引擎和库的功能,使用console.log
输出调试信息,示例如下:
javascript
console.log("Hello, world");
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】