[Oberon] Linked list of binary trees plus what ?
Chris Glur
easlab at absamail.co.za
Sat Dec 8 17:14:45 MET 2007
The EditKeys utility which effectively allows defining 'hot-keys' [macro
definitions of user chosen strings are activated by the <insert> key]
seems worth investigating.
In order to understand certain parts of the manual/Tool Eg.:
"Text stretches are pushed on a parameter stack when processed.
Built-in functions may pop parameter(s) from that stack.
^0 pops a parameter and causes textual insertion.
^1 pops a parameter and inserts the corresponding ascii character.
..etc.", I looked at the source code.
But the data-structures confuse me. Here are some:--
SequenceDesc = RECORD
next: Sequence; <-- linked list
sym: INTEGER;
cmd: CHAR;
def: Definition;
stretch: Texts.Buffer
END;
DefinitionDesc = RECORD
left, right: Definition; <-- binary tree
in: BOOLEAN;
trig: Ident; <-- ARRAY IdentLen OF CHAR
seq: Sequence
END;
It seems to me that 'Sequence' is a linked list of Definitions
with nodes: sym, cmd, stretch.
And that Definition is a binary tree.
But the confusing/un-natural thing is that Definition's nodes
have also further Sequence-linkedLists !
Q - is this correct ?
I'm guessing that the data structures employed are those
which naturally occur for macro/compilers/??
Can anybody give me a clue of how to better understand
this application ? It originates from 1992 and the full use of
it's features may be very usefull.
== Chris Glur.
More information about the Oberon
mailing list