Читайте также:
|
|
Сопоставление (унификация) является наиболее важной операцией в языке Пролог.
Выполнение сопоставления может производиться либо явно, в теле правила с помощью встроенного предиката X=Y, либо неявно, при сопоставлении цели с фактом или головой правила. Сопоставление реализует основные операции обработки данных в логическом программировании:
однократное присваивание,
передача параметров,
создание структурных объектов,
доступ к полям структурных объектов с возможностью одновременного чтения/записи.
Сопоставление выполняется согласно следующим правилам.
Если сопоставляются два атома, то проверяется их идентичность.
Если сопоставляется переменная и атом, то переменная получает значение атома. Говорят, она конкретизируется.
Если сопоставляется конкретизированная и неконкретизированная переменные, то неконкретизированная получает значение конкретизированной.
Конкретизированная переменная – связывание переменной с конкретным значением. Переменная может быть в двух состояниях: неконкретизированная и конкретизированная.
Если сопоставляются две неконкретизированные переменные, то обе переменные получают одно и то же системное значение.
Если сопоставляются структуры, то в первую очередь проверяется идентичность главных функторов; во-вторых, арность структуры.
В случае сопоставления главного функтора и арности происходит конкретизация переменных и сопоставление компонентов.
Дата добавления: 2015-07-19; просмотров: 61 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Теория Тьюринга, значение для логического программирования. | | | Переменная, конкретизация переменных |