Il linguaggio

Prima di definire la semantica, occorre porre le basi del linguaggio da definire, per questo motivo andremo a costruire un modello matematico per programmi scritti in tale linguaggio.

Insiemi di base

Come insiemi di simboli terminali useremo:

Dove le metavariabili sono una qualsiasi variabile dell'insieme, senza specificare se si stia usando a, b, un numero, ecc.

Insiemi derivati

Partendo dai 3 insiemi di base, possiamo derivare tramite BNF i seguenti insiemi:

<aside> 💡 Si noti che al momento la sintassi è ancora ambigua, per questo proseguiamo a definire la semantica.

</aside>

Semantica

Per ogni categoria sintattica sopra definita ($Exp, Bexp, Com$) si definisce un modello detto sistema di transizione.

Def.: Un sistema di transizione è una tripla $<\Gamma, T,\rarr>$ dove: