語法圖(Syntax diagrams )又叫鐵路圖(railroad diagrams)是描述形式文法的一種方式。它是巴科斯范式或擴展巴科斯范式的圖形化表示。
鐵路圖(railroad diagram)規則:
1.從左邊界開始沿著軌道去到右邊界。
2.沿途,你將在圓框中遇到的是字面量,在方塊中遇到的是規則或者描述。
3.任何沿著軌道能走通的序列都是合法的。
4.任何不能沿著軌道走通的序列都是非法的。
5.每個末端只有一個豎條的鐵路圖允許在任何一對標記中間插入空白。而在末端有兩個豎條的鐵路圖是不允許的。
每個圖都有一個起始點和一個終點。這個圖通過穿過其他的非終結符和終結符描繪了這些兩點之間的可能路徑。終結符用圓形區域表示,同時非終結符用方形區域表示。
鐵路圖(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"
image.png
這里的箭頭也可簡化為有弧度的線
例如:
QQ截圖20170827160915.png
red