Portál AbcLinuxu, 4. listopadu 2025 21:10
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.
No, každopádně unárnímu mínus patří priorita nejvyšší (jak je vidět z té gramatiky).
Proto jsem se pustil do tohodle. Teď ještě vymyslet, jak to "zkompilovat" do assembleru, aby se to superrychle vyhodnocovalo
Ne, na aritmetické výrazy je tenhle algoritmus asi super, zvlášť pokud se člověk spokojí s vyhodnocováním zásobníkem.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.