Qu'est-ce que la syntaxe abstraite?
La syntaxe abstraite est un moyen pour les informaticiens de définir la structure du programme qu'ils souhaitent créer sans se soucier du code nécessaire à son implémentation. Cela permet au programmeur de se concentrer sur ce qu'il doit faire avant de se concentrer sur la manière dont l'ordinateur doit exécuter les fonctions souhaitées. La syntaxe abstraite décrit les tâches spécifiques du programme, telles que l’addition de deux nombres, et indique les types de données pouvant être utilisés dans ce programme. Une fois que le mappage abstrait est terminé, un arbre de syntaxe abstraite est établi, qui associe les concepts abstraits à une syntaxe concrète - les symboles réels qu'un programmeur doit taper pour exécuter le programme qu'il crée.
L'idée de la syntaxe abstraite est de se concentrer sur les types de données et leurs relations sans se perdre dans les détails de la manière de les coder. Le code informatique est très différent du langage humain et il est difficile d'essayer de penser en ces termes. Au lieu de cela, les programmeurs dressent une liste des étapes que le programme doit exécuter, puis utilisent une syntaxe concrète pour faire correspondre les termes abstraits avec les termes de code informatique qui exécutent ces étapes. Souvent, le programmeur inclura des types de données dans son balisage abstrait pour indiquer les types de données (chiffres, lettres ou décimales) avec lesquels le programme peut fonctionner. Des types de données spécifiques ne sont toutefois pas nécessaires à ce stade de la programmation et le programmeur peut choisir d'utiliser des types de données abstraits, qui sont purement théoriques et seront remplacés par des types de données spécifiques lors de l'écriture du programme.
Cette sorte d’idée abstraite de programmation est souvent utilisée dans la théorie des compilateurs. Les ordinateurs ne peuvent comprendre que deux valeurs: 1 et 0. Ceci est connu sous le nom de code binaire. Pour que l'ordinateur puisse comprendre un programme écrit dans un langage de programmation, il doit compiler ou traduire les mots et les lettres en un flux de 1 et de 0. Les compilateurs sont complexes à créer et la définition d'une idée vague ou abstraite de ce qu'ils doivent faire aide le programmeur à planifier du code sans erreur.
Lorsque le programmeur souhaite mapper la syntaxe abstraite à la syntaxe concrète et commence à coder le programme ou le compilateur, il crée un arbre de syntaxe abstraite. Il s'agit simplement d'une liste de toutes les instructions abstraites qu'elle a écrites, telle que "ajouter 2 variables", avec une ligne tirée de chaque terme abstrait jusqu'à la ligne de code spécifique nécessaire à l'exécution de cette instruction. Le programmeur peut utiliser tous les termes abstraits de son choix, mais il est plus courant d'utiliser des termes de code connus, tels que "var" pour variable et "int" pour entier.