Entrez une clause et évaluez
Une clause est :
- une expression gauche, le signe « = », une expression droite.
Une expression est soit :
- un terme
- une variable
Un terme est soit :
- un prédicat
- une constante
Une constante est un identificateur commençant par une minuscule.
Les identificateurs commencent par une lettre et sont éventuellement suivis par des lettres et chiffres ou le blanc souligné « _ ».
Une variable est un identificateur commençant par une majuscule a la Prolog.
Un prédicat est un identificateur formé comme une constante, et suivi par une liste non vide d’arguments entre parenthèses et séparés par des virgules.
Les arguments sont des expressions.
Les éléments peuvent être séparés par des espaces et des retours à la ligne.
Note : les exemples de Wikipédia comme f(g(X),X) = f(Y,a) peuvent être copier-collés directement.
Le parseur est écrit avec la bibliothèque PEG.js Parser Generator for JavaScript acessible à l'adresse : https://pegjs.org