Squirrel语言初探(可以使用VC6或者MinGW编译)

Squirrel语言初探

为啥我要关注Squirrel语言?原来Squirrel就很像我希望设计出的理想中的语言(当然也不完全符合)。比如我觉得Lua的语法表述不清晰,累赘,于是想用C系语法来代替Lua语法,于是Squirrel实现了;比如Lua中没有类的结构,我想在我的语言里面加入类(基于表来实现),于是Squirrel实现了;比如我痛恨~=号,–[[–]]号,于是Squirrel也去掉了。

我并不是说Squirrel就是很牛逼的语言,只是感觉对自己有很强的参考价值。之前都不知道有这样一种语言的,后来是在看网友的blog的时候了解到了。

Squirrel说白了,就是Lua的一种衍生语言。它的作者是意大利人Alberto Demichelis,Squirrel开发的本意是用于替代Lua,Squirrel语法与C/C++很相似,而Lua的很多语法与C/C++ 不一致,写脚本时,容易犯错误,所以,Squirrel更适合C/C++ 程序员。加之它们都是为了更好地与C程序相互嵌入,所以用C的语法觉得更自然一些。

看了它的spec.之后,总结一下它的特性:

  • 动态语言,弱类型;
  • 编译器+虚拟机方式;
  • 强大的表结构(与Lua同);
  • 支持有限的OO(比Lua的只能模拟类更直接一些);
  • 内部由C++实现(不像Lua只用ANSI C实现);
  • 有userdata和userpointer,推广了Lua这一块的特性。貌似userpointer这一特性极其好用;
  • 自动内存管理;
  • 有协程;
  • Delegation代理支持(暂时不清楚什么意思);
  • 产生子generator;
  • 异常捕获(try  exception  throw)和处理;

总的来看,它的60%的特性我比较喜欢,另40%的设计我仍觉得不是很爽,博采众长吧。

可是,要设计一门新语言,要如何着手呢?……

https://xenyinzen.wordpress.com/2009/12/09/squirrel%E8%AF%AD%E8%A8%80%E5%88%9D%E6%8E%A2/

https://github.com/albertodemichelis/squirrel
http://www.squirrel-lang.org/
https://github.com/aardappel/lobster

原文地址:https://www.cnblogs.com/findumars/p/10351381.html

时间: 2024-07-29 17:32:51

Squirrel语言初探(可以使用VC6或者MinGW编译)的相关文章

GO语言初探

1.GO使用UTF-8编码,纯Unicode文本编写. 2.$ go verson (windows) 3.windows下,需要设置go语言的环境变量,新建一个名为 GOROOT的变量,指向go的具体目录,例如:C:\go\bin. 4.构建Go程序,需要进行编译和链接. 5.注释风格与C++相同,//和/**/. 6.main函数为入口,也是唯一的,每个Go程序必须包含的. 7.使用 import 导入相关的包. 8.支持常用的类型和操作符. 9.go语言中不适用分号结束,import导入多

MingW编译virt-viewer

在http://www.spice-space.org/download.html可以下载到windows版本的virt viewer virt-viewer-x86-0.5.7.msi和virt-viewer-x64-0.5.7.msi是使用MingW编译出来的,源码就是使用virt-viewer-0.5.7.tar.gz 如果需要定制virt viewer,就需要从源码编译出可执行的二进制码,本文就是描述编译windows版virt viewer的过程. MinGW 在使用MinGw编译vi

在Windows环境下使用MinGW编译Qt 4.8.6

1.修改环境变量工具推荐:Rapid Environment Editor.官网:http://www.rapidee.com/ 修改前请先备份当前的环境变量.然后: (1)检查系统变量path,删除有关mingw其他版本等信息,以免与后续的mingw32-make冲突. (2)检查用户变量INCLUDE.LIB.PATH.MSDevDir和MSVCDir,删除有关\Microsoft Visual Studio\VC98的信息,因为它们会与后续的mingw32-make冲突,导致编译出错. 2

手把手教你在Windows下使用MinGW编译libav(参考libx264的编入)

转自:http://www.th7.cn/Program/cp/201407/242762.shtml 手把手教你在Windows下使用MinGW编译libav libav是在Linux下使用纯c语言开发的,不可避免的,libav源码使用了一些gcc的特性,那么在Windows下很难使用VC编译,但是使用MinGW编译却简单多了,下面我将根据自己的经历逐步介绍使用MinGW编译libav的过程以及在此过程中遇到的问题及其解决方法. 1      安装MinGW编译环境 1.1    安装MinG

MinGW编译wxWidget

MinGW编译wxWidget MinGW编译wxWidget WXWIN:源代码根目录 解压源码 进入到%WXWIN%\build\msw 清理项目 mingw32-make -f makefile.gcc SHARED=1 UNICODE=1 BUILD=release clean 编译 动态库,发行版 mingw32-make -f makefile.gcc SHARED=1 UNICODE=1 BUILD=release 动态库,调试版 mingw32-make -f makefile.

win7中用MinGW编译x264出现"No working C compiler found."错误

Description Given a n × n matrix A and a positive integer k, find the sum S = A + A2 + A3 + - + Ak. Input The input contains exactly one test case. The first line of input contains three positive integers n (n ≤ 30), k (k ≤ 109) and m (m < 104). Then

mp4v2使用mingw编译配置

备注:黄色部分为原始语句,红色部分为修改后的语句 '-'表示去掉,'+'表示增加 1.修改configure文件 1)去掉enable_shared=no *-*-mingw*) # do not support shared - enable_shared=no 2)搜索X_libmp4v2_la_LDFLAGS,在如下位置增加mingw的相应设置 *-*-cygwin*) X_libmp4v2_la_LDFLAGS='-no-undefined' ;; + *-*-mingw*) + X_l

Windows下MinGW编译Qt4

还真不是吹,这个问题折磨我一天……前些天转载了一篇关于<Eclipse+Qt开发环境设置>和<Eclipse+MinGW+Qt开发环境设置>两片文章,里面讲述了QT的开源版本qt-win-opensource-4.x.x-mingw.exe 在Windows下的安装步骤,但我的是qt-win-commercial-src-4.x.x.zip,一顿百度.谷歌……结果还都是关于Qt开源版本的介绍,如何在MinGW开发环境编译成了今天的话题. 安装MinGW或者DEV-CPP,设置环境变

利用openssl管理证书及SSL编程第3部分:将MinGW编译的openssl dll导出def和lib供MSVC使用

将MinGW编译的openssl dll导出def和lib供MSVC使用 前面我们用mingw把openssl 编译成了动态库,得到下面2个dll文件: libeay32.dll ssleay32.dll 然后用下面的脚本生成Windows MSVC需要的模块定义文件(.def, .lib和.exp), 然后就可以在VC中使用了. 前提系统要安装VS. 系统要求: Windows7+VS Studio (2008 and later)+MSYS 1) 根据32位dll生成模块定义文件的pytho