imagine un cas simple : une expression à parenthèses du genre:
2*(3+4)
l'arbre va faire
MULT
2
ADD
3
4
et on voit plus les parenthèses.
là c'est pareil t'as
a,b,c: integer;
moi j'aurais plutot vu un truc du genre
DECLARATION
type: integer
LISTE_VARIABLES
a
b
c
les virgules sont là dans le code, ce sont des terminaux de la grammaire mais en aucun cas des noeuds de l'arbre syntaxique.
en fait ce que t'as généré c'est pas un arbre syntaxique abstrait mais un affichage de l'ordre des appels des règles de ta grammaire. OK tu vas passer par la règle qui reconnait "virgule" si t'as codé un analyseur LL1 à la main, mais ça n'a rien à faire dans l'arbre syntaxique
et l'analyse sémantique ne génère pas de nouvel arbre, elle fait des vérifications.