[翻译计划]脚本引擎实现

来源:互联网 发布:js数组排序方法速度 编辑:程序博客网 时间:2024/06/08 15:56
原文标题:Implementing A Scripting Engine
原文地址:http://www.flipcode.com/articles/scripting_issue01.shtml
作者:Jan Niestadt
目录
  Implementing A Scripting Engine - Part 1 - Overview      [Tony Qu][完成]
  Implementing A Scripting Engine - Part 2 - The Lexical Analyzer   [darkangle][完成]
 
Implementing A Scripting Engine - Part 3 - The Parser    [Tony Qu][完成]
  Implementing A Scripting Engine - Part 4 - The Symbol Table & Syntax Tree  [Tony Qu][完成]
  Implementing A Scripting Engine - Part 5 - The Semantic Checker & Intermediate Code Generator
  Implementing A Scripting Engine - Part 6 - Optimization
  Implementing A Scripting Engine - Part 7 - The Virtual Machine
  Implementing A Scripting Engine - Part 8 - Executable Code
  Implementing A Scripting Engine - Part 9 - Advanced Subjects

脚本引擎介绍 及 本人对脚本引擎的理解
   脚本引擎虽然听起来有些陌生,但其实应用十分广泛,比如我们现在用的高级语言,如.net就是建立在虚拟机基础上的,在.net的虚拟机中使用了MSIL,从一定意义上讲,它就是一个脚本引擎的体现,因为这种语言并非计算机的汇编语言,但却也是一种引擎架构,能够把自己转换为更底层的汇编语言。当然其实更恰当的例子应该是类似于vb6这样的解释型语言,因为它们不存在编译的问题,完全就是跑在一个虚拟架构下,对语言进行实时处理的,所以大家会发现vb6的程序如果报错,并不会跳异常,而仅仅是报一个vb6自带的run-timeerror,虽然表现形式是差不多的,但原理完全不同,有兴趣的朋友可以去看一下语言实现方面的书,这样会有更进一步的了解。还有一些应用如业务逻辑引擎,这种应用仅在十分高端的工作流引擎中才会用到,如SAP的业务逻辑引擎就是如此,它是一种简化了的商业逻辑语言,建立在已定义的工作流自定义项的基础上。

关于本次翻译计划
    在原来的文章中,代码是用c++实现的,考虑到大家都是.net阵营的,有时间的话可能用c#实现一下。不过最近我也比较忙,如果大家有时间的话,帮我一起翻译,我会十分欢迎的。
   
原创粉丝点击