Compilation de l'analyse syntaxique des principes

Analyse grammaticale

L'analyse grammaticale, l'analyse lexicale et l'analyse sémantique m'ont emmené directement sur la plage. J'étais déjà ignorant. Cet article n'est pas recommandé à lire. Je viens de prendre un cadre approximatif du livre.

  • Présentation

    • En tant que partie centrale du processus de compilation, l'analyse grammaticale est analysée par un programme d'analyse grammaticale selon certaines règles grammaticales,Identifier les différents composants grammaticaux et effectuer des vérifications grammaticales
  • Analyseur

    • Effet
      Insérez la description de l'image ici
      • Entrée : flux de jetons / séquence de jetons
      • Sortie : arbre d'analyse
      • Fonction : combiner les marques en composants grammaticaux, vérifier la grammaire
  • Méthode d'analyse

    • Approche descendante

      • Analyse de descente récursive

        • À partir du début de la grammaire, le processus d'extraction de la chaîne d'entrée à analyser par la vue, de haut en bas pour construire un arbre d'analyse pour la chaîne d'entrée
        • Chaque grammaireSymbole non terminalCorrespondant à unProcessus récursif, Vous pouvez implémenter cette méthode d'analyse de descente récursive avec retour arrière.
        • Chaque processus est un processus booléen. Une fois qu'il trouve qu'une de ses productions correspond à la chaîne d'entrée, il utilise cette production pour développer l'arborescence d'analyse et renvoie true, sinon l'arborescence d'analyse reste inchangée et renvoie false.
      • Analyse prédictive des appels récursifs

        • Caractéristiques : Méthode d'analyse de descente définie et récursive sans retour en arrière
        • Impliqué dans le diagramme de conversion , ne pas développer
      • Analyse prédictive non récursive

        • Utilisation d'une table d'analyse combinée et d'un contrôle de pile pour réaliser une analyse descendante de la chaîne de symboles d'entrée.
        • Le modèle
          Insérez la description de l'image ici
          • Tampon d'entrée : stocker la chaîne de symboles pour l'analyse
          • Pile de symboles: stocke les symboles de grammaire, $ stocke le bas de la pile, comme une marque
          • Table d'analyse : recherchez la production appelée dans la table d'analyse
          • Flux de sortie : pour les séquences de production générées en continu
  • Approche ascendante

    • Méthode d'analyse :
      • Lancer l'analyse à partir de la chaîne de symboles d'entrée
      • Trouver la chaîne réductible du modèle de phrase actuel
      • Utilisez des règles pour les réduire en symboles non terminaux correspondants
  • Analyse LR

    • Présentation
      • L-signifie balayage de gauche à droite
      • R-Représente la chaîne de symboles d'entrée pour construire un processus inverse où la jambe la plus à droite arrive
      • K-indique le nombre de symboles d'entrée qui prennent une décision d'analyse et regardent vers l'avant
    • Effet
      • Pas de retour en arrière
      • Capacité d'analyser le contexte non pertinent
      • Identifier les erreurs dans le temps
    • Le modèle
      Insérez la description de l'image ici
  • Outils logiciels

    • YACC(Encore un autre compilateur-compilateur)
    • Processus
      Insérez la description de l'image ici
Publié 46 articles originaux · loué 75 · 50 000+ vues

Je suppose que tu aimes

Origine blog.csdn.net/UNIONDONG/article/details/105013065
conseillé
Classement