Portál AbcLinuxu, 12. května 2025 12:04

Dotaz: Shuting-yard algoritmus a unární mínus

Jardík avatar 22.4.2009 20:44 Jardík | skóre: 40 | blog: jarda_bloguje
Shuting-yard algoritmus a unární mínus
Přečteno: 390×
Odpovědět | Admin
Snažím se přepsat svojí semestrálku z javy do C++ a použít ji tak jako semestrálku :-)

Jelikož ten parser v javě byl né moc efektivní, snažím se implementovat Shunting-yard algoritmus. Už to mám tak tak hotové, ale potřebuji do toho dád "unární mínus". Tj. např. -1^-5^5 ... -(1^(-(5^5))). Unární mínus místo obyčejného mi to rozpozná, ale nevím, jakou mu mám dát prioritu, jak je asociativní, nějak nakoupnou a zakomponovat to do toho postupu na wiki.
Věřím v jednoho Boha.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

22.4.2009 21:42 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Shuting-yard algoritmus a unární mínus
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tenhle algoritmus neznám, takže můžu říct jenom tolik: gramatika aritmetického výrazu je triviální, takže starý dobrý rekurzivní sestup a jedu :-)

No, každopádně unárnímu mínus patří priorita nejvyšší (jak je vidět z té gramatiky).
Ještě na tom nejsem tak špatně, abych četl Viewegha.
Jardík avatar 22.4.2009 22:22 Jardík | skóre: 40 | blog: jarda_bloguje
Rozbalit Rozbalit vše Re: Shuting-yard algoritmus a unární mínus
Už se mi to podařilo dodělat hnusnou podmínkou.

Právě rekurzi jsem tam nechtěl :-) Proto jsem se pustil do tohodle. Teď ještě vymyslet, jak to "zkompilovat" do assembleru, aby se to superrychle vyhodnocovalo :-)
Věřím v jednoho Boha.
22.4.2009 23:14 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Shuting-yard algoritmus a unární mínus
Praví muži umí dělat rekurzi bez rekurze, a GCC myslím dělá optimalizaci tail callů, takže CPS je jasná volba :-D

Ne, na aritmetické výrazy je tenhle algoritmus asi super, zvlášť pokud se člověk spokojí s vyhodnocováním zásobníkem.
Ještě na tom nejsem tak špatně, abych četl Viewegha.
23.4.2009 23:30 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Shuting-yard algoritmus a unární mínus
Praví muži už nejsou :)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.