2009-06-16 11 views
11

PHP'de Flex/Bison (veya Lex/Yacc, et. Al.) Desteğini almanın bir yolunu arıyorum. Spesifik olarak, bir web kullanıcı arayüzünde bir boolean sorgu ayrıştırıcısını uyguluyorum ve PHP'nin içindeki tüm işlemleri (C ayrıştırıcısını çağırmaktan veya bir şeyi Python'a iletmekten farklı olarak) kullanmayı tercih ediyorum. PHPFlex/Bison benzeri işlevsellik

cevap

11

LIME Ayrıştırıcı Jeneratör:

Komple LALR (1) ayrıştırıcı jeneratör ve (bizon veya yacc gibi) motor ama hepsi PHP yapılan , ve giriş dilbilgisi daha kolay ve daha rahat olduğu . PHP'deki eylemlerinizi yazın. PHP çıkış kodunu üretin. Ayrıştırıcınızı PHP ile sürün. Dil yapmak ister misin?


güncelleme:

yukarıda yazdım, ben burada açıklanacak, ayrıştırıcı nesil için diğer bazı araçlar olduğunu görüyoruz: Bunlar ise

http://wezfurlong.org/blog/2006/nov/parser-and-lexer-generators-for-php/

emin değil 2014'te daha iyi bir şekilde devam etmekteyim, fakat Wez Furlong'u tanıyorum, PDO'nun orijinal geliştiricisi ve çok iyi bir geliştiriciydi.

+1

Bunu hiç kullandınız mı? Şu anda neredeyse iki yıldan beri güncellenmemiştir ve açık ya da kapalı herhangi bir dosyalama hatası yoktur, bu yüzden test edildiğine ya da gerçekten kullanıldığına güvenmekten çekiniyorum. – Wang

+1

Hayır, PHP'de tam gelişmiş bir ayrıştırıcı uygulamaya gerek duymadım. Vazgeçilmez olması ve başka bir araç bulunmaması, PHP'nin işleri ayrıştırmak için doğru araç olmadığı konusunda bir ipucu olabilir. –

+0

Birisi güncellemeye çalışıyor gibi görünüyor: https://github.com/rvanvelzen/lime (2 yıla dokunulmadı, ama bu bir başlangıç!) – Andrea