Cuprins:
Definiție - Ce înseamnă Parser?
Un analizor este un compilator sau o componentă de interpretare care descompune datele în elemente mai mici pentru o traducere ușoară într-o altă limbă. Un parser intră sub forma unei secvențe de jetoane sau instrucțiuni de program și construiește de obicei o structură de date sub forma unui arbore de analiză sau a unui arbore de sintaxă abstractă.
Techopedia explică Parser
Un analizor este frecvent utilizat ca o componentă a unui interpret sau a unui compilator. Procesul general de analiză implică trei etape:
- Analiză lexicală: Un analizator lexical este utilizat pentru a produce jetoane dintr-un flux de caractere de șir de intrare, care sunt împărțite în componente mici pentru a forma expresii semnificative.
- Analiza sintactică: verifică dacă token-urile generate formează o expresie semnificativă. Aceasta folosește o gramatică fără context care definește procedurile algoritmice pentru componente. Acestea lucrează pentru a forma o expresie și a defini ordinea particulară în care trebuie plasate jetoanele.
- Parsing semantic: etapa finală de analiză în care sensul și implicațiile expresiei validate sunt determinate și sunt întreprinse acțiunile necesare.
Scopul principal al unui analizator este de a determina dacă datele de intrare pot fi derivate din simbolul de început al gramaticii. Dacă da, atunci în ce moduri pot fi obținute aceste date de intrare? Acest lucru se realizează după cum urmează:
- Parsing de sus în jos: implică căutarea unui arbore de analiză pentru a găsi cele mai multe derivări din stânga unui flux de intrare, folosind o expansiune de sus în jos. Exemple includ analizoare LL și analizoare descendente recursive.
- Parsing Bottom-Up: implică rescrierea intrării înapoi la simbolul de pornire. Acest tip de analiză este, de asemenea, cunoscut sub numele de paring-shift-reduce. Un exemplu este un analizor LR.
Analizele sunt utilizate pe scară largă în următoarele tehnologii:
- Java și alte limbaje de programare
- HTML și XML
- Limbajul interactiv al datelor și limbajul de definire a obiectelor
- Limbile bazei de date, cum ar fi SQL
- Limbaje de modelare, cum ar fi limbajul de modelare a realității virtuale
- Scripturi de limbaj
- Protocoale, precum apeluri HTTP și funcții la distanță pe Internet
