Syntaktický strom: Porovnání verzí

Smazaný obsah Přidaný obsah
→‎Návrh: lepší překlad
Řádek 34:
 
=== Návrh ===
Při navrhování AST si musíme být vědomi funkcionality, kterou bude překladač očekávat. Jak již bylo řečeno, nemůžeme ukládat programové deklarace ve zdrojové formě. Zároveň s tím deklarace musí uchovávat typ a jejich umístění. Pořadí vykonávaných částí musí být přesně určeno a dobře definováno. Binární operace si musí pamatovat levé a pravé komponenty. PřiřazenéPřiřazovací stavypříkazy musí uchovat identifikátor, který uchová přiřazenou hodnotu. Tyto požadavky mohou být použity pro návrh takovéto datové struktury.
 
Je známo, že některé operace se vždy budou skládat ze dvou elementů, jako například sčítání. Nicméně některé jazykové konstrukce vyžadují libovolně velké množství potomků, jako například seznam argumentů, předávaných programu. Výsledkem je, že AST musí být dostatečně flexibilní a rychlý, aby umožňoval rychle přidávat libovolné množství potomků.
 
Dalším vážnýmhlavním požadavkem návrhu AST je to, že umožní zpětným průchodem z AST opět získat zdrojový kód, který je dostatečně podobný s originálem a jeho vykonání je dostatečně stejné, jako program reprezentovaný AST.
 
=== Návrhové vzory ===