Pregunta Ocaml - Archivos y análisis


¿Cómo leer los contenidos del archivo en ocaml? Específicamente cómo analizarlos?

Ejemplo:

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

luego de leer esto, quiero dos listas que contengan l1 = [(a,b,c);(b,c,d)] y l2 = [(a,b,c,d);(b,c,d,e)]

¿Hay algún buen tutorial para analizar?


5
2017-12-15 07:06


origen


Respuestas:


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


2
2017-12-16 15:44



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

También podrías usar camlp4 o camlp5 transmitir habilidades de análisis

Lea también las páginas de wikipedia en lexing & análisis.


5
2017-12-15 07:12



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


3
2017-12-15 23:53