Estoy usando una aplicación de código cerrado que carga scripts Lua y permite cierta personalización modificando estos scripts. Lamentablemente, esa aplicación no es muy buena para generar resultados de registro útiles (todo lo que obtengo es 'script failed') si algo falla en uno de los scripts de Lua.analizando estáticamente el código Lua para posibles errores
Me doy cuenta de que los lenguajes dinámicos son bastante resistentes al análisis de código estático en la forma en que se puede analizar el código de C++, por ejemplo.
Tenía la esperanza, sin embargo, de que hubiera una herramienta que se ejecutara a través de un script Lua y p. Ej. advierte sobre variables que no se han definido en el contexto de una secuencia de comandos en particular.
Esencialmente lo que estoy buscando es una herramienta que para un script:
local a
print b
sería de salida:
warning: script.lua(1): local 'a' is not used'
warning: script.lua(2): 'b' may not be defined'
Es realmente sólo puede ser advertencias para la mayoría de las cosas, sino que todavía habría ¡útil! ¿Existe tal herramienta? ¿O tal vez un Lua IDE con una característica como esa incorporada?
Gracias, Chris
Probablemente no quiso decir "{" y "}" (que sirven como constructor de tabla en Lua), sino palabras clave "do" y "end" (también varias construcciones de control como if-then-else, dos tipos de bucles for etc.). –
No tengo idea de cómo se ve el lenguaje lua :-) Pero supongo que tiene alguna idea de "alcance variable". De hecho hice este tipo de cosas recientemente para Java. –