Analýza výrazů

Motivací pro zavedení operátorové notace je usnadnit zapisování a čtení výrazů člověku. Používání této reprezentace, která má výhradně syntaktický charakter, se neomezuje pouze na rozpoznávání aritmetických výrazů v matematice, ale kupříkladu v programovacích jazycích se s ní můžeme setkat při zápisu nejrůznějších konstrukcí na každém kroku. S operátorovou notací se musí vyrovnat programové vybavení a nějakým způsobem ji analyzovat -- získat z ní relevantní informace tj. určit argumenty a operace, které s argumenty pracují. Dobře navržená operátorová notace je nejen snadno čitelná a pochopitelná pro člověka, ale zároveň také musí být možné její zpracování pomocí parserů.

V této kapitole si ukážeme základní konstruktory určené pro vytváření parserů různých operátorových zápisů. Začneme nejjednodušším případem parseru binárních operátorů jedné precedence založeném na iterátoru z části [*]. Ve druhé části vytvoříme parser analyzující výrazy s libovolným počtem precedenčních tříd.



Subsections

dvorka 2013-12-31