Christoph Reichenbach wrote:

> Hi,
>
> On Sun, 12 Dec 1999, Lars Skovlund wrote:
>
> [Said()]
>
> > The following is a reconstruction of the said spec syntax in BNF-like
> > notation:
>
> [...]
>
> There is no mention of the '&' and '#' tokens (0xf1/0xf7). OTOH, I don't
> recall # being used in any of the Said specs I saw...
> How are they treated by SCI?
>

Not at all (?!). It sounds strange, I know, but I have also found (in the
undocumented second part of the code)
testing for some storage codes which can never appear in said trees, at least in
release versions. Perhaps they are the activation switch for an in-house said
debugger or something.

>
> > Each "lexeme" (well, most of them) is added to the tree for later use by the
> > second phase of Said(). This is done by a process called "augmenting" the
> > tree. The augmentation process joins a sub-expression with the main tree,
> > adding two descriptive storage codes. The result of an augmentation is
> > sketched below:
> >
> >                 (parent node in main tree)
> >                          /      \
> >                        /         \
> >              (not assigned)   tree node
> >                                  /
> >                                /
> >                           tree node
> >                         /       \
> >                       /          \
> >                   nodeval1    (beginning of subtree)
> >                                  /
> >                                 /
> >                            nodeval2
>
> So it could also be interpreted as a singly linked list with one optional
> value per node?
>
> > The right branch of the subtree, of course, contains the subtree information.
> > Below is a listing of the storage codes used for the augmentation in various
> > places. The names Ia use correspond to the yacc representation above:
> >
> > Lexeme                          nodeval1        nodeval2        comments
> >
> > MainExp/Wordgroup               0x141           0x153           **
>
> Where's ** and where do they store word groups? :-)
>

Right :-). The word node part of a tree will look like this:

                      -----
                    /            \
                0x141       / \
                                /   \
                               /     \
                              /       \
                         0x153   0x7D1

>
> Anyway, thanks a lot- I guess that it took quite a while to gather and
> compile all this information.
>

Yes, but the missing piece really was using a BNF grammar which I didn't think of
until yesterday :-(

> llap,
>  Christoph

Lars

Reply via email to