2011-12-15 32 views
5

¿Cómo leer los contenidos del archivo en ocaml? Específicamente cómo analizarlos?Ocaml - Archivos y análisis

Ejemplo:

archivo Supongamos que contiene (a,b,c);(b,c,d)| (a,b,c,d);(b,c,d,e)|

continuación, después de leer esto, quiero dos listas que contienen l1 = [(a,b,c);(b,c,d)] y l2 = [(a,b,c,d);(b,c,d,e)]

¿Hay algún buen tutorial para analizar?

+2

No vuelva a publicar preguntas. Si tiene algo nuevo que agregar a su pregunta existente, edítelo en su lugar. – BoltClock

Respuesta

2

Si desea especificar una gramática y tiene ocaml generar lexers y analizadores para usted, consulte estos tutoriales ocamllex y ocamlyacc. Recomiendo hacerlo de esta manera. Si realmente solo tiene un tipo de token en su formato de archivo, entonces ocamlyacc podría ser excesivo si solo puede usar el lexer para dividir el archivo en tokens considerados válidos por la gramática.

5

Este es un buen caso de uso para el generador de analizador menhir (sucesor de ocamlyacc). Es posible que desee utilizar ocamllex para leer. Todos tienen buena documentación.

También es posible usar camlp4 o Camlp5 habilidades corriente de análisis.

Lea también las páginas de la wikipedia en lexing & parsing.

+0

¿Me puede remitir a algún código de ejemplo o algo así? – priyanka

+3

Las documentaciones tienen código de ejemplo. –

3

Me inclino a usar Aurochs, un analizador PEG para algo como esto. Hay un código de ejemplo en el repositorio allí.