1

私は Backus Naur Form と同じくらい Pi-Calculus の初心者です。これは Pi Calculus のコア BNF の 1 つです (Peter Sewell による「Applied Pi - A Brief Tutorial」にあります)。

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

実際、私は円周率計算の学習に集中しています。しかし、BNF の定義における P,Q ::= の意味について疑問に思います。

P ::= は、円周率計算のプロセス P がこれまたはこれまたはこれであることを意味すると理解できます。しかし、何 P,Q ::= の略ですか?

4

1 に答える 1

2

ここで、これは文字PQが両方ともプロセスを表すために使用されることを意味します。たとえば、 ではP | QPはプロセスでありQ、 はプロセスです。作者は書いたかもしれない

P ::= 0
      P1 | P2
      ~cv
      cw.P
      new c in P

ただし、数式をもう少し読みやすくするために、2 つの異なる文字が同じ概念を参照できるようにすることをお勧めします。

ところで、古典的に BNF の選択肢は縦棒で区切られています。しかし、垂直バー|は円周率計算で意味を持つため、著者はそれらを円周率計算の意味と BNF の意味の両方で使用したくありませんでした。定義は、「プロセスはゼロか、並列構成か、または…」と読む必要があります。

于 2010-08-16T13:29:24.113 に答える