zoukankan      html  css  js  c++  java
  • 实现一个脚本语言Raven(一)

    之前实现了Raven语言的0.1版,仅仅支持表达式处理与控制语句,由于不支持数组、函数、类,甚至都不是图灵完全的语言。

    现在参考vczh的博客打算重新写一遍Raven语言。陈祖不愧是神啊,高中就写出支持脚本的游戏地图编辑器了。

    据说脚本引擎有四个重要属性:

    1. 命令式、描述式
    2. 按值计算、惰性计算
    3. 强类型、弱类型、无类型
    4. 函数与闭包

    跟之前说好的一样,Raven语言是命令式按值计算支持函数闭包的弱类型语言,内置有正则表达式引擎一枚。

    再次动手之前先记录一些会用到的知识点与灵感。

    语法树采用visiter模式。

    构造出语法树以后,指定一个visiter给语法树,这样不管想要解释型还是编译型都可以用不同的visiter来实现。

  • 相关阅读:
    菜根谭#317
    菜根谭#316
    菜根谭#315
    菜根谭#314
    菜根谭#313
    菜根谭#312
    菜根谭#311
    菜根谭#310
    菜根谭#309
    Matlab xpC启动盘
  • 原文地址:https://www.cnblogs.com/zinthos/p/4005309.html
Copyright © 2011-2022 走看看