![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 31.03.2002 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
Czy istnieją jakieś nakładki, moduły lub cokolwiek, co umożliwia generowanie prostych parserów w php? Mówiąc "prostych", mam na myśli na przykład parser wyrażeń arytmetycznych z czterema działaniami i nawiasami lub parser wyrażeń logicznych z operatorami logicznymi i nawiasami. A może jest jakiś inny, być może mniej wyrafinowany sposób na rozwiązanie tego zagadnienia?
O co chodzi.. Ano o to, że mam sobie wyrażenie Kod 1*(2+3) i zapuszczam na nim jakąś funkcję, która sprawdza, czy to wyrażenie jest poprawne w zdefiniowanej przeze mnie gramatyce (w tym przypadku jest to wyrażenie arytmetyczne), a jeśli tak, to funkcja coś tam wykonuje z tym cudem, na przykład oblicza to wyrażenie albo zamienia (kompiluje) z notacji infiksowej na notację prefiksową, czyli np. na takie coś:Kod pomnóż(1,dodaj(2,3))
A może ktoś się orientuje, jak to jest rozwiązane w wyszukiwarkach, że np. podaję takie cudo: Kod NOT (ala AND kot) OR (pies XOR chomik) i wyszukiwarka rozpozna to tak, jak chcę.. W niektórych wyszukiwarkach jest to o tyle ciekawie rozwiązane, że jak na przykład źle rozstawię nawiasy, to i tak dostanę jakiś wynik (być może nie ten zamierzony, ale zawsze jakiś).
-------------------- misiu | chór
"Zdeterminowany programista potrafi stworzyć fatalny kod w każdym języku" Allen Holub |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 08:50 |