Posted By: Endif (soudruzi, takhle tedy ne) on 'CZprogram' Title: Re: Gramatika aritmetickych vyrazu Date: Thu Sep 30 18:13:13 1999 Hi, z praktickeho hlediska je vetsinou nejpohodlnejsi pouzit, jak navrhuje PajaSoft, nejakey generatorek. Yacc/bison umi tusim LALR(1) gramatiky, ktera staci (s nekolika workaroundama) na jazkyky typu Pascal, C, Java... Pokud bys potreboval neco vic, tak napr. JavaCC zvlada LL(k) gramatiky. Ovsem u aritmetickych vyrazu, pokud je chces jenom vyhodnocovat, bude asi lepsi prevest je do postfixove notace za pouziti zasobniku, napr.: 1 + 2 * 4 ---- se prevede ----> [top stack] 1 2 + 4 * a nasledne zpracovat pomoci 2 registru: 1) r1 = pop, r2 = pop (cili r1=1, r2=2), push(r1+r2) a na zasobniku bude: [top stack] 3 4 * 2) r1 = pop, r2 = pop (cili r1=3, r2=4), push(r1*r2) a hotovka: [top stack] 12 Bye, Endy/Endif ... please wait - loading a virus into your computer.