B :: Generar

B :: Generar es un módulo PERL que puede crear sus propios árboles opanos.
Descargar ahora

B :: Generar 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 :: Generar Etiquetas


B :: Generar Descripción

B :: Generar es un módulo Perl que puedes crear tus propios árboles opanos. B :: Generar es un módulo PERL que puede crear sus propios árboles op.synopsis. Use B :: Generar; # No hacer nada, lentamente. Compruebe {My $ NULL = NUEVO B :: OP ("NULL", 0); MY $ ENTER = NUEVO B :: OP ("ENTER", 0); My $ COP = NUEVO B :: COP (0, "HIYA", 0); My $ Deja = NUEVO B :: LISTOP ("DEJA", 0, $ ENTER, $ NULL); $ deja-> niños (3); $ Enter-> hermano ($ COP); $ ENTER-> Siguiente ($ COP); $ COP-> hermano ($ nulo); $ null-> Siguiente ($ permiso); $ COP-> Siguiente ($ permiso); # Dile a Perl dónde encontrar nuestro árbol. B :: main_root ($ DEJA); B :: Main_Start ($ Enter); } Advertencia Este módulo creará fallas de segmentación si no sabe cómo usarlo correctamente. Advertencia adicional: a veces no sé cómo usarlo correctamente. Hay muchos otros métodos y funciones de utilidad, pero no se documentan aquí. Esto es deliberado, en lugar de solo a través de la pereza. Se espera que haya leído las fuentes de Perl y XS a este módulo antes de intentar hacer cualquier cosa con él. Bienvenido.Malcolm Beattie's B Módulo le permite examinar el árbol OP perl en tiempo de ejecución, en el espacio de Perl; Es la base del compilador PERL. Pero lo que no lo permite hacer es manipular ese árbol op: no te permitirá crear nuevas operaciones, o modificar las antiguas. Ahora, usted puede.Buena, si está íntimamente familiarizado con las internales de Perl, usted puede.B :: Generar los métodos de accesorios de Generate B en los métodos de configuración. Por lo tanto, en lugar de simplemente decir $ OP2 = $ OP-> Siguiente; ahora puede decir $ op-> Siguiente ($ OP2); para establecer la siguiente operación en la cadena. También agrega métodos de constructor para crear nuevos operadores. Aquí es donde se pone realmente peludo. NUEVO B :: OP (tipo, banderas) NUEVO B :: UNOP (Tipo, Banderas, First) NUEVO B :: BINOP (Tipo, Banderas, First, Último) Nuevo B :: LOGOP (Tipo, Banderas, Primero, Otro) NUEVO B :: LISTOP (tipo, banderas, primero, último) NUEVO B :: COP (banderas, nombre, primero) en todos los constructores anteriores, el tipo es un valor numérico que representa el tipo OP (62 es el operador de la adición, Por ejemplo) o el nombre de la OP. ("Agregar") (Incidentalmente, si conoce sobre operaciones personalizadas y las ha registrado correctamente con el intérprete, puede crear operaciones personalizadas por nombre: New B :: OP ("MyCustomop", 0), o lo que sea.) Primero, Las últimas y otras son OPS que se adjuntarán a la OP actual; Estos deben ser B :: OP Objetos. Si aún no has creado las operaciones, no te preocupes; Dé un valor falso, y llénalos más tarde: $ x = NUEVO B :: UNOP ("NEGATE", 0, UNDEF); # ... Crea un poco más ops ... $ x-> Primero ($ y); Además, se puede crear un nuevo operador de NextState con NewState B :: OP (banderas, etiqueta, op) de la misma manera que B :: COP :: NUEVO: sin embargo, esto también agregará el OP.Finalmente LineSeq, puede establecer la raíz principal y la OP inicial al pasar OPS a la B :: Main_Root y B :: Main_start Functions.Este módulo puede obviamente ser utilizado para todo tipo de propósitos divertidos. Lo mejor será con una conjunción con filtros de origen; Haga que su filtro de origen analice un archivo de entrada en un idioma extranjero, cree un árbol op para ello y obtenga PERL para ejecutarlo. Luego envíeme un correo electrónico y dime cómo lo hiciste. Y por qué. Requisitos: · Perl


B :: Generar Software relacionado