В форме Бэкуса-Наура, что означает запятая, определяя символ - PullRequest
1 голос
/ 16 августа 2010

Я такой же новичок в Пи-Исчислении, как и в форме Бэкуса Наура.Вот один из основных BNF для Pi Calculus (найденный в «Applied 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 Calculus.Но я действительно задаюсь вопросом о значении P, Q :: = в определении BNF.

Я бы понял, что P :: = означает, что процесс P исчисления Pi является тем или иным или этим.Но что означает P, Q :: =?

1 Ответ

2 голосов
/ 16 августа 2010

Здесь это означает, что буквы P и Q используются для обозначения процессов. Например, в P | Q, P - это процесс, а Q - это процесс. Автор мог бы написать

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

но предпочитает, чтобы две разные буквы ссылались на одну и ту же концепцию, чтобы сделать формулы немного более читабельными.

Кстати, классически альтернативы в БНФ разделены вертикальной чертой; но поскольку вертикальная черта | имеет значение в пи-исчислении, автор не хотел использовать их как в значении пи-исчисления, так и в значении БНФ. Определение по-прежнему следует читать как «процесс - это либо ноль, либо параллельная композиция, либо…».

...