博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《领域特定语言》一1.7 可视化
阅读量:6076 次
发布时间:2019-06-20

本文共 607 字,大约阅读时间需要 2 分钟。

1.7 可视化

语言工作台的一大优势在于它们给了DSL更为多样的表现形式,特别是图形化表示。然而,即便是文本化的DSL也可以有图形化的表示。确实,我们在本章中非常早就看到这些内容。当查看图1-1时,你也许已经注意到了,这个图并不像我以往所画的那些图那样整洁。原因在于,这并不是我画的图,而是我根据格兰特小姐控制器的“语义模型”(第11章)自动生成的。状态机类不仅可以执行,还可以用DOT语言对自身进行渲染。

DOT语言是Graphviz包的一部分,它是一个开源工具,可以用它描述数学里的图结构(节点和边),然后自动画出来。只要告诉它,什么是节点,什么是边,用什么样的形状,以及其他一些提示,它就会算出如何对这个图进行布局。
对许多DSL来说,使用类似于Graphviz这样的工具非常有用,因为它给了我们另一种表现形式。类似于DSL本身,这种可视化(visualization)表现形式可以让人更好地理解模型。可视化不同于对应的源码,其本身无法编辑─但是,另一方面,它可以完成可编辑形式无法完成的操作,比如渲染出那样的图。
可视化并不一定要图形化。当编写解析器时,我时常用简单的文本可视化帮我调试。我见过有人用Excel生成可视化的东西,帮助他们与领域专家交流。重点在于,一旦经过辛勤工作创建出语义模型,添加可视化真的就很容易。注意,可视化是根据模型产生的,而非DSL,因此,即便不用DSL组装模型,依旧可以这么做。

转载地址:http://oragx.baihongyu.com/

你可能感兴趣的文章
模拟两地公司通过***专用网路远程搭建AD DC额外域的实验
查看>>
JAVA运行时数据区域
查看>>
淘宝和百度解禁:淘宝客前途堪忧
查看>>
windows server 2008 R2 之DNS
查看>>
Linux文件系统与目录配置
查看>>
zabbix安装配置
查看>>
9个永恒的UI设计原则
查看>>
[20180403]访问dba_autotask_task无输出问题.txt
查看>>
2015.3.12 C#运用正则表达式点滴
查看>>
zencart后台订单详细页显示产品图片和链接
查看>>
Android 项目隐藏标题栏
查看>>
OpenCV(1)读写图像
查看>>
BZOJ2648/2716:SJY摆棋子/[Violet]天使玩偶(K-D Tree)
查看>>
1.1js语言核心
查看>>
LightOJ - 1010 Knights in Chessboard
查看>>
杭电2122--Ice_cream's world III
查看>>
Lucene.Net介绍
查看>>
如何在sumbline运行python文件
查看>>
[转] babel的使用
查看>>
jquery对话框插件
查看>>