Re: about OpenToken



Lionel Draghi <Lionel.nospam.Draghi@xxxxxxxxxxxxxx> writes:

> Is 3.0b the latest available OpenToken version?

I'm using a version of OpenToken that I have patched and enhanced. I'm
no longer sure what version I got originally, but since the OpenToken
website is dated 9/6/00, it's quite probable I started with 3.0b.

Perhaps if there is enough interest, we should start a SourceForge project.

> I'am not so sure, because some of the examples don't compile using
> gnat 4.0.3 (Debian 4.0.2-4).

I have not tried that yet, but I am using GNAT 5.03a.

What sorts of errors are you getting? Perhaps it's one of the Ada 2006
features that is incompatible with Ada 95 (like the 'interface' keyword).

> Here is my problem : I am implementing a recursive descent parser, and
> my grammar contains optionnals keywords, that will be ignored.
> Here is an exemple:
> - do this and this
> - do this and also this
> "also" is an optionnal keyword.
>
> I am wondering what is the best way to deal with this.
> What comes to my mind is to create a selection (In OpenToken parlance)
> between the keyword "also" and a null token, child of the abstract
> "Recognizer.Nothing" token.

I'm not using recursive descent, but I did play with selections and
couldn't get them to work. So I just code all variants of the syntax:

Grammar : constant Production_List.Instance :=
Tokens.Statement <= Go_Statement and
Go_Statement <= -- go;
Nonterminal.Get (Go_ID) + Execute_Action and
Go_Statement <= -- go sync;
Nonterminal.Get (Go_ID) & Nonterminal.Get (Sync_ID) + Execute_Action and
Go_Statement <= -- go count;
Nonterminal.Get (Go_ID) & Tokens.Integer + Execute_Action and
Go_Statement <= -- go hardware;
Nonterminal.Get (Go_ID) & Nonterminal.Get (Hardware_ID) + Execute_Action and
Go_Statement <= -- go hardware sync;
Nonterminal.Get (Go_ID) & Nonterminal.Get (Hardware_ID) & Nonterminal.Get (Sync_ID) + Execute_Action and
Go_Statement <= -- go hardware count;
Nonterminal.Get (Go_ID) & Nonterminal.Get (Hardware_ID) & Tokens.Integer + Execute_Action;

> PS : and once more question : is there still a mail list for OpenToken
> on AdaPower site? (I would like to have a look at the archive)

The only things about OpenToken I found on AdaPower point to the
OpenToken web site.

--
-- Stephe
.