自己动手写脚本语言

本文介绍了一个使用C++实现的微型脚本语言SIL,它具有简单的语法,支持变量定义、函数、分支、循环和基本运算符。SIL允许轻松地将解释器嵌入到C++代码中,并提供了扩展函数的能力。源代码包括命令行解释器、示例和内置函数的详细说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是我用c++写的一个简单的脚本语言,非常简短,不到3000行代码

代码svn地址:http://sil-language.googlecode.com/svn/trunk

新浪爱问:http://ishare.iask.sina.com.cn/f/61318451.html


sil语言(simple interpretative lanuage)是一个简单的脚本语言,只是一个玩具,目的是演示用简短的代码去创建一个可用的脚本语言
这样一个玩具会是怎么样的呢?
sil的设计目标:
1 . 非常容易将sil解释器嵌入到c++代码中
2 . 非常容易用c++代码来扩展sil的函数调用,使得c++和sil脚本非常容易交互
3 . 成为一个有简洁语法的动态语言,有容易使用的语法
4 . 拥有一个语言一般都应当拥有的语法

sil语法的完整定义可参考《sil语法说明》。
sil语言是动态类型的,编译时不会检查函数的参数个数,参数类型是否合适,甚至不会检查函数定义是否存在,只有到了运行时才会查找函数,检查参数个数是否匹配。
对于内置函数还会检查参数类型是否匹配,如果不匹配会试着进行参数类型转换
对于用户定义函数,不会进行参数类型匹配的检查
第一节 语法:
1. 类型:
 sil暂时支持整形,浮点型,字符串三种数据类型,暂时不支持数组,也不支持自定义类型(这两点是比较严重的缺点)
 sil是弱类型的,变量不会和类型绑定
 变量定义像是这样的:
 var vi=1; //定义一个值为整数1的变量vi
 var vf=1.0;//定义一个

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值