tincho   24-03-2023, 15:40
#1
Hola,

Dado un proyecto gambas del disco local. y dada una clase de este proyecto, por ejemplo MyForm.class:
¿Hay algún algoritmo que analice el contenido?
Deseo obtener:
  • Lista de todas las variables globales, nombre, tipo, valor inicial (si esta declarado)
  • Lista de todos los métodos,  nombre, tipo, acceso, variables de entrada y variables de retorno .
  • Lista de todas las variables públicas de otras clases o módulos a los que MyForm.class accede.
  • Lista de todas los métodos públicos de otras clases o módulos a los que MyForm.class accede.
La idea detrás de todo esto es poder copiar un formulario de un proyecto y todo lo que este necesite para funcionar y nada mas.
Es decir si existe la clase auxiliar Claculator.class y en dicha clase hay dos métodos, Square() y Plus() pero MyForm.class usa solo Plus() una que sea copiado solo Plus() en el archivo y si, además, Plus() usa un método de otra/ clase/s entonces tambien hay que copiarlos.

Por ejemplo Gamabs IDE puede ordenar las clases en el treeview de acuerdo a su ubicación en el sistema de archivos o de acuerdo a su herencia. Para hacer este tipo de cosas debe haber algún algoritmo que analiza cada archivo de código.

Dejo un proyecto para hacer el experimento, donde este tiene varias clases, módulos y formularios.

Experimento: Hacer un algoritmo lo mas simple posible que genere una copia del proyecto pero solo incluir el formulario FMain.for,/FMain.class y todo lo que este relacionado recursivamente.

Esquema:
[Imagen: MCTxJJT.jpg]
Buen fin de semana Big Grin
Archivos adjuntos
.gz
sample-class-parsing-0.0.1.tar.gz (Tamaño: 12.01 KB Descargas: 4)
Última modificación: 03-04-2023, 11:18 por tincho.

1 Saludo.
Shordi   25-03-2023, 10:36
#2
Quizá esto te ayude. Con FMain exploras las clases de gambas, con Form1 exploras las del proyecto. No debe ser difícil adaptarlo a lo que pides.

Saludos
Archivos adjuntos
.gz
ExploraClases-0.0.1.tar.gz (Tamaño: 13.03 KB Descargas: 5)

No podemos regresar
tincho   27-03-2023, 14:18
#3
(25-03-2023, 10:36)Shordi escribió: Quizá esto te ayude. Con FMain exploras las clases de gambas, con Form1 exploras las del proyecto. No debe ser difícil adaptarlo a lo que pides.

Eche un vistazo a tu programa pero no es lo que busco, ya que deseo analizar los archivos de código fuente de proyectos completamente separados.
Pero de todas maneras gracias por el aporte.

1 Saludo.
tincho   03-04-2023, 11:20
#4
Agregue un esquema en el primer mensaje para esclarecer la información a gestionar.

1 Saludo.
  
Usuarios navegando en este tema: 1 invitado(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.