B :: utils

B :: Utils es un ayudante de ayuda para la manipulación de árboles op.
Descargar ahora

B :: utils Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • Perl Artistic License
  • Precio:
  • FREE
  • Nombre del editor:
  • Simon Cozens
  • Sitio web del editor:
  • http://search.cpan.org/~simon/Sub-Versive-0.01/Versive.pm

B :: utils Etiquetas


B :: utils Descripción

B :: Utils es un ayudante de funciones para la manipulación de árboles op. B :: Utils es una ayudanta Funciones para la manipulación de OP Tree.Synopsis Use B :: Utils; estas funciones facilitan la manipulación de la OP Tree.FunctionsTall_starts all_rootsreturnss un hash de todas las operaciones de inicio o raíz de optrees de optrees, cayendo a subrutina nombre; El Optree para el programa principal se encuentra simplemente en __Main __. Nota: Ciertos sillas "peligrosas" no se escanean para las subrutinas: la lista de dichos actos se puede encontrar en @b :: utils :: bad_stashes. Siéntase libre de examinar y / o modificar esto para satisfacer sus necesidades. La intención es que un programa simple que no use módulos que no sea B y B :: Los Utils no mostrarían símbolos de adición. Esto no devuelve los detalles de OPS en las subrutinas anónimas compiladas en el tiempo de compilación. Por ejemplo, dado $ a = sub {...}; la subrutina no aparecerá en el hash. Esto también es tan bueno, ya que son anónimos ... Si quieres conseguirlos, use ... anon_subs () Esto devuelve una matriz de referencias de hash. Cada elemento tiene las teclas "Inicio" y "Root". Estos son los operadores de inicio y raíz de todas las subrutinas anónimas en el programa. $ Op-> OldNameReTurns El nombre de la OP, incluso si está actualmente optimizado para null. Esto le ayuda a entender la estructura del árbol op. $ Op-> KidsRuestra una matriz de todos los niños no nulos de este OP, en orden. $ Op-> Primera $ op-> Últimos $ Op-> OtherNormally Si llamas primero, Último u otro en cualquier cosa que no sea una UNAP, BINOP o LOGOP, con respeto, morirá. Esto conduce a un montón de código como: $ op-> primero si $ op ('primero'); B :: utils proporciona cada operación con primer, último y otros métodos que simplemente volverán a devolver nada si no es relevante. . $ op-> ParentReturns El nodo padre en el árbol op, si es posible. Actualmente "posible" significa "si el árbol ya se ha optimizado"; Es decir, si estamos durante un bloque de revisión. (Y, por lo tanto, si tenemos valores indicadores siguientes). En el futuro, puede ser posible buscar a los padres antes de que tengamos los próximos punteros en su lugar, pero me llevará un tiempo averiguar cómo hacerlo. $ op-> Previouslike $ op-> Siguiente, pero no del todo .Walkoptree_Simple ($ OP, devolución de llamada, ) El módulo B proporciona varias funciones para caminar con el árbol op, pero todos son bastante difíciles de usar, lo que requiere Usted debe inyectar métodos en la clase B :: OP. Este es un Walker de árbol opreto muy simple con semántica más esperada. La devolución de llamada se llama en cada OP con la opción OP que pasa como el primer argumento y cualquier $ datos adicionales como el segundo. Todas las funciones de Walk se establecen $ b :: utils: : Archivo y $ B :: UTILS :: Línea a los valores apropiados del número de archivos y línea en el programa que se examina. Dado que solo los COP contienen esta información, puede no estar disponible en las primeras llamadas de devolución de llamada.Walkoptree_Filtered ($ OP, Filtro, devolución de llamada, ) Esto es mucho igual que Walkoptree_Simple, pero solo llamará a la devolución de llamada si el filtro devuelve verdadero . El filtro se pasa por la OP en cuestión como un parámetro; La función OPGREP es fantástica para construir sus propios filtros.walkallops_simple (devolución de llamada, ) Esto combina Walkoptree_Simple con all_roots y anon_subs para examinar cada operación en el programa. $ B :: utils :: sub se establece en el nombre de la subrutina si está en una subrutina, __main__ si está en el programa principal y __anon__ si está en un subroutino anónimo.walkallops_filtered (filtro, llamada de llamada, ) igual que arriba, pero se filtran. Requisitos: · Perl


B :: utils Software relacionado