llvm-t3 project plan

很久没有写代码了,现在的状况下很怕自己的手生了,所以一直想给自己找个小项目来做做。能赚钱的项目要么落不到我头上,要么就是太麻烦、太没技术含量、太廉价,干脆找点自己喜欢的事情做好了。

既然这点想通了,偶觉得最适合自己的项目就是在llvm的框架下构建一个ttcn-3的编译器了。虽然好像有点大了,但是无所谓,自己做着玩的。如果真做成“玩具”也就罢了,何况这块我还真没看到什么市场(这点和找工作时的想法一样)……

Idea

分成前端(编译器)和后端(执行器,ttcn-3有自己的执行语义)应该是没有什么异议了。

Frontend

前端的输入:应该是ttcn-3的文本描述形式,至于表描述形式和图描述形式,暂且推迟考虑。

前端的输出:LLVM的bytecode?(这一块还真是不了解)后续工作应该再支持输出ttcn-3的图、表描述形式。

 

前端的实现:本来想着是不是用lex和yacc来实现词法和语法分析,后来决定还是自己手工实现吧。要不然作为号称的“编译器爱好者”,没自己动手做过词法、语法实在说不过去,再者想深入学习一下clang里面的东西(手工实现可以强迫自己读一下parser)。代码优化,先pass吧……代码生成,还不知道该怎么做,继续学习……图、表生成,先仅在设计阶段考虑好了……

 

准备工作:t3核心语义忘得差不多了,需要复习一下;clang的parser,是无论如何都要深入研读了;原来项目的东西,也需要回顾回顾。

Backend

对于后端的认识,太有限了,有空先看看ttcn-3的操作语义、TRI、TCI吧。而且对于llvm后端的认识,应该说为0。

 

唉,就想了这么多。做一步,想一步;想一步,写一步吧。

具体的例如进度表什么的,就不给自己定了,事情太多,忙不过来。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值