Concurrency 在Backus-Naur形式中,逗号是什么';定义一个符号时表示什么

Concurrency 在Backus-Naur形式中,逗号是什么';定义一个符号时表示什么,concurrency,bnf,Concurrency,Bnf,我是Pi微积分的新手,就像我是巴科斯·诺尔形式的新手一样。 这里是Pi演算的核心BNF之一(在Peter Sewell的“应用Pi-简要教程”中找到) 事实上,我专注于学习Pi微积分。但我确实想知道在BNF的定义中P,Q:=的含义 我会理解p::=这意味着Pi演算的过程p是这个或这个或这个。 但是P,Q::=代表什么?这里,这意味着字母P和Q都用来表示过程。例如,在P | Q中,P是一个过程,Q是一个过程。作者本可以写 P ::= 0 P1 | P2 ~cv

我是Pi微积分的新手,就像我是巴科斯·诺尔形式的新手一样。 这里是Pi演算的核心BNF之一(在Peter Sewell的“应用Pi-简要教程”中找到)

事实上,我专注于学习Pi微积分。但我确实想知道在BNF的定义中P,Q:=的含义

我会理解p::=这意味着Pi演算的过程p是这个或这个或这个。
但是P,Q::=代表什么?

这里,这意味着字母

P
Q
都用来表示过程。例如,在
P | Q
中,
P
是一个过程,
Q
是一个过程。作者本可以写

P ::= 0
      P1 | P2
      ~cv
      cw.P
      new c in P
但为了使公式更具可读性,我们更倾向于允许两个不同的字母表示相同的概念


顺便说一下,传统上,BNF中的备选方案用竖条隔开;但是由于竖条
|
在pi演算中有意义,作者不想在pi演算和BNF意义中同时使用它们。这个定义仍然应该被理解为“一个过程要么是零,要么是一个平行组合,或者……”。

我还在搜索。。。但到目前为止,我看到的所有BNF示例仅定义了一个术语/符号。不是用逗号分隔的两个符号。很多是thanx。这更有意义。
P ::= 0
      P1 | P2
      ~cv
      cw.P
      new c in P