Source: http://isc.edu.eg/doc/projet%20langage.pdf