自己做一个编程语言——algoscript开发(1)

本文记录了作者开发轻量级编程语言algoscript的初步过程,包括设计输入、输出和变量的基础功能。采用string数组存储语句,通过run函数实现编译。对于输出,增加了对换行的支持,使用//包裹特殊内容如/endl/表示换行。变量管理使用map存储,支持无需预先定义的特性。
摘要由CSDN通过智能技术生成

如题,我最近突然想写一个编译器,于是,algoscript的开发被提上日程。

那必定得先明确干什么:

主要定位:轻量级,无面向对象支持(反正本来的设想就是能让人专注于算法,忽略一些在轻量级开发上无需的内容)

我们先开发几个基础内容:输入,输出,变量。

1.读入语句

这是基础中的基础,先开发这个。

我们使用一个string数组来存储语句,值得注意的是,这个数组中并不是存储一行,而是存储近似与token的东西。

大概形如这样:

这样就解决了输入问题。

2.输出

先来讲一下这里的编译实现:

通过一个函数run(int i)来实现编译,每次处理一个主要token(即output,input……),然后返回下一个主要token的位置,从而实现编译

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值