Hola a todos.
Básicamente mi pregunta se remonta a intentar crear una herramienta que traduzca código Perl a código humano Es decir: poder leer el código Perl como si de un libro se tratase... Parece tonto, creo, pero leyendo por ahí, creo que sería un avance muy grande permitir traducir grandes códigos al lenguaje humano, y dada la capacidad de procesamiento de texto de Perl creo que sería el lenguaje perfecto para permitir una herramienta así...
Sin embargo me surge la gran duda. Leyendo por ahí y según lo que veo, Perl es imposible de interpretar porque su sintaxis, al ser increíblemente dinámica es casi imposible crear un analizador sintáctico y léxico que permita con total certeza identificar lo que una determinada porción de código realiza...
He leído sobre proyectos como Marpa::R2 pero no saco conclusiones sobre si se puede o no, por ejemplo, interpretar la sintaxis de Perl con la garantía de ser correcta la traducción al lenguaje humano que realizaría la herramienta.
Aquí viene mi duda, si Perl no tiene un analizador sintáctico y directamente ejecuta el código, existiría la posibilidad de capturar cada ejecución de código y traducirla al lenguaje humano. Por ejemplo: supongamos que defino un hash. Al no tener una estructura léxica rígida sobre cómo puedo definir un hash o desde qué parte de código puedo dar inicio a un hash, ¿puedo capturar el resultado de la ejecución y traducir el resultado como "Definición de un hash" independientemente de la estructura gramatical de la definición del hash o desde qué parte del código defino el hash?
Aunque eso ya no sería un intérprete por que en esencia yo ejecuto el código Perl para capturar la ejecución y saber qué acción realiza y luego yo traducir esa acción a un lenguaje comprensible, pero quiero saber si existe tal posibilidad o solo son delirios. ¡ja,ja,ja! xD
De todas formas hay algo que no entiendo. Por ejemplo al escribir una instrucción Perl y al escribirla mal o al no cumplimentar por ejemplo las comillas, Perl me tira un error relativo de dónde está el problema, del porqué no me ejecuta... ¿Eso en sí no es un intérprete que lleva Perl incorporado?
¡Saludos y muchas gracias!