Dans le but de créer un éditeur de connaissances, je veux analyser les règles des clips et les représenter d'une manière plus appréciée. Toute aide sera précieuse.Puis-je utiliser des clips à l'intérieur du mécanisme pour créer mon analyseur de morue personnalisé?
1
A
Répondre
2
Il y a une fonction appelée enregistrement Syntaxe (et API C CheckSyntax équivalent) qui peut vous dire si une construction est sémantiquement correcte:
CLIPS> (check-syntax "(deftemplate point (slot x) (slot y))")
FALSE
CLIPS> (check-syntax "(defrule print (point (slot ?x) (slot ?y)) =>)")
("
[PRNTUTIL2] Syntax Error: Check appropriate syntax for defrule.
ERROR:
(defrule MAIN::print
(point (
" FALSE)
CLIPS>
La fonction, cependant, ne peut pas distinguer entre un syntaxiquement incorrect et construction sémantiquement incorrecte. Dans l'exemple ci-dessus, le point d'esquisse est sémantiquement et syntaxiquement correct. La règle d'impression est syntaxiquement correcte, mais pas sémantiquement correcte car le point deftemplate n'a pas été défini. L'annexe G du Guide de programmation de base a le CLIPS BNF, donc si vous voulez créer un analyseur qui vérifie la syntaxe, c'est un bon point de départ.