Es-compiler-design-compiler-design-bottom-up-parser
提供:Dev Guides
CompiladorDiseño-アナリザドールアセンデンテ
アナリストボトムアップサービスパートナデロスヌドスデラスホハスデウンアルボルボイトラバヤアンディレクションハシアアリバハスタクレガアルノドライス 感情、パルティモス・デ・ウナ・フレーゼ、コンティニュアシオン、アプリカ・ノルマ・デ・プロドゥッシオン・アン・フォルマ・コントラリア、フィン・デ・アルカンザール・エル・シンボロ・デ・アランケ。 ラ・イメージ・シエグエンテ・ムエストラ
アナリシスShift-Reduce
シフト・レデューサー・アナリシス・ユーティリティ・ドス・アンド・ニコス・パソ・パラ・ラ・パー・パート・アンダー・アナリシス。 Estos pasos son conocidos como cambio de paso y reducir de paso。
- カンビオのパソ:カンパビオのカンタビアンエルプソデポンテロデエントラダコンエルシギエンテシンボロデエントラダ、エルクアルセデノミナエルシンボロカンビア。 Estesímbolose empuja en la pila。 Cambia elsímboloes tratado como unúniconodo delárbolanalizar。
- Reducir paso :Cuando el analizador encuentra una regla gramatical(RHS)y reemplaza a(LHS)、se conoce como reducir paso。 Esto ocurre cuando la parte Superior de la pila contiene un identificador。 フィンデレデューサー、POPの機能性、汚染物質、汚染物質、汚染物質の持続性LHSシンボロー端子なし。
アナリザドールLR
エルアナリザドールLR es un非再帰的、シフト還元、アナリザドールボトムアップ。 分析用シンタクシスを使用して、グラマーティカの概念図を作成します。 LR los analizadores sontambiénconocidos como LR(k)analizadores、donde L es de izquierda a derecha laexploracióndel flujo de entrada;マサ・ア・ラ・デレチャ・エン・デラバハ・・ハチャ・アトラース、ラ・ホラ・デ・トママルの決定
Hay tres ampliamente utilizado algoritmos disponibles para construir un analizador LR:
- SLR(1)-シンプルアナリザドールLR:
- Trabaja en clase degramáticamáspequeña
- アルグノス・デ・ロス・エスタドス、ポル・ロ・タント、ミュイ・ペケーニャ・メサ
- Construcciónsencilla yrápida
- LR(1)-LR Analizador:
- Trabaja en conjunto completo de LR(1)Gramática
- ジェネラウナグランメサイグランヌメロデエスタドス
- ConstrucciónLenta
- LALR(1)-Vista adelantada LR Analizador:
- オマージュデタマニョインターメディオデグラマティカ *Númerode estados son los mismos del SLR(1)
アナリシスLRアルゴリトモ
Aquíseは、un esqueleto de un algoritmo LR analizadorについて説明しています。
LL y LR
LL | LR |
---|---|
La izquierda tiene una derivación. | Una derivación derecha en marcha atrás. |
Comienza con el nonterminal de raíz en la pila. | Termina con el nonterminal de raíz en la pila |
Termina cuando la pila está vacía. | Comienza con una pila vacía. |
Usa la pila para designar lo que aún queda por esperar. | Usa la pila para designar lo que ya está visto. |
Construye el árbol análisis top-down. | Construye el árbol análisis bottom-up. |
Continuamente aparece un nonterminal de la pila y empuja el lado derecho correspondiente. | Intenta reconocer un lado derecho de la pila, lo viejo y empuja la correspondiente nonterminal. |
Amplía el no-terminales. | Reduce la no-terminales. |
Lee los terminales cuando aparece uno fuera de la pila. | Lee los terminales mientras que les empuja en la pila. |
Pre-orden el análisis transversal del árbol. | Después de analizar el recorrido de árbol. |