铁路图详解
2015-10-12 20:30
1381 查看
在学习《javascript语言精粹》的时候,遇到了一种叫做铁路图的东西,对其百思不得其解。经过查找资料和分析,总结出如下规律。
简介
铁路图(railroad diagram),又叫语法图(syntax diagrams),是一种表示形式语法的方式,是巴科斯范式和扩展巴科斯范式的图形化表示。
基本规则
从左边界开始,沿着轨道到右边界。
沿途,你在圆框中遇到的是字面量,在方块中遇到的是规则或描述。
任何沿着轨道能走通的序列都是合法的。
任何不能沿着轨道走通的序列都是非法的。
末端只有一个竖条的铁路图,表示允许在任意一对符号中插入空白。而在末端有两个竖条的铁路图则不允许。
示例
以javascript为例,声明变量的语法。
则语法如下:
1、空。
2、从name和=之间绕行。
3、中间横向语句。
3、在expression和;之间循环。
注:圆角向内表示循环,向外则不循环。或者将左下弧理解为出口,右下弧理解为入口。
简介
铁路图(railroad diagram),又叫语法图(syntax diagrams),是一种表示形式语法的方式,是巴科斯范式和扩展巴科斯范式的图形化表示。
基本规则
从左边界开始,沿着轨道到右边界。
沿途,你在圆框中遇到的是字面量,在方块中遇到的是规则或描述。
任何沿着轨道能走通的序列都是合法的。
任何不能沿着轨道走通的序列都是非法的。
末端只有一个竖条的铁路图,表示允许在任意一对符号中插入空白。而在末端有两个竖条的铁路图则不允许。
示例
以javascript为例,声明变量的语法。
则语法如下:
1、空。
2、从name和=之间绕行。
var name;
3、中间横向语句。
var name = expression;
3、在expression和;之间循环。
<pre name="code" class="javascript">var name, name,...,name;
var name = expression, name = expression,..., name = expression;4、在分号之后循环。
var name = expression; var name = expression; ...
注:圆角向内表示循环,向外则不循环。或者将左下弧理解为出口,右下弧理解为入口。
相关文章推荐
- 如何设计一个app
- 类的专有方法(__repr__)
- C#设计没有边框的form
- 配置linux httpd conf
- 一行代码获取通讯录联系框架
- leetcode289 : Game of Life
- 项目36.1M$pszi$y是嘛意思?
- ViewController中[self setTtile]与[self.navigationItem setTitle]的区别
- Android 利用广播实现指定号码的短信的拦截 附源码下载链接
- 慕课JAVA攻城狮计划---使用 Date 和 SimpleDateFormat 类表示时间
- [svn] TortoisSVN的Blam功能
- MATLAB字符串数组等的运用
- 我为什么要学习经济学
- mac下搭建前端自动化工程
- LeetCode -- Valid Parenthese
- 见拦截导弹
- 什么是死锁及死锁的必要条件和解决方法【转】
- 博客集合
- dos下通过wmic命令查看硬盘和内存/CPU信息(windows自带命令查看硬件信息)
- c++调用lua时简单打印lua栈