Postrar :: semental

EBNF basado en RegeXP Retroceder al parser y evaluador de árboles
Descargar ahora

Postrar :: semental Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • Perl Artistic License
  • Precio:
  • FREE
  • Nombre del editor:
  • Arthur Goldstein
  • Sitio web del editor:
  • http://search.cpan.org/~arthur/

Postrar :: semental Etiquetas


Postrar :: semental Descripción

EBNF basado en RegeXP retroceder al analizador y evaluador de árboles Parse :: STALLION es un analizador de retroceso de REGEXP basado en EBNF y evaluador de árboles.Synopsis Use Parse :: Stallion; MIS% REGLAS = (REGLA_NAME_1 => ..rule_definition .., regla_name_2 = >.rule_definition ..., ...); My $ STALLION = NUEVO PERSAMENTO :: STALLION (\% Reglas, # Los siguientes parámetros son opcional {START_RULE => 'REGLA_NAME_1', #DEFAULT La regla que no es un subrule do_evaluation_in_parsing => 0, #default 0 no_evaluation => 0, #default 0 max_steps => 200000, #default 1000000; do_not_compress_eval => 0, #default 0 separator => '__xz__', #default '__xz__' necesidad_not_match_whole_string => 0, #default 0 parse_forward => subfault 0 ...}, #default no sub parse_backtrack => subfault no sub traversal_only => 0, #default 0 inmexable_rules_allowed => 0, #default 0 FAST_MOVE_BACK => 1, #DEFAULT 1 a menos que cualquier desigualización / parse_backtrack}); My $ parse_info = {}; # Opcional, poco impacto en el rendimiento My $ parse_hash = {}; # Opcional, poco impacto en el rendimiento My $ parse_trace = []; # opcional, algún impacto en el rendimiento My $ Result = $ STALLION-> PERSE_EVALUATE ($ DIRT_STRING, # generalmente omita el siguiente {max_steps => 30000, #default de la creación de Parser_info => $ parse_info, #if proporcionado, info de análisis devuelto parse_trace => $ parse_trace, # si se proporciona, TRACE devuelto start_position => 0, #default 0 start_rule => $ start_rule, # predeterminado de la creación de parser parse_hash => $ parse_hash, #used como parse_hash en las rutinas llamadas}); # Devuelve UNDEF si no se pueden analizar las definiciones de parserule (se pueden abreviar con la primera letra): y ('subrule_1', 'subrule_2', ..., evaluación (sub {...})) o ('subrule_1', 'SUBRULE_2' , ..., evaluación (sub {...})) múltiple ('subrule_1', evaluación (SUB {...})) HOJA (QR / REGEX /, Evaluación (Sub {...})) Parses de semental y evalúa una cadena usando las reglas de gramática ingresadas. El análisis se realiza de arriba a través de una regla de inicio, en una primera búsqueda de profundidad formando un árbol de parse. Cuando una regla no coincide con el parser backtracks en un nodo que tiene otra opción. Para evaluar un nodo de árbol, la subrutina de evaluación se le da una referencia a un hash que representa los valores devueltos de los nodos infantiles. La evaluación se puede hacer al crear el árbol de análisis y rechazar una coincidencia que afecta a qué cadenas analizan; Esto permite las gramáticas complejas. Si la evaluación no se realiza al analizar, en un examen exitoso, el árbol se evalúa en abajo hacia arriba, de izquierda a orden de izquierda. Las gramáticas reconocidas son libres de contexto y son similares a las expresadas en la forma extendida de Backus-Naur. (EBNF). El objeto que se está analizando no necesita ser una cadena. A excepción de la sección sobre sin cadenas, la documentación asume que las cadenas están siendo analizadas. Requisitos: · Perl


Postrar :: semental Software relacionado