簡體   English   中英

Backus-Naur形式(BNF)遞歸

[英]Backus-Naur Form (BNF) Recursion

我在如何用BNF表示遞歸方面遇到麻煩。 在我的情況下,一個“項”可以由一個值,乘和除(如圖所示)組成,我想到了以下內容:

<term> ::= <value>
              | <value> “*”
              | <value> “/”

遞歸規范是指非終端在生產規則中遞歸出現的規范。 看一下以下語法,它是一個遞歸規范,包含+,*,$(exponentiation)並使用BNF表示法:

 <exp>     := <exp> + <term> | <term>
 <term>    := <term> * <factor> | <factor>
 <factor>  := <factor> $ <primary> | <primary>
 <primary> := id

如您所見,所有在:=的LHS中的非終端也都在生產(RHS)中,因此它稱為遞歸BNF表示法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM