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

The Formal Syntax of Algernon

  

Notation: The italic font is used for non-terminals and the teletype font is used for terminals, (i.e., strings that actually occur in Algernon code).

[x]
denotes zero or one appearance of x.
x tex2html_wrap_inline1326
denotes zero or more repetitions of x.
x tex2html_wrap_inline1330
denotes one or more repetitions of x.

 atomic-formula  = (sterm fterm vterm tex2html_wrap_inline1330 )  tex2html_wrap_inline1336  (not (sterm fterm vterm tex2html_wrap_inline1330 ))

fterm = variable tex2html_wrap_inline1336 frame tex2html_wrap_inline1336 (sterm fterm) tex2html_wrap_inline1336 (:slot slot)

sterm = variable tex2html_wrap_inline1336 slot

vterm = fterm tex2html_wrap_inline1336 number tex2html_wrap_inline1336 string tex2html_wrap_inline1336 (:quote expression) tex2html_wrap_inline1336 (quote expression)

domain = Eframe tex2html_wrap_inline1336 :number tex2html_wrap_inline1336 :string tex2html_wrap_inline1336 :symbol tex2html_wrap_inline1336 :list

path = (form tex2html_wrap_inline1330 ) plus access path restriction on variables.

rule = (form tex2html_wrap_inline1330 <- form tex2html_wrap_inline1326 ) tex2html_wrap_inline1336

(form tex2html_wrap_inline1330 -> form tex2html_wrap_inline1326 )

vars = Evariable tex2html_wrap_inline1336 (variable tex2html_wrap_inline1330 )

form = Eatomic-formula tex2html_wrap_inline1336

(:taxonomy set-descriptor)

(:slot symbol (domain tex2html_wrap_inline1330 ) slot-descriptor tex2html_wrap_inline1326 ) tex2html_wrap_inline1336

(:rules fterm rule tex2html_wrap_inline1330 ) tex2html_wrap_inline1336

(:srules fterm rule tex2html_wrap_inline1330 ) tex2html_wrap_inline1336

(:eval expression) tex2html_wrap_inline1336

(:test expression) tex2html_wrap_inline1336

(:boundp variable) tex2html_wrap_inline1336

(:unboundp variable) tex2html_wrap_inline1336

(:bind variable expression) tex2html_wrap_inline1336

(:branch variable expression) tex2html_wrap_inline1336

(:funcall function expression tex2html_wrap_inline1326 ) tex2html_wrap_inline1336

(:a vars . path) tex2html_wrap_inline1336

(:forc vars . path) tex2html_wrap_inline1336

(:the vars . path) tex2html_wrap_inline1336

(:any . path) tex2html_wrap_inline1336

(:cut . path) tex2html_wrap_inline1336

(:db atomic-formula) tex2html_wrap_inline1336

(:retrieve atomic-formula) tex2html_wrap_inline1336

(:unp . path) tex2html_wrap_inline1336

(:fail . path) tex2html_wrap_inline1336

(:assume atomic-formula) tex2html_wrap_inline1336

(:neq fterm fterm) tex2html_wrap_inline1336

(:or path tex2html_wrap_inline1330 ) tex2html_wrap_inline1336

(:all-paths path path) tex2html_wrap_inline1336

(:delete atomic-formula) tex2html_wrap_inline1336

(:clear-slot fterm slot) tex2html_wrap_inline1336

(:del-rule fterm rule) tex2html_wrap_inline1336

(:del-srule fterm rule) tex2html_wrap_inline1336

(:del-rules fterm slot) tex2html_wrap_inline1336

(:del-srules fterm slot) tex2html_wrap_inline1336

(:ask atomic-formula) tex2html_wrap_inline1336

(:show fterm) tex2html_wrap_inline1336

(:w-contra-positive . path) tex2html_wrap_inline1336

(:wo-contra-positive . path) tex2html_wrap_inline1336

(:no-completion form)

slot-descriptor = T:cardinality number tex2html_wrap_inline1336

:backlink slot tex2html_wrap_inline1336

:inverse slot tex2html_wrap_inline1336

:comment string

set-descriptor = (fterm set-descriptor tex2html_wrap_inline1326 fterm tex2html_wrap_inline1326 )

expression = Any Lisp expression tex2html_wrap_inline1336

(:values frame slot) tex2html_wrap_inline1336

(:non-values frame slot)

variable = a Lisp symbol whose print name begins with ``?''.

frame = a Lisp symbol that represents a frame in the knowledge-base.

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

number = a Lisp number.

string = a Lisp string.

symbol = a Lisp symbol.

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


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

Micheal S. Hewett
Tue Oct 29 11:28:38 CST 1996