簡體   English   中英

如何在BNF中表示Java樣式的OR?

[英]how to represent Java-style OR in BNF?

美好的一天。 我想知道,如果我想做一個表示Java中if-else子句的Backus-Naur表單,我該如何在多個條件下使用OR和AND? 我知道AND可以簡單地用&&表示,或用||表示。 但是由於垂直線已經是BNF語法的一部分,所以我想知道是否仍然允許這樣做。

來自: https : //users-cs.au.dk/amoeller/RegAut/JavaBNF.html

<conditional or expression> ::= <conditional and expression> | <conditional or expression> || <conditional and expression>

<conditional and expression> ::= <inclusive or expression> | <conditional and expression> && <inclusive or expression>

邏輯還是很明確,因為您有兩個|| ,但是您始終可以用粗體,其他字體或引號來表示文字。

此處的另一個示例: https : //users-cs.au.dk/amoeller/RegAut/JavaBNF.html對文字使用粗體和固定寬度的字體。

Wiki顯示引號,如果您沒有可用的多種字體,這是最安全的:

<expression> ::= <list> | <list> <opt-whitespace> "|" <opt-whitespace> <expression>

暫無
暫無

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

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