Pergunta

eu preciso analisar PHP e JavaScript estrutura de documentos para obter a informação sobre as funções de documentos e seus parâmetros, classes e seus métodos, variáveis ??e assim por diante ... Eu estou querendo saber se existe alguma solução para fazer isso (sem expressões regulares) ... Eu já ouvi sobre algo chamado "léxico" no entanto eu era incapaz de encontrar qualquer exemplos mesmo os que me podia dizer se isso é algo que Eu estou procurando ou não ...

Agradecemos antecipadamente

Foi útil?

Solução

Por "Lexing" seu referindo-se a análise léxica, e existem algumas ferramentas antigas que em sua maioria continuam a trabalhar nomeados Lex e Yacc. Lex constrói o tokenizer e Yacc significa "mais um compilador compilador" e é o analisador real.

O conceito de lex / Yacc, é que você construir uma gramática para a linguagem, e depois executar a gramática através da ferramenta paslex para gerar código-fonte (normalmente em C) que você pode usar para analisar um arquivo e agir sobre específica palavras-chave e fichas. Martin Waldenburg escreveu uma versão pascal de lex / yacc chamado PasLex que foi chutando em torno de maneira mais de uma década e tem sido convertido em Delphi (embora ele pode não funcionar com as versões mais recentes, sem algum trabalho menor). Se bem me lembro, ele usa os mesmos arquivos de entrada .L gramática como lex, portanto, qualquer documentação que você encontrar para lex / yacc também pode ser aplicado a paslex, com a exceção de que você obtém o código pascal como a saída.

Eu não tenho certeza sobre a disponibilidade documentação atual. Antes da internet (suspiro) usamos livros ea maior parte deste foi fortemente documentado em papel que há muito ficou amarelo ... no entanto, havia rumores de que você might..just pode ser capaz de pegar um exemplar usado na Amazon. Eu cortei meus dentes nessa usando um livro que também é conhecido como " o livro dragão ", que parece ter sido re-publicada recentemente, em 2006.


EDIT:

eu estava enganado pela ferramenta, foi TPLY . PasLex era uma implementação delphi gramática ... TPLY foi a ferramenta Lex / Yacc que gerou fonte pascal de um arquivo .L.

Outras dicas

Eu não tenho certeza se isso é viável, mas para PHP você seria capaz de invocar o PHP CLI do Delphi para obter as informações?

Se assim você poderia chamar token_get_all () e depois cuspir o resultado em algo que você pode analisar em Delphi (talvez XML, JSON, etc.). Esta é léxico. O problema com isto é que é apenas metade do problema resolvido -. Você ainda tem que entender cada símbolo no contexto para obter os resultados desejados

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top