一文看懂“铁路图”

在学习《javascript语言精粹》的时候,遇到了一种叫做铁路图的东西,对其百思不得其解。经过查找资料和分析,总结出如下规律。

简介

铁路图(railroad diagram),又叫语法图(syntax diagrams),是一种表示形式语法的方式,是巴科斯范式和扩展巴科斯范式的图形化表示。

巴科斯范式(英语:Backus Normal Form,缩写为 BNF),又称为巴科斯-诺尔范式(英语:Backus-Naur Form,缩写同样为 BNF,也译为巴科斯-瑙尔范式、巴克斯-诺尔范式),是一种用于表示上下文无关文法的语言,上下文无关文法描述了一类形式语言。它是由约翰·巴科斯(John Backus)和彼得·诺尔(Peter Naur)首先引入的用来描述计算机语言语法的符号集。

尽管巴科斯范式也能表示一部分自然语言的语法,它还是更广泛地使用于程序设计语言、指令集、通信协议的语法表示中。大多数程序设计语言或者形式语义方面的教科书都采用巴科斯范式。在各种文献中还存在巴科斯范式的一些变体,如扩展巴科斯范式 EBNF 或扩充巴科斯范式 ABNF。
https://zh.wikipedia.org/wiki/%E5%B7%B4%E7%A7%91%E6%96%AF%E8%8C%83%E5%BC%8F

基本规则

  1. 从左边界开始,沿着轨道到右边界。
  2. 沿途,你在圆框中遇到的是字面量,在方块中遇到的是规则或描述。
  3. 任何沿着轨道能走通的序列都是合法的。
  4. 任何不能沿着轨道走通的序列都是非法的。
  5. 末端只有一个竖条的铁路图,表示允许在任意一对符号中插入空白。而在末端有两个竖条的铁路图则不允许。

Continue reading 一文看懂“铁路图”

苏州阳澄湖服务区

这段时间,我的朋友圈被网红服务区“苏州阳澄湖服务区”刷屏了!每张照片,鲜活而亮丽。

记得去年经过常州芳茂山恐龙主题服务区时,随即被其全新的主题诠释而憾动,将恐龙文化、地域特色、环境艺术、VR光影科技、美食、购物、体验等融入到服务区,打造“交通+游憩体验”的新商业模式。

阳澄湖服务区此次升级,在此基础上,以江南园林为主题,结合智能AI,将山情与水韵集于一身、建筑与音乐熔于一炉。 Continue reading 苏州阳澄湖服务区