AMADEUS html plain
Sketchy text model
Any of the computer texts considered in AMADEUS is called
the sketchy text and is based on the sketchy text model.
In this model, some smaller text fragments called the primitives
are grouped into larger constructs called the schemes.
A scheme consists of its type (a number), a comment (text row),
a head (null or more primitives), a body. There are two kinds of schemes:
sketches and branches.
The sketch body consists of branches, while the branch body consists of
primitives and sketches. Each primitive is also assigned its type
(a number). Any sketchy text is represented as a sketch.
The sketchy text model in BNF is formally described as follows.
predefined and meta-symbols
Meta-symbols:
::= - "is"
| - "or"
{ } - "0 or more"
Predefined symbols:
number, character, font, color, image.
definition
scheme ::= sketch | branch
sketch ::= scheme_type scheme_head branch{branch} scheme_comment
branch ::= scheme_type scheme_head {member} scheme_comment
scheme_type ::= number
scheme_head ::= {primitive_head}
primitive_head ::= head_type text
head_type ::= number
scheme_comment ::= row
member ::= sketch | primitive_member
primitive_member ::= primitive | arrow
primitive ::= primitive_type text
arrow ::= arrow_type endpoint_level text
arrow_type ::= number
endpoint_level ::= number
text ::= {row} text_comment
text_comment ::= row
row ::= {row_element}
row_element ::= symbol | image
symbol ::= character | font | color
sketchy_text ::= sketch
Although the scheme types are just numbers, three of them (0, 1, and 2)
are currently supported, and schemes of these types are called simple,
loop, and module correspondingly.
A plain text in some computer language is represented also as a sketchy
text, called the plain sketchy text. In such case, the latter is a
single-branch simple scheme with single-row text primitives.