語法圖(Syntax diagrams )又叫鐵路圖(railroad diagrams)是描述形式文法的一種方式。它是巴科斯范式或擴(kuò)展巴科斯范式的圖形化表示披诗。
鐵路圖(railroad diagram)規(guī)則:
1.從左邊界開始沿著軌道去到右邊界甲献。
2.沿途宰缤,你將在圓框中遇到的是字面量,在方塊中遇到的是規(guī)則或者描述晃洒。
3.任何沿著軌道能走通的序列都是合法的撵溃。
4.任何不能沿著軌道走通的序列都是非法的。
5.每個(gè)末端只有一個(gè)豎條的鐵路圖允許在任何一對標(biāo)記中間插入空白锥累。而在末端有兩個(gè)豎條的鐵路圖是不允許的。
每個(gè)圖都有一個(gè)起始點(diǎn)和一個(gè)終點(diǎn)集歇。這個(gè)圖通過穿過其他的非終結(jié)符和終結(jié)符描繪了這些兩點(diǎn)之間的可能路徑桶略。終結(jié)符用圓形區(qū)域表示,同時(shí)非終結(jié)符用方形區(qū)域表示诲宇。
鐵路圖(railroad diagram)示例
<term>::= <factor> | <factor> "*" <term>
<factor>::= <constant> | <variable> | "(" <expression> ")"
<variable>::= "x" | "y" | "z"
<constant>::= <digit> | <digit> <constant>
<digit>::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
這里的箭頭也可簡化為有弧度的線
例如:
red