Noeud: Programs, Noeud « Previous »: Terms, Noeud « Up »: Syntax



Programs

Clauses

Definite Clause Grammars

A clause of a Definite Clause Grammar is introduced with the binary predicate -->/2 and closed by a dot. Lists in position of predicates in the clause denote terminals to be scanned. Scanning is done either from a Prolog list or from a token database (implementing a Finite State Automata).

The following program implements reverse with a Definite Clause Grammar.

     reverse(X,Y) :- phrase(rev(Y),X,[]).
     rev([]) --> [].
     rev([X|Y]) --> rev(Y),[X].
     

Directives

Directive clauses are conjunctions of directives introduced par the unary predicate :-/1 and close by a dot mark.

     :-include('foo.pl'),op(300,xfx,[hello]).