Delphi PHP / JavaScript belge yapısını Ayrıştırma

2 Cevap php

I need to parse PHP & JavaScript documents structure to get the info about document functions & their parameters, classes & their methods, variables, and so on ... I'm wondering if there is any solution for doing that (no regular expressions) ... I've heard about something called "lexing" however I was unable to find any examples even the ones that could me tell if this is something what I am looking for or not ...

şimdiden teşekkürler

2 Cevap

"Lexing" senin Sözcük Analizi atıfta ve Lex ve Yacc adında çoğunlukla hala çalışan bazı eski araçlar vardır ile. Lex dizgeciklerini oluşturur ve Yacc "başka bir derleyici derleyici" anlamına gelir ve gerçek ayrıştırıcı.

Lex / Yacc kavramı, size dil için bir dilbilgisi oluşturmak ve sonra bir dosyayı ayrıştırmak ve belirli anahtar kelimeler ve belirteçleri üzerine harekete geçmeye kullanabileceğiniz kaynak kodunu (normalde C) oluşturmak için paslex aracıyla dilbilgisi koşmak . Martin Waldenburg artık bir on yıl içinde yol etrafında tekme olmuştur PasLex adında lex / yacc bir pascal versiyonunu yazdı ve (bazı küçük iş olmadan son sürümleri ile çalışmak olmasa da) Delphi dönüştürüldü . Eğer yanlış hatırlamıyorsam, o lex gibi aynı. L dilbilgisi girdi dosyaları kullanır, böylece Lex / yacc bulmak herhangi bir dokümantasyon da çıkış olarak pascal kodu almak dışında, paslex uygulanabilir.

I'm not sure about current documentation availability. Before the internet (gasp) we used books and most of this was heavily documented on paper which has long turned yellow...however, rumor has it that you might..just might be able to pick up a used copy from Amazon. I cut my teeth on this using a book which is also known as "the dragon book" which appears to have been re-published as recently as 2006.


EDIT:

Ben aracı tarafından yanlış oldu, oldu TPLY. PasLex TPLY bir. L dosyadan pascal kaynağını üretilen Lex / Yacc aracı oldu ... delphi dilbilgisi uygulama idi.

Bunun mümkün olup olmadığından emin değilim ama PHP için size bilgi almak için Delphi PHP CLI çağırmak mümkün olacaktır?

Eğer öyleyse token_get_all() aramak ve daha sonra Delphi (belki xml, json, vb) ayrıştırmak şey sonuç tükürmek olabilir. Bu lexing olduğunu. Eğer hala istediğiniz sonuçları elde etmek bağlamda her simgeyi anlamak zorunda - bu problem çözüldü sadece yarım sorundur.