Anonymní profil midnighter@centrum.cz – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil midnighter@centrum.cz – Programujte.comAnonymní profil midnighter@centrum.cz – Programujte.com

 

Příspěvky odeslané z IP adresy 83.240.28.–

midnighter@centrum.cz
PHP › Parsování logického výrazu
24. 10. 2008   #88238

Děkuji za nápady a návrhy. O postfixofém zapisu sem sice nic nenašel, ale použil sem zmiňované pole stím že neprocházím znak po znaku hledám vždycky jenom funkcí strpos "(" nebo ")" stím že při každé nové "(" připočítám hloubku a při ")" hloubku odčítám. To co je mezi poslední a předposlední nalezenou závorkou ukládám do posle $parsed[$deep][]; Do pole parsed[$deep-1][] ukladám pak jakoby odkaz na pole vyžší hloubky a prvek kterým se má začít.
Všechno tak vypadá třeba následovně:

Array ( 

[1] => Array (
[0] => item=1 OR item3=2
[1] => item2=4 NOT bla bla
)
[0] => Array (
[0] => 10
[1] => AND
[2] => 11
)
)


Kod 10 nebo 11 značí že se bude na dané místo patří podmínka z 1ho pole a číslo prvku 0 nebo z 1ho pole číslo prvku 1
Tak kdyby někdo s něčím podobným potřeboval poradit nebo měl problem. Kontaktujte mě na maila a ja vam klidně pošlu zdrojak

midnighter@centrum.cz
PHP › Parsování logického výrazu
24. 10. 2008   #88171

Dobré dopoledne.
Potřeboval bych poradit kde sehnat materiály k vytvoření vlastního parseru. Nejedná se o nic složitého pouze potřebuji rozparsovat
výrazy typu ((podminka1 AND (podminka2 OR podminka3) OR (podminka4 AND podminka5)) NOT (podminka5 AND podminka6)).
Už sem vyzkoušel několik postupů jak si cely vyraz rozdělit do jednotlivych zavorek ale pak sem měl zase problem s podminkami a log operatory.
Na googlu sem narazil na jisty (ne moc obsahově cenny) material o parsovani, kde se autor zmiňuje o tokenech a předpřípravě parsovaného textu a metodách jeho následného parsování. Bohužel všechno je tam popsáno velice teoreticky. Tak pokud byste někdo měl nějaký nápad nebo nějaké materiály tak bych vám byl vděčen kdybyste se semnou o ně podělili.

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032021 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý