help-glpk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: MathProg grammar in EBNF


From: Germán Ferrari
Subject: Re: MathProg grammar in EBNF
Date: Wed, 2 Dec 2020 20:56:13 -0300

On Wed, Dec 2, 2020 at 6:29 PM Andrew Makhorin <mao@gnu.org> wrote:
On Wed, 2020-12-02 at 11:27 -0300, Germán Ferrari wrote:
> Hi.
>
> I couldn't find the MathProg grammar in EBNF

You can find all the grammar productions actually used by parsing
routines in comments to these routines; 

see glpk/src/mpl/mpl1.c and mpl2.c.

For example:

/*----------------------------------------------------------------------
-- object_reference - parse reference to named object.
--
-- This routine parses primary _expression_ using the syntax:
--
-- <primary _expression_> ::= <dummy index>
-- <primary _expression_> ::= <set name>
-- <primary _expression_> ::= <set name> [ <subscript list> ]
-- <primary _expression_> ::= <parameter name>
-- <primary _expression_> ::= <parameter name> [ <subscript list> ]
-- <primary _expression_> ::= <variable name> <suffix>
-- <primary _expression_> ::= <variable name> [ <subscript list> ]
--                          <suffix>
-- <primary _expression_> ::= <constraint name> <suffix>
-- <primary _expression_> ::= <constraint name> [ <subscript list> ]
--                          <suffix>
-- <dummy index> ::= <symbolic name>
-- <set name> ::= <symbolic name>
-- <parameter name> ::= <symbolic name>
-- <variable name> ::= <symbolic name>
-- <constraint name> ::= <symbolic name>
-- <suffix> ::= <empty> | .lb | .ub | .status | .val | .dual */

It did not occur to me to look there. Thank you for the pointers.
 
> so I created one. It only covers the declaration statements. Maybe
> it's useful to somebody else.

Thank you.

>
> Any comments welcome. 

I'd like to note that if you enclose non-terminals in < and >, then
terminal symbols are not needed to be enclosed in quotes.

Noted! Thank you
 

>
> Thank you.
>
> Regards,
> Germán.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]