C-mini 程序设计语言的设计与实现

1  前言

  最近一直在学习编译原理的内容,深知如果不自己动手实现一个编译器,那么这就是在谈一场不以结婚为目的的恋爱,这就是耍流氓。所以从现在开始我要自己实现一个类似于c语言的编译器,把设计的方案与细节总结在这里。也希望大家多给我提一些宝贵的意见。

2 介绍

  这个语言与c语言非常相似,也与现有的很多程序设计语言有很多共同点。但也有很多地方与c语言不同,比如c-mini包含了foreach循环语句,在函数体中变量的声明顺序也与c语言不同。
  不同元素的类型使用不同的字体来表示:

  • 关键字(eg. for,while,static)使用这种字体
  • 记号TOKEN(ID,NUMLITERAL,STRLITERAL)使用这个字体
  • 非终结符Nonterminals使用这个字体
2.1 TOKEN 的定义
  • letter = a | … | z | A | … | Z
  • digit = 0 | … | 9
  • NUMLITERAL = [+ | -] digit+
  • ID = letter (letter | digit)∗
  • STRLITERAL= “任何除了” 以外的字符”
  • CHARLITERAL =
  • BOOLITERAL = true | false
  • Comments= /* ……anything but except * /…… */
  • White space=制表符
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值