Un linguaggio di programmazione ad alto livello è quindi caratterizzato da:
Un alfabeto o lessico costituito da tutti i simboli elementari riconosciuti dal linguaggio;
- L'insieme delle regole che definiscono la "forma" con cui debbono essere prodotti i costrutti ovvero la sintassi;
La semantica del linguaggio, ovvero qual'è il significato dei costrutti offerti dal linguaggio e, di conseguenza, qual'è il significato di un programma scritto in quel particolare linguaggio.I linguaggi di programmazione sono sintatticamente molto semplici e per essi è possibile definire la sintassi in modo rigoroso, al contrario di quello che succede per il linguaggio parlato ( il cosidetto linguaggio naturale ).
Il formalismo utilizzato per scrivere le grammatiche dei linguaggi di programmazione è la forma di BACKUS NAUR (BNF) introdotta per descrivere la sintassi di uno dei primi linguaggi di programmazione l' Algol60.