我和Pi-Calculus一样多,就像Backus Naur Form一样。 这是Pi微积分的核心BNF之一(见Peter Piwell的“应用Pi - 简要教程”)
P,Q ::= 0 nil
P | Q parallel composition of P and Q
~cv output v on channel c
cw.P input from channel c
new c in P new channel name creation
在行动中,我专注于学习Pi微积分。但我确实想知道在BNF的定义中P,Q :: =的含义。
我理解P :: =意味着Pi演算的过程P是这个或这个或那个。 但P,Q :: =代表什么?
答案 0 :(得分:2)
这意味着字母P
和Q
都用于表示流程。例如,在P | Q
中,P
是一个进程,Q
是一个进程。作者可以写
P ::= 0
P1 | P2
~cv
cw.P
new c in P
但最好允许两个不同的字母引用相同的概念,以使公式更具可读性。
顺便说一句,经典的BNF中的替代品是由垂直条隔开的;但由于垂直条|
在pi演算中具有意义,因此作者不想在它们的pi演算意义和BNF意义中使用它们。该定义仍应理解为“过程是零或并行组合,或......”。