实现一个脚本语言Raven(一)】的更多相关文章

之前实现了Raven语言的0.1版,仅仅支持表达式处理与控制语句,由于不支持数组.函数.类,甚至都不是图灵完全的语言. 现在参考vczh的博客打算重新写一遍Raven语言.陈祖不愧是神啊,高中就写出支持脚本的游戏地图编辑器了. 据说脚本引擎有四个重要属性: 命令式.描述式 按值计算.惰性计算 强类型.弱类型.无类型 函数与闭包 跟之前说好的一样,Raven语言是命令式按值计算支持函数闭包的弱类型语言,内置有正则表达式引擎一枚. 再次动手之前先记录一些会用到的知识点与灵感. 语法树采用visite…
今天开始想写一个脚本语言编译器.在这个领域,我还是知道的太少了,写的这个过程肯定是艰辛的,因为之前从来没有接触过这类的东西.写在自己的博客里,算是记录自己的学习历程吧.相信将来自己有幸再回过头来看到自己写的这个东西,一定会感觉当时的自己很有意思吧.哈哈. 首先要做的事情是先明白一些基础性的知识.分清楚几个概念.搞明白自己要做的是什么. 1.程序设计语言(Java,C,C++等)这些在设计程序时用的语言就是程序设计语言.程序写完了,就需要有相应额软件来执行.这种软件就是语言处理器. 2.语言处理器…
好吧!我承认我想标题党了.大家对解释器的吸引,绝对没有自己动手写一个脚本语言更有吸引力.不过如果看到标题过来的,可能也是 我承认,之前收藏的减肥视频,我都是这样对待他们的. 不过我还是相信很多程序猿or程序媛不仅仅希望可以做出一个牛逼的产品,更想做出来一个牛逼闪闪的编程语言.而这里就是朝着开发一个脚本语言的方向去努力 恩!我就是xxoo语言之父. 前几篇文章已经实现一个简易的加减法计算器,想必看了文章之后可以很快的写出来一个乘除法计算器.那么如果加减乘除混合运算呢? 这节将实现类似6-1*2+4…
首先要明白,这三种说的混用是指文件级别的混用,就是说一个文件是由一种语言写的.而不是说你这一个文件可以混用这三种语言,注意这是不允许的. 第二要明白,在unity3d中为什么可以使用三种语言混合开发?这个问题简单说一下,我举一个例,如英语和中文,如果你不懂英文,你就需要别人将英文翻译成中文,你才能听懂.同样你懂英文,不懂中文,你就需要把中文翻译成英文.如果世界就二种语言,那就太好了,很可措,不是,如果你听我们的老大哥俄文怎么办,找人将俄文翻译成中文,英文,同时将英文,中文翻译成俄文,这工作量还可…
Redis进阶实践之七Redis和Lua初步整合使用 一.引言 Redis学了一段时间了,基本的东西都没问题了.从今天开始讲写一些redis和lua脚本的相关的东西,lua这个脚本是一个好东西,可以运行在任何平台上,也可以嵌入到大多数语言当中,来扩展其功能.lua脚本是用C语言写的,体积很小,运行速度很快,并且每次的执行都是作为一个原子事务来执行的,我们可以在其中做很多的事情.由于篇幅很多,一次无法概述全部,这个系列可能要通过多篇文章的形式来写,好了,今天我们进入正题吧. 二.Lua简介    …
InstallShield脚本语言是类似C语言,利用InstallShield的向导或模板都可以生成基本的脚本程序框架,可以在此基础上按自己的意愿进行修改和添加.     一.基本语法规则      1.变量      BOOL 布尔型 值为TRUE(1)或FALSE(0)      CHAR 字符型 一字节长的(8bit)的字符      HWND 窗口句柄 用来存放窗口句柄      INT 整型 两字节长的整数      LIST 列表型 指向InstallShield列表,用ListCr…
javascript,Javascript是一种浏览器端的脚本语言,用来在网页客户端处理与用户的交互,以及实现页面特效.比如提交表单前先验证数据合法性,减少服务器错误和压力.根据客户操作,给出一些提升,让用户体验更好等.也可以实现一些页面动画. 有两种,一种是嵌在网页里的.一种是引用的. 先看看嵌在网页中的.比较易懂. 一.嵌网页的脚本格式脚本可以写在任何位置,但一般来说都写在网页最底部,因为网页运行需要一个顺序.如果写在上面需要再写一段代码. <script type="text/jav…
一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市场快速变化的开发团队,以达到节省开发成本.缩短开发时间,快速适应市场变化的目的. AgileEAS.NET SOA中间件平台提供了敏捷快速开发软件工程的最佳实践,通过提供大量的基础支撑功能如IOC.ORM.SOA.分布式体系及敏捷并发开发方法所支撑的插件开发体系,以及提供了大量的实体.数据模型设计生…
Script.NET是一种动态的脚本语言,它使得程序可扩展,可定制,和维护性好.和Office系列的VB Script相似,可以在应用中嵌入大量的代码块,以便在运行时才执行这些代码. Script.NET的设计理念是:简单(simplicity),有效率(efficiency),容易上手(intuitive).先通过例子,来做一个基本的了解. using System; using System.Diagnostics; using System.IO; using ScriptNET; usi…
C#Light的定位是嵌入式脚本语言,一段C#Light脚本是一个函数 C#Evil定位为书写项目的脚本语言,多脚本文件合作,可以完全用脚本承载项目. C#Light/Evil 使用完全C#一致性语法 目前 C#Light已经是正式版,且经商业项目检验 C#Evil是Alpha版,欢迎试用反馈. C#Evil在C#Light的基础上 从底层支持了面向对象,请注意下面是脚本代码 不同于C#Light没有函数和类的设计,(C#Light只是用C#LightFramework来模拟整个cs文件的识别,…