java - UML Activity 图的 AST

标签 java compiler-construction uml abstract-syntax-tree

我目前正在做一个将uml图转换为java代码的项目,在其中一个步骤中我必须为一般 Activity 图创建一个ast并为ast编写一个java代码。问题是我不确定如何用 java 代码表示它以接受任何 Activity 图作为输入。请需要一些帮助。

这是一般 Activity 图的元模型,我想将此图表示为接受输入的java代码。

Activity Diagram Metamodel

pdf 第二页上的第一个图表

最佳答案

您使用什么工具来创建 Activity 图?大多数将提供 API 来查询模型和/或 XMI 导出*。无论哪种情况,您都不会获得 AST 本身,更多的是模型的对象结构。但迭代该结构并生成代码仍然非常容易。

值得考虑的一个选项是 Eclipse Modeling Framework (EMF) 。有一些工具可用于创建图表(例如 Papyrus ),也有多种用于从模型生成代码的选项(例如 Acceleo ) - 请查看 'Model to Text' (M2T)子项目。

即使您决定使用其他工具来创建图表,也可以使用 Eclipse M2T 来生成代码;大多数工具都会以 eclipse 方言导出 XMI。

第h。

--

*XMI 是 UML 模型交换的“标准”。最初它受到解释不一致的困扰,今天工具之间仍然存在一些问题。然而:它是一种 XML 方言,因此即使工具 B 无法直接从工具 A 导入 XMI,通常也可以在两者之间进行转换。

关于java - UML Activity 图的 AST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22241215/

相关文章:

Java刷新第二种形式

uml - “敏捷”UML 绘图软件

java - 在 CentOS 上通过节点启动 appium 的 appium.js 文件位置是什么

c# - C# 编译器是用 C++ 编写的吗?

linux - 为什么我的代码会在启动函数结束时崩溃?

c - 用编译语言编写的编译器如何处理错误?

mysql - 关于在 SPA Angular 中使用 UML 的几个问题

dependencies - 提供/要求表示法中接口(interface)之间的 UML 依赖关系

java - 如何使用 Google Admin SDK Java API 添加用户别名

java - 分治赫尔算法