(* This is a very informal grammar for predefined terminal objects *)
(*
ENGLISH GRAMMAR:
===============

  We have words:
- verbs
- nouns
- pronouns (I,you,us ...)
- adjectives
- articles (a,an,the), including numeral and possessives adjectives
- prepositions (for, at, in, ...)
- cunjunctions (and, or, either, ...)
- adverbs

  And we have grammatical constructs:
- mainly substantives (noun groups,gerondives,pronouns) and verbs, then
 many kinds of complements for nouns
- completed verbs (verbs with complements).
- sentences (fully completed verbs with subject).

  Most of the times, predefined multi-word constructs are used.

CONTEXT:
=======

  Sentences are completely context dependent.
  Pronouns refer to previous substantives; definite (the) or indefinite
articles help talk about introducing new objects or refering to old ones.
Adjectives are relative to some point of view, etc.

  One kind of humor consists in playing with the context:
"He is a gas" does not have any meaning outside the context of chemistry, and
is trivial inside it. This is some kind of funny pun for the chemistry
aware english semanticists.
  In many cases, funny situations arise from the parallel of a complex
event with things trivial in another context.

  Quoting the context is very hazardous when it comes to similarities.
"I like my mother -- I do too !"; does the second person want to say
"I like my mother too !", or "I like your mother too !" ? The context may
make one of the two clear, or neither; perhaps is the second person even
playing with this indefinition ! "me too" means we have to replace the
main (but is it the main ?)(main often means the subject) person in previous
sentence (or group of sentence to determine) by the one who says "me". If
there's no such person to replace, the sentence is wrong; but if there are
many of them, the one who says "...me/so...too" should have made it clear
what place the "me" replaces in previous sentence. The worst case is if
it appears more than once as in the example sentence. Should the first person
have said "I like my own mother", it would have been clear what the second
person answered.
  To sum up "and so on", "do the same thing with n" may be or not clear to
the reader, but most of the time, the computer may demand special annotations
to understand (well, people usually use vocal intonations for such
annotations).

ANNOTATIONS:
===========

  When we print, we compute fully annotated an parenthesised sentences, then
try to eliminate unnecessary annotations or parentheses according to a user
customizable algorithm (with as a default option, verifying that the sentence
can be well parsed back with the same meaning).
  An algorithm that need not more annotations than humans to read, and can
produce human-quality annotated re-parsable code is as "intelligent" as humans
(with respect to the set of possible sentences in a given context). Of course,
such removal of annotations is only made possible by their being redundant
after the sentence has been understood. We shan't expect any algorithm to beat
humans in as many contexts as humans do, in a time comparable to human
understanding time, or we would have reached articificial intelligence. But
this may be possible in some future (or so we hope) with sophisticated software
running on large parallel machines.

  For better translation in another language, we must remember nuances,
that is redundances present or absent (that would have sped up the parsing),
choice of the place of the words in the sentence, and of course, choice of
the words among equivalents. Actually, any unobvious choice (that would not
have been our first and immediate choice when rephrasing the sentence out of
the parsed version) must be remembered.



ESS:
===
In default "english speaking slave" mode, the system obeys orders told in
written english (perhaps spoken one day; the principle isn't much different,
only is it much less standardly formalized, and with much larger contexts).
The system vocabulary is very limited at the beginning, the system un


PREDEFINED CONSTRUCTS:
=====================
By default, the system only knows very basic orders.
It can manage annotations on objects, and make test on these annotates
(with state verbs). It can also modify these objects (with action verbs).

===========
*)


PREDEFINED WORDS:
================

* Define:
  This is a verb

Define (substantived verb:)accepting (an immediate identifier) (joker:) i as
   accepting "", then  #(parenthesised expression of english words) ""

parenth
english_word ::=

Define (action:) Define
