Node:Sentence, Next:Term Token, Previous:Syntax Notation, Up:Full Syntax
sentence | ::= module : sentence
| |
| list | { where list is a list of sentence }
| |
| clause
| ||
| directive
| ||
| query
| ||
| grammar-rule
| ||
clause | ::= rule | unit-clause
| |
rule | ::= head :- body
| |
unit-clause | ::= head | { where head is not otherwise a sentence }
|
directive | ::= :- body
| |
query | ::= ?- body
| |
head | ::= module : head
| |
| goal | { where goal is not a variable }
| |
body | ::= module : body
| |
| body -> body ; body
| ||
| body -> body
| ||
| \+ body
| ||
| body ; body
| ||
| body , body
| ||
| goal
| ||
goal | ::= term | { where term is not otherwise a body }
|
grammar-rule | ::= gr-head --> gr-body
| |
gr-head | ::= module : gr-head
| |
| gr-head , terminals
| ||
| non-terminal | { where non-terminal is not a variable }
| |
gr-body | ::= module : gr-body
| |
| gr-body -> gr-body ; gr-body
| ||
| gr-body -> gr-body
| ||
| \+ gr-body
| ||
| gr-body ; gr-body
| ||
| gr-body , gr-body
| ||
| non-terminal
| ||
| terminals
| ||
| gr-condition
| ||
non-terminal | ::= term | { where term is not otherwise a gr-body }
|
terminals | ::= list | string
| |
gr-condition | ::= ! | {body}
| |
module | ::= atom
|