HBAB commited on
Commit
52c35bb
·
verified ·
1 Parent(s): f0c291f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +23 -21
app.py CHANGED
@@ -1,37 +1,39 @@
1
  import gradio as gr
2
- from transformers import AutoTokenizer, AutoModel
3
- import torch
4
 
5
- # Cargar CodeBERT
6
- tokenizer = AutoTokenizer.from_pretrained("microsoft/codebert-base-mlm")
7
- model = AutoModel.from_pretrained("microsoft/codebert-base-mlm")
8
-
9
- # Función que usa CodeBERT para codificar y analizar
10
  def analizar_codigo(codigo):
11
- errores = "⚠️ No se realizó análisis de sintaxis (solo compatible con Python)."
 
 
12
  try:
13
- inputs = tokenizer(codigo, return_tensors="pt", truncation=True, max_length=512)
14
- with torch.no_grad():
15
- outputs = model(**inputs)
16
-
17
- # Tomamos el embedding del primer token [CLS] como resumen
18
- cls_embedding = outputs.last_hidden_state[0][0]
19
- vector = cls_embedding.tolist()[:5] # solo primeros 5 valores para mostrar
20
- explicacion = f"Vector de representación del código (parcial): {vector}"
 
 
 
21
  except Exception as e:
22
- explicacion = f"❌ Error al procesar el código: {str(e)}"
 
 
23
  return errores, explicacion
24
 
25
  # Interfaz Gradio
26
  demo = gr.Interface(
27
  fn=analizar_codigo,
28
- inputs=gr.Textbox(lines=15, label="Pega tu código aquí"),
29
  outputs=[
30
  gr.Textbox(label="Estado de la sintaxis"),
31
- gr.Textbox(label="Representación del código")
32
  ],
33
- title="🔍 Representación de Código con CodeBERT",
34
- description="Este Space usa CodeBERT (MLM) para generar una representación vectorial del código fuente."
35
  )
36
 
37
  demo.launch()
 
1
  import gradio as gr
2
+ import jshint # Asegúrate de tener JSHint instalado en tu entorno
 
3
 
4
+ # Función que usa JSHint para analizar código JavaScript
 
 
 
 
5
  def analizar_codigo(codigo):
6
+ errores = ""
7
+ explicacion = ""
8
+
9
  try:
10
+ # Usamos JSHint para analizar el código JavaScript
11
+ result = jshint.JSHINT(codigo)
12
+
13
+ if not result:
14
+ errores = "❌ Errores de sintaxis o estilo detectados:\n"
15
+ for error in jshint.JSHINT.errors:
16
+ errores += f" Línea {error['line']}, Columna {error['character']}: {error['reason']}\n"
17
+ explicacion = "Revisa los errores en tu código y corrige los problemas detectados."
18
+ else:
19
+ errores = "✅ No se encontraron errores de sintaxis ni estilo."
20
+ explicacion = "Tu código está libre de errores detectados por JSHint."
21
  except Exception as e:
22
+ errores = f"❌ Error al procesar el código: {str(e)}"
23
+ explicacion = "Hubo un problema al analizar el código."
24
+
25
  return errores, explicacion
26
 
27
  # Interfaz Gradio
28
  demo = gr.Interface(
29
  fn=analizar_codigo,
30
+ inputs=gr.Textbox(lines=15, label="Pega tu código JavaScript aquí"),
31
  outputs=[
32
  gr.Textbox(label="Estado de la sintaxis"),
33
+ gr.Textbox(label="Explicación de errores de estilo y sintaxis")
34
  ],
35
+ title="🔍 Analizador de sintaxis y estilo de código JavaScript con JSHint",
36
+ description="Este Space utiliza JSHint para verificar errores de sintaxis y estilo en tu código JavaScript."
37
  )
38
 
39
  demo.launch()