首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"Javascript,美好的部分“:铁路图

"Javascript,美好的部分“:铁路图
EN

Stack Overflow用户
提问于 2013-10-14 21:56:04
回答 3查看 5K关注 0票数 17

我正在阅读道格拉斯·克罗克福德( Douglas Crockford )的"Javascript,美好的部分“(Javascript,The Good Parts),很难理解所有铁路图表的用法。他也没有详细说明这一点。他只是说了以下(关于pg )。21)

解释这些图表的规则很简单:

  • 你从左边的边缘开始,沿着轨道走到右边的边缘。
  • 在进行过程中,您将遇到椭圆形的文字,以及矩形中的规则或描述。
  • 任何可以通过跟踪轨道来制作的序列都是合法的。
  • 任何不能通过跟踪来制作的序列都是不合法的。
  • 铁路图的两端各有一个栏,允许在任意对令牌之间插入空格。两端都有两根铁轨的铁路图是没有的。

我知道,这本书被认为是对任何认真对待Javascript的人来说的基本读物,我非常想了解他正在讨论的概念。但有些东西并没有点击整个铁路图表的事情。

有人能解释一下他对铁路图表的使用吗?举个例子就好了。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-10-15 01:44:58

铁路图(语法图,图解)是解释语法的一种图形方式。如果你想要做的只是理解一个铁路图,理解你从左边开始,然后沿着这条线(轨道)。当你遇到一个符号/名字,你沿着这条轨道走,直到它完成,然后回到你停下来的地方。

此外,阅读关于BNF和EBNF (扩展?巴克斯-诺尔形式主义( 表格),这是描述语言语法、使用一组产品或重写规则的一种正式方式。BNF/EBNF的工作原理与铁路图一样,但使用符号符号、::=产生符号和一种更正式/更数学的方法来记录语法。

票数 5
EN

Stack Overflow用户

发布于 2013-10-14 22:11:00

这个IBM页面可能有最简单的解释。

维基百科页面提供了关于如何构造它们的更多信息。

票数 7
EN

Stack Overflow用户

发布于 2017-03-20 11:28:25

我也在读这本书。我花了很长时间,但终于明白了铁路图。

首先,正如@ChuckCottrill所提到的,您应该对语法图BNF/EBNF有一个基本的认识。但读了之后,我仍然很困惑,直到我比较了三张不同情况的图表:

零或多,零或一,一个或多个

要理解它们之间的差异(如下图所示),重点是“从左边的边缘开始,然后沿着轨道走到右边的边缘。”所以想象你是火车,你只是右转,不能左转。

以上图片由http://bottlecaps.de/rr/在“编辑语法”选项卡中创建,输入以下语法:

代码语言:javascript
复制
zeroormore ::= element*
zeroorone ::= element?
oneormore ::= element+
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19369944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档