Estaba tratando de implementar ANTLR4 para un proyecto en el que estoy trabajando y creé un analizador Python3 para JavaScript usando la herramienta ANTLR4. El problema es que cuando trato de ejecutar el código, me salta el siguiente error: TypeError: Assignment to constant variable.
TypeError: Assignment to constant variable.El fragmento de código es el siguiente: Asignación
let old_lexer = Python3Lexer; Python3Lexer = function () { old_lexer.apply(this, arguments); this.reset.call(this); }Python3Lexer es una clase.
Estoy usando ANTLR 4.9.2 y ECMAScript 5.1 (pero realmente no sé si este se está ejecutando, tal vez sea la versión predeterminada).
Realmente no entiendo qué significa esa tarea y tampoco sé si se puede escribir de alguna otra manera.
Gracias por adelantado.
Con ANTLR 4.9.x, el destino de JavaScript genera código fuente EcmaScript 6 y debe transpilarse a EcmaScript 5 ( la documentación para el destino de JavaScript recomienda usar WebPack y tiene instrucciones para usarlo). El tiempo de ejecución de JavaScript tiene un webpack.config.js para ayudar afuera. Esto es necesario para la salida que se ejecutará bajo un tiempo de ejecución de EcmaScript 5.x. ( class , let , etc. son todos específicos de ES6).