2、利用Vmgen构建解释器及LOTOS NT在编译器构建中的应用

利用Vmgen构建解释器及LOTOS NT在编译器构建中的应用

1. Vmgen构建解释器

1.1 解释器概述

解释器是实现编程语言的常用方法,具有易于实现、可移植性强以及快速编辑 - 编译 - 运行周期等优点。Vmgen是一个解释器生成器,它可以自动完成编写解释系统中虚拟机(VM)部分的许多任务。Vmgen支持多种高性能技术和优化,使用它构建的解释器往往比其他同语言的解释器更快。

1.2 示例介绍

本次使用的示例是Vmgen包中提供的一个小型类Modula - 2语言的解释系统,该语言使用JVM风格的虚拟机,支持整数变量和表达式、赋值、if和while结构、函数定义和调用。示例解释器由前端和VM解释器两部分组成,前端负责解析源代码并生成VM代码,VM解释器负责执行VM代码。

1.3 示例代码文件分析

示例解释器的源代码文件及其相关信息如下表所示:
| 名称 | 行数 | 描述 |
| — | — | — |
| Makefile | 67 | |
| mini - inst.vmg | 139 | VM指令描述 |
| mini.h | 72 | 公共声明 |
| mini.l | 42 | 前端扫描器 |
| mini.y | 139 | 前端(解析器、VM代码生成器) |
| support.c | 220 | 符号表、main() |
| peephole - blacklist | 3 | 不能组合的VM指令 |
| disasm.c | 36 | 模板:VM反汇编器 |
| engine.c | 186 |

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值