A GMPL szám literáljai a megszokottak: egészek, tizedestörtek, normál alakú számok. A string literálok ' vagy " karakterek közé írandók, szükség esetén dupla karakterrel escape-elhetők.
A GMPL-ben foglalt minden olyan kulcsszó, ami egy kifejezésben értelmes (pl.: and, mod, symdiff, if, else, ...), az egyéb kulcsszavak használhatók névként (solve, for, ...). A GMPL-ben fix jelentésűek az operátorok és különböző zárójelfajták. Ezek a következők:
A GMPL-ben egyaránt használható = és == operátor is egyenlőség-vizsgálatra, != és <> pedig egyenlőtlenség-vizsgálatra. Az értékadás operátor a :=. Hatványozás esetén a ** és ^ operátor működése is megegyezik. A kerek zárójel csak a kifejezések csoportosítására használható, a szögletes zárójel a tömbök indexelésére szolgál, minden egyéb esetben a kapcsos zárójel használandó! A többi operátor a közismert nyelvekben megszokott módon használható.
Egysoros kommenteket # után, többsorosakat /* és */ közé írhatunk.
A numerikus kifejezés a legalapvetőbb kifejezése minden nyelvnek. A GMPL-ben minden esetben lebegőpontos számokkal van dolgunk, így a konverzió nem jelenthet problémát. A numerikus kifejezésekben használható függvények a következők:
Numerikus kifejezésekre hívható aggregátor függvények a sum, prod, min, max
A logikai kifejezések egyetlen igaz/hamis értéket képviselhetnek. Numerikus kifejezések automatikusan konvertálódnak logikaivá: a 0 értéke hamis, minden egyébé igaz.
A GMPL-ben lehetőségünk van elsőrendű logikai kifejezések írására is a forall és exists kifejezések használatával. Például:
Logikai operátorok és kifejezések:
A string-kezelés meglehetősen korlátozott a GMPL-ben, hiszen nem játszik központi szerepet. A string-műveletek a substr és a time2str, valamint az összefűzés operátor (&). A numerikus kifejezések automatikusan stringgé konvertálódnak.
Az indexelő kifejezésekkel lokális futóindexeket vezethetünk be. A kifejezésben az entry-k felsorolása után megadható egy feltétel. Az entry-k lehetnek futóindex-definíciók (i in MySet) vagy alaphalmazt meghatározó halmaz-kifejezések.
Az alábbi index-kifejezés megegyezik az alatta lévő pszeudo-kóddal.
Halmazokkal fejezhetünk ki gyűjteményeket. A halmazok legalapvetőbb formája a literál.
Halmaz literálok esetében egyszerűen felsoroljukn az elemeket:
Az aritmetikai halmazokkal számtani sorozatokat készíthetünk:
Készíthetünk halmazokat iteráltak segítségével. Ehhez a setof kulcsszót használhatjuk:
Két halmaz között értelmezett műveletek:
A lineáris kifejezések szabad változójú numerikus kifejezések, így tulajdonképpen lineáris függvények.
Kifejezésen belüli elágazásokhoz használhatók. Működésül a C típusú nyelvekből ismert ?: operátorhoz hasonlítható. A feltételes kifejezés használható számra, stringre, halmazra, stb.