GNU MathProg is a modeling language intended for describing linear mathematical programming models.1
Model descriptions written in the GNU MathProg language consist of a set of statements and data blocks constructed by the user from the language elements described in this document.
In a process called translation, a program called the model translator analyzes the model description and translates it into internal data structures, which may be then used either for generating mathematical programming problem instance or directly by a program called the solver to obtain numeric solution of the problem.
The GNU MathProg language is a subset of the AMPL language. Its GLPK implementation is mainly based on the paper: Robert Fourer, David M. Gay, and Brian W. Kernighan, “A Modeling Language for Mathematical Programming.” Management Science 36 (1990) pp. 519-54.