---
# System prepended metadata

title: Clase 2

---

# Clase 2

### [Grabación](https://drive.google.com/file/d/1dP7eK1BClFg4kn7PCaAjqGo84s1EAZNj/view?usp=sharing)
-------------
## Preparación de entorno ANTLR4 (*Windows*)

### 1) Instalación del JDK
* Primero vamos a descargar el archivo de instalación del **JDK** en el siguiene [enlace de descarga](https://www.oracle.com/java/technologies/downloads/#jdk20-windows).

![](https://hackmd.io/_uploads/SJP6PUXnn.png)

* Ejecutar el instalador, y seguir los pasos.

![](https://hackmd.io/_uploads/SyALdLm32.png)

![](https://hackmd.io/_uploads/rkkOdI723.png)

* Una vez finalizado el proceso es recomendable hacer un reinicio del sistema.

### 2) Archivos necesarios de ANTLR4

* Los siguiente será descargar los archivos de ejecución de ANTLR4, estos archivos se encuentran en el siguiente [link de UEDI](https://uedi.ingenieria.usac.edu.gt/campus/mod/resource/view.php?id=597678) o bien en la sección del curso, en el apartado de **Archivos**.

![](https://hackmd.io/_uploads/S1wOoUX22.png)

* Una vez descargado tendremos la siguiente carpeta:

![](https://hackmd.io/_uploads/SkSYTL723.png)

* En la subcarpeta llamada "bin" encontraremos algunos archivos que nos ayudaran a ejecutar Antlr4.

![](https://hackmd.io/_uploads/BJfpaIm22.png)

* En la subcarpeta llamada "lib" encontraremos el archivo .jar completo de ANTLR4 en 3 versiones distintas, para este caso unicamente se usará la versión 4.13.0.

![](https://hackmd.io/_uploads/BkbzCLXh3.png)

* Para hacer uso de estos archivos ubicaremos la carpeta que acabamos de descargar en la ruta: "C:\antlr4"

![](https://hackmd.io/_uploads/HygpPRLm23.png)

### 3) Variables de entorno del sistema

* Para poder hacer uso de esta herramienta tendremos que agregar y modificar algunas variables de entorno de Windows.  Para esto nos dirigimos a las opciones y buscaremos los ajustes de **variables de entorno del sistema**.

![](https://hackmd.io/_uploads/r1Py1D7nn.png)

* Cuando nos encontremos en esta ventana seleccionaremos la opción de "Variables de Entorno".

![](https://hackmd.io/_uploads/Hyvmyw7h3.png)

* Se desplegará una ventana con todas las variables de Windows, nosotros seleccionamos la variable "path" y la opción de "Editar", entonces se desplegará la siguiente ventana.

![](https://hackmd.io/_uploads/SJfkxP732.png)

* Primero tenemos que agregar la ruta donde instalamos el JDK, para eso seleccionamos la opción de "Nuevo" y pegamos la ruta de la carpeta.

![](https://hackmd.io/_uploads/Sy8oxP7n3.png)

* Ahora tenemos que definir algunas rutas que usaran los archivos de ejecución de ANTLR4, para eso seleccionamos la opción de "Nuevo" y escribimos lo siguiente: **%ANTLR4_HOME%\bin**

![](https://hackmd.io/_uploads/H1c4WwX32.png)

* Por ultimo tenemos que agregar una nueva variable en el sistema, para eso damos click en "Aceptar" y regresamos a la pantalla anterior.

![](https://hackmd.io/_uploads/H11p-PXn2.png)

* Seleccionamos la opción de "Nuevo..." y se desplegará una ventana que nos solicita **Nombre de la Variable** y **Valor de la Variable**, para lo cual agregaremos los siguientes datos:

    * **Nombre**: ANTLR4_HOME
    * **Valor**: C:\antlr4

![](https://hackmd.io/_uploads/ry4DMwX22.png)

* Por último damos click en aceptar y guardamos todos los cambios.  Ya que instalamos algunos archivos y editamos las variables del sistema es necesario un **reinicio**.

### 4) Ejecución de ANTLR4

* Una vez reainiciado el sistema ya podremos empezar a utilizar ANTLR4 en cualquier parte.  Para probar de manera rápida vamos a crear una gramática sencilla de la siguiente forma:

![](https://hackmd.io/_uploads/rywVVDX32.png)

* Nótese que al crear un archivo con extension ".g4" se crea automáticamente una carpeta llamada ".antlr" allí encontraremos archivos de apoyo de ANTLR4.

* La gramática se vé de la siguiente manera, contiene producciones sencillas para interpretar instrucciones y expresiones.

![](https://hackmd.io/_uploads/r1WRNDm22.png)

* Para poder ejecutar ANTLR4 y que convierta nuestra gramática en código utilizable de Go primero abrimos una nueva terminal y nos situamos en la misma carpeta donde está nuestra gramática.

![](https://hackmd.io/_uploads/HJ7_HD72h.png)

* Luego ingresamos el siguiente comando y presionamos **enter**: 

```bash=
antlr4 -Dlanguage=Go -o parser -package parser *.g4
```

* Definición del comando:

    * **-Dlanguage=Go**: con este parámetro definimos el lenguaje de salida que dará ANLR4, para este caso le indicamos que trabaje con Go.
    * **-o parser**: con este comando indicamos un directorio de salida "parser" para todos los archivos que se generen.
    * **-package parser**: con esta instrucción indicamos el packete de Go al que pertenecen los archivos generados.
    * ***.g4**: con esta opción le indicamos que utilice todos los archivos terminados en ".g4" que se encuentren en el directorio.

* Cuando termine el proceso nos dará una respuesta como la siguiente

![](https://hackmd.io/_uploads/SJ1KdDQ3n.png)

* **¡Listo!** ya generamos nuestro analizador en base a una gramática utilizando ANTLR4, solo resta implementar los archivos en nuestro programa de Go.

![](https://hackmd.io/_uploads/BkdcdD73h.png)



-------------
| Carne     | Nombre                     |
| --------- | -------------------------- |
| 201504220 | José Andres Rodas Arrecis  |
