让我们设计一门编程语言吧(2)


3. 还有别的办法吗 ?
    也许好的办法正在某一个角落里偷偷等等我们。

我们何不换一种思维方式来解决这个问题,那就是:

我们设计一门编程语言来描述不同的文件格式,开发一个编译器来解析这门语言,同时开发一个文件处理器来处理这样的文件。我们先把这门语言暂时称为SDT,把用SDT语言写的程序称之为SDT脚本吧:)

SDT_SOLUTION

2  文件的解析

       如图2所示,我们的编译器(Compiler)接受用SDT语言写的脚本,把它处理成一堆符号流,传给文件处理器(Distill),文件处理器接受这样的符号流,用它来解析数据文件(即各种各样的数据文件),然后将生成的结果保存在我们的数据库(Database)里,通过这一过程,就顺利完成了对数据文件的解析。我们把上面的三个模块统称为SDTKernel吧!

那么我们回过头来再看以前提出的问题:

a)       跨平台

SDT脚本是文本文件,要保证SDTKernel扩平台就可以了。例如我们可以使用C++开发这样的Kernel,然后在不同的操作系统下重新编译。而对于SDT语言的使用者,则这需要不同的操作系统安装不同的SDTKernel就可以了。

b)      数据接口

我们再开发一个小型的数据库存储引擎,提供保存、查询、打印这样的数据,同时还为将文件往数据库导入增加了砝码

c)       开发门槛

取决于SDT语言的复杂度,不过与Java/C++这样的庞然大物相比,我们确信她一定很Mini;当然就看我们怎么去设计它了J

看上去任务很重,非常艰巨,看到这,那么还有信心吗?

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值