Правая часть прод-и. Манипулятор.

< правая часть > :: = action { < операции > } 

< операция > :: =  < присваивание >  |

< манипулятор >  |

< операция управления >  |

< операция И / Ф > 

< присваивание > :: = < П - переменная > = < сост.стр. >

р3 <= ‘ abc’. Pr7 (s). < P4

p3 <= abc < строка, возвр-я Pr7 (s) > < стр. счит-я из р4 слева >

Все компоненты берутся на момент операции присваивания. Если повторить эту операцию еще раз, очередное значение Р3 м. оказывается совсем другим, потому что Р4 может изменить свое значение.

   Присваивание с константой используется для формирования фраз естественного языка.

 < манипулятор > :: = < создать факт > |

< удалить факт > |

< изменить факт >

Примечание: первые 2 варианта коренным образом отличаю продукцию СИИ от реляционной СУБД.

< создать факт > :: = ( \ < имя факта > : [ { слоты } ]

< нев. слот >  :: < имя слота >  [ = <  значение  > ]

( \ el1:  ) - факт с  именем el/ без слотов

( \ факт3 : время = 17 )

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

<удалакт > :: = [ ^ ] ( < шаблон имени факта  >

 [ < спец. нер-р  > ]

 [ < шаблон имени слота  > ]

(13 \ : * = *) - удалить факт 13, имя некоторого слота с какими-либо значениями.

( > del { : = F1, F2 } \ :) - удалить все факты, кроме F1 и F2, и все удаленные имена добавить и переменную Del слева

^ ( * \ : тип = не,

зн_вых => V1

зн_вых => V2

{ _equal ( $V1, $V2  ) }) - удалить все неисправные инверторы ( у которых вх = вых ) записываются значения вх&вых

< изм. факт > :: = [ ^ ] ( < табл.имактов >

 [ { специализатор } ] :

 [ < слоты > ] )

< слоты > :: = \ < новый слот > |

< шаблон удаленного слота > / |

< шаблон слота >

Чтобы сформировать образец для поиска объектов для изменения, убираются < новые слоты > и убираются \ и шаблонов для удаления

( IO : OFF \

           \ ON )

(IO : OFF) - образец для поиска

^ ( * : высота = * { > 5000 },

\ автопилот = да ) - для всех ф-тов, у которых есть слот высота со значением > 5000 добавить слот Автопилот со значением ДА.

Hosted by uCoz