可扩展语言与模拟框架相关研究及方法解析
1. 相关工作概述
在探讨相关技术时,会涉及到多个不同的分支领域,下面为你详细介绍。
1.1 可扩展编程语言
可扩展编程语言在 20 世纪 70 年代开始流行,并且这一技术至今仍在应用于最先进的编程语言中。例如,针对 Java 和 C++ 语言有一些相关的研究。像 Java 语法扩展器(JSE),它是 Java 的预处理器,允许添加一些特定语法形式的扩展,并且扩展可能包含某些 Java 构造。不过,由于扩展语法存在局限性,无法从中派生出自定义建模工具。
1.2 可扩展模拟语言
可扩展模拟语言相对较少,已知的只有具有可扩展性的模拟语言(SLX)。SLX 是一种面向对象的语言,它有一个小而强大的类似 C 的核心语言,排除或限制了 C 语言中容易出错或主要供系统程序员使用的构造。同时,它添加了用于表达并发、调度和同步的离散事件模拟原语。此外,该语言可以通过具有独特符号和语义的新语句和表达式进行扩展,支持的语言类别是正则语言的子集。其语义被定义为对 SLX 自身的映射,这为运行时高效的模拟执行奠定了基础。SLX 还通过专门开发的编译器,实现了对时间延迟、状态事件和无条件阻塞以及显式重新激活的高效处理,在执行速度上比通用语言的编译器更具优势。
1.3 综合 DSL 开发框架
将通用概念融入领域特定语言(DSL)的综合 DSL 开发框架是较新的趋势,其中杰出的代表是 Xtext 和元编程系统(MPS)。
- Xtext :开发从具体语法开始,从中派生元模型。语义必须描述为对 Java 的映射,这通过编写一个对表示为