B :: Utils.

B :: Utils é uma função auxiliar para manipulação de árvore OP.
Baixe Agora

B :: Utils. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • Perl Artistic License
  • Preço:
  • FREE
  • Nome do editor:
  • Simon Cozens
  • Site do editor:
  • http://search.cpan.org/~simon/Sub-Versive-0.01/Versive.pm

B :: Utils. Tag


B :: Utils. Descrição

B :: Utils é uma função auxiliar para manipulação de árvore OP. B :: Utils é uma função auxiliar para manipulação de árvore OP.Synopsis Use B :: Utils; Essas funções facilitam a manipulação da árvore op.functionsall_starts ALL_ROOTSRetorna um hash de todos os ops iniciais ou ops root de Optrees, digitados para sub-rotina nome; O Optree para o Programa Principal é simplesmente digitado para __main __. Nota: Certos styashes "perigosos" não são digitalizados para sub-rotinas: A lista de tais stashes pode ser encontrada no @b :: utils :: bad_stashes. Sinta-se à vontade para examinar e / ou modificar isso para atender às suas necessidades. A intenção é que um programa simples que não usa módulos que não seja B e B :: Utils não mostrasse nenhum símbolos de adição. Isso não retorna os detalhes dos ops em sub-rotinas anônimas compiladas no tempo de compilação. Por exemplo, dado $ a = sub {...}; a sub-rotina não aparecerá no hash. Isso é tão bem, já que eles são anônimos ... Se você quiser chegar a eles, use ... Anon_subs () Isso retorna uma matriz de referências de hash. Cada elemento tem as chaves "Iniciar" e "Root". Estes são os ops de partida e raiz de todas as sub-rotinas anônimas no programa. $ Op-> OldNameretzls O nome do OP, mesmo que seja atualmente otimizado para null. Isso ajuda você a entender a estrutura da árvore OP. $ Op-> kidsretorna uma matriz de todas as crianças não nulas deste OP, em ordem. $ Op-> primeiro $ op-> Último $ OP-> OtherNormalmente, se você ligar primeiro, Último ou outro em qualquer coisa que não seja um unop, binop ou logop respeitadamente, ele morrerá. Isso leva a lotes de código como: $ op-> primeiro se $ op-> pode ('primeiro'); B :: utils fornece todos os métodos em primeiro lugar, último e outros que simplesmente não retornarão nada se não forem relevantes . $ OP-> ParentReturns O nó pai na árvore OP, se possível. Atualmente "possível" significa "se a árvore já foi otimizada"; isto é, se estamos durante um bloco de verificação. (e, portanto, se tivermos válidos nos próximos ponteiros.) No futuro, pode ser possível procurar o pai antes de termos os próximos ponteiros no lugar, mas isso me levará um pouco para descobrir como fazer isso. $ op-> UMEDLY $ op-> Em seguida, mas não bastante.walkoptree_simple ($ op, retorno de chamada, ) o módulo B fornece várias funções para caminhar a árvore op, mas todos são bastante difíceis de usar, exigindo Você injetar métodos na classe B :: OP. Este é um walker de árvore OP muito simples com semântica mais esperada. O retorno de chamada é chamado em cada OP com o próprio OP passou como o primeiro argumento e quaisquer dados adicionais de $ como o segundo. Todos os funções de caminhada definirão $ B :: Utils: : arquivo e $ b :: utils :: linha para os valores apropriados de arquivo e número de linha no programa sendo examinado. Como apenas os policiais contêm essas informações, ele pode estar indisponível nas primeiras chamadas de retorno. Nukalkoptree_Filtered ($ op, filtro, retorno de chamada, ) Isso é o mesmo que o WalkOptree_Simple, mas só ligará para o retorno de chamada se o filtro retornar . O filtro é passado o op em questão como um parâmetro; A função OPGREP é fantástica para construir seus próprios filtros.Walkallops_Simple (retorno de chamada, ) Isso combina walkoptree_simple com all_roots e anon_subs para examinar todos os op no programa. $ B :: Utils :: Sub é definido para o nome da sub-rotina Se você estiver em uma sub-rotina, __main__ Se você estiver no programa principal e __anon__ se você estiver em uma sub-rotina anônima.walkallops_filtered (filtro, retorno de chamada, ) O mesmo que acima, mas filtrado. Requisitos: · Perl.


B :: Utils. Software Relacionado