15、命令式语言与Micro - C编译

本文还有配套的精品资源,点击获取 menu-r.4af5f7ec.gif

命令式语言与Micro - C编译

1. 命令式语言练习

1.1 扩展Micro - C词法分析器和解析器

需要扩展Micro - C的词法分析器和解析器,以接受C/C++/Java/C#风格的条件表达式 e1 ? e2 : e3 。其抽象语法可以表示为 Cond(e1, e2, e3) ,同时需要修改 Absyn.fs 文件。

1.2 接受范围条件

大多数编程语言(包括Micro - C)通常不允许如数学中常见的范围条件,如 1 <= x < 365 。需要修改Micro - C解析器以接受此类范围条件。在此之前,需要确定接受的表达式类型,例如是否接受 z < x > y 以及其含义,并为这些表达式生成合适的抽象语法。这一过程可能存在一些陷阱,需要谨慎处理。

1.3 解释C类型声明

使用Micro - C的部分抽象语法、词法分析器和解析器,编写一个F#程序,以类似旧Unix实用工具 cdecl 的风格解释C类型声明。例如:

cdecl> explain int *arr[10]
declare arr as array 10 of pointer to int
cdecl> explain int (*arr)[10]
declare arr as pointer to array 10 of int
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值