Mostrando entradas con la etiqueta usac. Mostrar todas las entradas
Mostrando entradas con la etiqueta usac. Mostrar todas las entradas

domingo, 21 de agosto de 2011

Otro editor de Texto avanzado [Java/JFlex/CUP]



Un editor de texto avanzado nos permite llevar un control de cierto lenguaje de programación, denotando palabras reservadas con colores, este programita reconoce sintaxis de html y php con la ayuda de jflex, es util para ver la utilización de estados en jflex.

jueves, 18 de agosto de 2011

Compilador Interprete


Compilador: Programa que traduce un lenguaje fuente a código objeto.
Interprete: Traduce a medida que va leyendo un código fuente, no produce código objeto.

Los requisitos de esta practica eran crear una compilador con opción a interprete, para un lenguaje que aceptara asignaciones de variables, declaraciones, arreglos, estructuras de control como Switch, IF, For, While.

Genera un árbol semántico y lo convierte en un objeto serializable (codigo objeto).


Como utilizarlo, ejecutamos el .jar desde una terminal (dado el caso de el ejecutable) o corremos el proyecto desde Eclipse.

para compilar:

compilar /ruta/al/archivo.src;

esto genera el archivo serializable, el .obj.

ejecutar:

ejecutar /ruta/al/archivo.obj;

Interpretar:

interpretar /ruta/al/archivo.src;

modo debug: (realmente buggy)

ejecutar -d /ruta/al/archivo.obj;

opciones debug:

set breakpoint numerodelinea;
con esto pone un breakpoint, al dar run se va a detener en esta linea.

del breakpoint numerodelinea;
quita el breakpoint que hayas puesto en la linea n.

run; recorre el arbol, y para si hay breakpoints.


DESCARGAR:

lunes, 1 de agosto de 2011

EXT2 C++


El sistema de ficheros tiene un tipo de tabla FAT de tamaño fijo, donde se almacenan los i-nodos. Los i-nodos son una versión muy mejorada de FAT, donde un puntero i-nodo almacena información del archivo (ruta o path, tamaño, ubicación física). En cuanto a la ubicación, es una referencia a un sector del disco donde están todas y cada una de las referencias a los bloques del archivo fragmentado. Estos bloques son de tamaño especificable cuando se crea el sistema de archivos, desde los 512 bytes hasta los 4 kB, lo cual asegura un buen aprovechamiento del espacio libre con archivos pequeños.
Los límites son un máximo de 2 terabytes de archivo, y de 4 para la partición.

En este proyecto crearemos un disco duro de 24mb (archivo binario) en el cual implementaremos un sistema EXT2, podremos crear carpetas, archivos, eliminar y modificar.

NOTA: La parte FAT32 no funciona y hara que se cierre el programa. EXT2 esta en estado experimental :trollface:. Pero puede serles útil y pueden mejorar este código.



martes, 25 de enero de 2011

Term frecuency, Inverse document frecuency TF-IDF

La teoría de la indexación fue elaborada por varios investigadores a mediados de los 50’s, uno de éstos, quien es considerado el padre de la teoría es: Gerard Salton. Salton introdujo varios conceptos como: term frequency (tf), inverse document frequency (idf), entre otros.

Term Frequency (frecuencia de los términos), una palabra en un documento, tiene importancia según la cantidad de veces que ésta se repita.

Inverse document frequency (frecuencia inversa del documento): el valor de un término es inversamente proporcional al número de documentos en que aparece.
Para indexar un registro es necesario definir su vector índice -index vector- como
el conjunto de pares (aij, wij) que definen el valor ai del atributo Ai y su respectivo peso wi
para un documento Di, de una colección.

Este proyecto emplea ambas técnicas para encontrar los documentos mas relevantes de una colección, sacando los vectores TF e IDF de cada documento, su producto punto,

a.b=||a|| ||b|| cos (theta)

y la similaridad por coseno,

similarity = cos(theta) = (a.b)/(||a|| ||b||)
el resultado, un valor de 0 a 1, donde el mas cercano a uno es mas relevante.

Ademas, contiene manejo de bases de datos, uso de javamail y captcha.

domingo, 26 de diciembre de 2010

Tetris

Un juego tipo "puzzle" desarrollado por Alexey Pajitnov en la Union Sovietica, de allí muchos clones han aparecido. Esta es una version hecha en java empleando Threads, Applet para dibujar y manejar el audio, así como listas dobles enlazadas para mantener los marcadores.

La lista doble que era de los requerimientos del proyecto, ordena por el punteo, manteniendo al jugador con mejor record en la 1era posición.



jueves, 16 de septiembre de 2010

Automatas por el metodo de thompson

Un autómata finito (AF) o máquina de estado finito es un modelo matemático que realiza cómputos en forma automática sobre una entrada para producir una salida.
Este modelo está conformado por un alfabeto, un conjunto de estados y un conjunto de transiciones entre dichos estados. Su funcionamiento se basa en una función de transición, que recibe a partir de un estado inicial una cadena de caracteres pertenecientes al alfabeto (la entrada), y que va leyendo dicha cadena a medida que el autómata se desplaza de un estado a otro, para finalmente detenerse en un estado final o de aceptación, que representa la salida.
La finalidad de los autómatas finitos es la de reconocer lenguajes regulares, que corresponden a los lenguajes formales más simples según la Jerarquía de Chomsky.



Este es un programa capaz de desarrollar Automatas Finitos Deterministas por un metodo parecido al de Thompson, Escrito en Javascript con el uso de las librerías jsdraw2d y jscolor.


Como Utilizarlo

Al cargar el archivo html, se tiene una ventana como esta.




Expresion Regular:
Permite escribir una Expresion Regular.

Diagramar:
Genera una diagrama parecido a Thompson a partir de una expresion regular.

Nuevo:
Reinicia la aplicación.

ε:
Permite agregar un epsilon a la cadena.

Ayuda:
Muestra un mensaje con ejemplos de Expresiones Regulares.


Lineas y Relleno:
Permite seleccionar con que colores se diagrama el automata. Por definición, los colores serán negro y blanco.


Definir:
Graba la selección de colores.



texC#ter

Bueno una practica de Compiladores 1 es un sencillo editor de texto, recibe codigo de C# y marca palabras reservadas, errores lexicos (caracteres no validos), comentarios, operadores, variables, etc.

Tiene la opcion de salvar e importar el archivo, y es multi pestaña.

utiliza la herramienta JFlex para verificar por medio de expresiones regulares.


DESCARGAR:

viernes, 25 de septiembre de 2009

[JAVA] Paintbush-like




uffff, bueno este es el 1er proyecto formal, de IPC1, en la USAC, el cual consiste en una aplicacion que nos permita dibujar a mano alzada, hacer lineas, ovalos, rectangulos, triangulos, etc, etc. La interfaz grafica esta inspirada un poquito en Gimp.


Link... consumido por el poder de la mascara de Majora... !!!


utilizamos applet para cargar los graficos, faltaria exportar imagenes pero me gana la pereza jaja. Todas las clases estan en el mismo archivo ;) denle una probada.


DESGARGA


sábado, 15 de agosto de 2009

[JAVA] Calculadora Simple


Bueno, como 1era practica de la clase IPC1, se nos dejo hacer una calculadora simple, que sume, reste, divida y multiplique. Mostrar algun mensaje al intentar dividir entre cero, y como aca nos gusta ir un paso adelante xD, esta hace operaciones sucesivas.



DESCARGAR