next up previous contents index
Next: Special Forms Up: The Syntax and Semantics Previous: The Syntax and Semantics

The Formal Syntax of Algernon

  

Notation:
x tex2html_wrap_inline1476
denotes zero or more repetitions of x.
x tex2html_wrap_inline1480
denotes one or more repetitions of x.

Also, the teletype font, font, is used for terminals (i.e., strings which actually occur in Algernon code).

 path                 =  (form tex2html_wrap_inline1480 )

rule = (form tex2html_wrap_inline1480 <- form tex2html_wrap_inline1480 ) tex2html_wrap_inline1490

(form tex2html_wrap_inline1480 -> form tex2html_wrap_inline1480 )

form = predicate tex2html_wrap_inline1490

(:rules term rule tex2html_wrap_inline1480 ) tex2html_wrap_inline1490

(:srules term rule tex2html_wrap_inline1480 ) tex2html_wrap_inline1490

(:del-rule term rule) tex2html_wrap_inline1490

(:del-srule term rule) tex2html_wrap_inline1490

(:del-rules term slot) tex2html_wrap_inline1490

(:del-srules term slot) tex2html_wrap_inline1490

(:contra-positive form tex2html_wrap_inline1480 ) tex2html_wrap_inline1490

(:wo-contra-positive form tex2html_wrap_inline1480 ) tex2html_wrap_inline1490

(:in-own-partition form) tex2html_wrap_inline1490

(:no-completion form) tex2html_wrap_inline1490

(:the variable form tex2html_wrap_inline1480 ) tex2html_wrap_inline1490

(:the (variable tex2html_wrap_inline1480 ) form tex2html_wrap_inline1480 ) tex2html_wrap_inline1490

(:forc variable form tex2html_wrap_inline1480 ) tex2html_wrap_inline1490

(:forc (variable tex2html_wrap_inline1480 ) form tex2html_wrap_inline1480 ) tex2html_wrap_inline1490

(:unp form tex2html_wrap_inline1480 ) tex2html_wrap_inline1490

(:all-paths path path) tex2html_wrap_inline1490

(:assume predicate) tex2html_wrap_inline1490

(:retrieve predicate) tex2html_wrap_inline1490

(:ask predicate) tex2html_wrap_inline1490

(:create variable atom tex2html_wrap_inline1476 ) tex2html_wrap_inline1490

(:show term) tex2html_wrap_inline1490

(:delete predicate) tex2html_wrap_inline1490

(:clear-slot term slot) tex2html_wrap_inline1490

(:decl-slots (slot number) tex2html_wrap_inline1480 ) tex2html_wrap_inline1490

(:slot atom (term tex2html_wrap_inline1480 ) descriptor tex2html_wrap_inline1476 ) tex2html_wrap_inline1490

(:test expression) tex2html_wrap_inline1490

(:lisp expression) tex2html_wrap_inline1490

(:bind variable expression) tex2html_wrap_inline1490

(:bind-to-values variable term slot) tex2html_wrap_inline1490

(:branch-on-values variable expression) tex2html_wrap_inline1490

(:apply function expression) tex2html_wrap_inline1490

(:neq term term)

(:taxonomy set-descriptor)

predicate = (slot term term tex2html_wrap_inline1480 ) tex2html_wrap_inline1490 (not predicate)

term = variable tex2html_wrap_inline1490

frame tex2html_wrap_inline1490

(slot term) tex2html_wrap_inline1490

(:slot slot) tex2html_wrap_inline1490

(:quote expression)

descriptor = T:cardinality number tex2html_wrap_inline1490

:partition term tex2html_wrap_inline1490

:backlink slot tex2html_wrap_inline1490

:inverse slot tex2html_wrap_inline1490

:comment string

set-descriptor = (term set-descriptor tex2html_wrap_inline1476 term tex2html_wrap_inline1476 )

frame = Any Lisp atom which is a name of a frame in the knowledge-base.

slot = Any Lisp atom declared as a slot in the knowledge-base.

variable = Any Lisp atom whose print name begins with a '?'.

number = Any number.

string = Any Lisp string.

expression = Any Lisp expression.

atom = Any Lisp atom.

function = Any Lisp function (in a form suitable to be passed to the Lisp function apply).



Micheal S. Hewett
Tue Oct 29 11:15:33 CST 1996