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.