Mam AST (abstrakcyjne drzewo składniowe), a teraz chcę przetestować mój kompilator, podając mu 2 lub więcej liczb i oczekując wyniku z operacji matematycznych (takich jak kalkulator).Interpreter AST?
Moje pytanie brzmi, jaki jest najlepszy sposób na zbudowanie tłumacza? Odwiedzanie węzłów AST jest rekursywne, więc nie wiem, ile enkapsulowanych obliczeń istnieje, dopóki nie dojdę do końca drzewa. Ale ponieważ jest wykonywana iteracja przez iterację, jak mogę wykonać wszystkie operacje na końcu?
Dziękuję
Jak postąpiłbyś, gdyby pojawiły się wyciągi i porównać operatorów? – Nitrate
Zobacz patch do tłumacza, aby wesprzeć CompareForEqual, Assignment, IfThenElse –
Wielkie dzięki Ira! – Nitrate