没有合适的资源?快使用搜索试试~ 我知道了~
为了使得这个作业的难度能够被接受,这里所采用的 Decaf/Mind 语言的特性是经过删减和简化的,但即使这样,你将会发现这种语言的表达能力仍然足够编写出各种漂
资源详情
资源评论
资源推荐
Decaf/Mind 语言规范
在本课程中,我们将为 Decaf/Mind 语言编写一个编译器。Decaf/Mind 是一种强类型的、
面向对象的、支持继承和封装的语言。这个语言被设计成跟 C/C++/Java 非常类似,因此你会发
现很容易弄懂它。但是记住,它并不和这些语言中的任何一个完全一样。为了使得这个作业的
难度能够被接受,这里所采用的 Decaf/Mind 语言的特性是经过删减和简化的,但即使这样,你
将会发现这种语言的表达能力仍然足够编写出各种漂亮的面向对象程序来。
这份文档给出这种语言的语法和语义规范,你在完成这个课程项目的过程中将会反复查阅。
词法规范
下面的是关键字,他们都是保留字:
bool break class else extends for if int new null return string
this void while static Print ReadInteger ReadLine instanceof
一个标识符是以字母开头的字母、数字和下划线的序列。Decaf/Mind 是大小写敏感的,
例如 if 是一个关键字,但是 IF 却是一个标识符,binky 和 Binky 是两个不同的标识符。
空白字符(即空格、制表符和换行符)仅用于分隔单词。关键字和标识符必须被空白字符
或者一个既不是关键字也不是标识符的单词隔开。ifintthis 是单个标识符而不是三个关键
字,但 if(23this 被识别成四个单词。
布尔常量是 true 或者 false,如同关键字一样,它们也是保留字。
一个整型常量既可以是十进制整数也可以是十六进制整数。一个十进制整数是一个十进制
数字(0-9)的序列;十六进制整数必须以 0X 或者 0x 开头(是零,而不是字母 O),后面跟
着一个十六进制数字的序列。十六进制数字包括了十进制数字和从 a 到 f 的六个字母(大小写
均可)。合法的整数的例子有:8, 012, 0x0, 0X12aE。
一个字符串常量是被一对双引号包围的可打印 ASCII 字符序列。字符串常量中不可以包含
换行符,也不可以分成若干行,例如:
"this is not a
valid string constant"
字符串常量中支持以下几种转义序列:\"表示双引号,\表示单个反斜杠, 表示制表
符, 表示换行符。其它情况下不认为反斜杠(\)是转义符。例如:"\t"是一个长度为 1 的
字符串,其中的 转义为制表符;而"\u"是一个长度为 2 的字符串,它包含反斜杠和字母 u
两个字符。
这个语言中的操作符和分隔字符包括:
老许的花开
- 粉丝: 21
- 资源: 328
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- CocosDashboard-v2.1.3-win-042311.exe
- 基于yolov5和deepsort算法的车辆检测项目源码+数据集(高分项目).zip
- 基于YOLOv5+Deepsort实现车辆行人追踪和计数(完整源码+说明文档+数据).zip
- 150360364459673Pex10_9.py
- 74ls138译码器Multisim仿真设计
- 深度学习在图像分类任务中的应用
- 华为OD资源整理-包含华为OD概述,招聘流程等
- 基于BP神经网络的供热管道压力和温度预测(代码完整,数据齐全)
- 架空电力线弧垂计算公式
- 基于BP神经网络的四分类预测,基于RBF的四分类预测,基于GRNN的四分类预测,基于PNN的四分类预测
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0