2011-01-05 9 views
6

Logré crear el reconocedor Earley, todo funciona bien. Tengo todos los conjuntos de situaciones adecuados. Pero solo puedo usarlo para decidir si la palabra es aceptada por la gramática. ¿Cómo hacer para analizar? Necesito algún artículo o explicación, parece que necesito crear asociaciones para situaciones que hicieron nuevas situaciones. Cualquier ayuda sería apreciada.Reconocedor Earley para el analizador Earley

Mi aplicación se basa exactamente en: http://www.cs.uvic.ca/~nigelh/Publications/PracticalEarleyParsing.pdf

+1

Puede decirnos en qué artículo ha basado su reconocedor, de lo contrario es difícil saber lo extra que tiene que hacer. –

+0

Agregué el enlace a pdf – dfens

+0

Es posible que desee consultar [Marpa] (https://metacpan.org/pod/Marpa::R2). Es un analizador de ingresos de código abierto que tiene un extremo posterior en C y un extremo frontal en Perl. – hippietrail

Respuesta

1

Cada vez que hacemos una inferencia, no perder de vista de dónde viene, es decir. qué elementos se utilizaron para formar el nuevo artículo. Entonces el bosque de análisis se puede encontrar explorando el elemento superior que abarca toda la entrada. Si está analizando gramáticas ambiguas, también debería considerar el empaque de ambigüedad, es decir. no recombinen (localmente) los análisis equivalentes juntos.

Realmente recomiendo el excelente libro de Klaas Sikkel "Parsing Schemata" para el lado teórico de las cosas.

2

Parse forest generation from Earley reconocedores es complicado. Existe este documento "El reconocimiento no analiza: análisis de estilo SPPF de reconocedores cúbicos" que explica que la versión del analizador de Earley es incorrecta y luego muestra cómo generar bosques de análisis de reconocedores Earley.

http://www.sciencedirect.com/science/article/pii/S0167642309000951