28 de febrero de 2005

Fin de semana sin luz...

No hubo energía eléctrica este fin de semana en la casa, por un buen rato durante el sábado y el domingo. Así que aproveché para ponerme al día con la lectura, terminé The Battle for Betazed, una novela de Star Trek: The Next Generation que está muy buena, me gustó el concepto de los Betazed tratando de matar telepáticamente y la forma "benévola" en que se resolvió el conflicto moral de usar estas habilidades de forma negativa. Luego comenzé con Altered Carbon, una novela al estilo de The Caves of Steel de Asimov, toda una novela de detectives en un escenario de ciencia ficción. Este libro me está gustando bastante, con una historia que realmente llama la atención. Una parte especial es el Hotel Hendrix, cuyos dueños son AI (Inteligencias Artificiales)...

22 de febrero de 2005

Técnicas avanzadas de análisis para compiladores

Estuve recientemente investigando sobre la tecnología usada en editores inteligentes de entornos de desarrollo (IDEs), con capacidades de syntax highlighting, code completion, y otras facilidades de revisión incremental del código.

Los entornos modernos como Eclipse, Netbeans y otros ayudan al desarrollo rápido de software en Java u otros lenguajes (en el caso de Eclipse, por medio de una arquitectura excelente de plug-ins). Para facilitar el manejo de código fuente, se hace uso de técnicas en línea o incrementales de análisis de código. Por ejemplo, puede el editor crear automáticamente los bloques de { y } del cuerpo de una función, si detectan que se ha tecleado lo que pareciera ser una función en el lenguaje para el que se está editando. Si el programador cambiara la definición de la función, tal vez el editor tendría que modificar la estructura editada.

Para esto, se requiere analizar el texto editable, considerándolo como un stream de tokens, pero que tiene la posibilidad de cambiar dinámicamente, en un entorno muy localizado (muy cerca entre sí) de tokens adyacentes. Encontré un par de papers buenísimos del proyecto Harmonia de la Universidad de Berkeley: uno sobre análisis léxico dinámico (PDF) y otro sobre análisis sintáctico dinámico (PDF). Este último método es una adaptación del General LR (GLR) parsing algorithm, conocido también como Algoritmo de Tomita, o la versión rápida del GLR de Aycock y Horspool (PDF).

Lo interesante de estos algoritmos de parsing es que se realizan en paralelo, como si múltiples threads del parser se partieran en un punto del tiempo de análisis, para generar múltiples caminos dentro del proceso de búsqueda de soluciones.

Habrá que hacer más investigación de esto, y seguramente lo incorporaré en una clase futura.

10 de febrero de 2005

On the boulevard of broken dreams...

Wow...acabo de recibir el último CD de Green Day: American Idiot....está buenísimo! Había oído la canción que tocan en el radio "American Idiot", pero no me imagine que todas las canciones eran buenas. Llevo ratos de no tener un CD así en el que me gustan casi todas las canciones de primera oída (cual fue el último?!?!....creo que fue Elephant de White Stripes o All that you can't leave behind de U2).

Las canciones que más me han gustado de momento son Boulevard of Broken Dreams, Jesus of Suburbia y Whatsername.

9 de febrero de 2005

Nueva versión del libro del "Dragón"

El famosísimo libro de compiladores de Alfred Aho, et.al "Compilers, Principles, Techniques and Tools" (el Dragon Book, o libro del Dragon) tendrá una nueva versión este año, llamada "21st century compilers". Logré encontrar un site con una pequeña descripción y tabla de contenidos aquí. Ya lo agregué a mi wishlist, para comprarlo cuando salga. Se mira buenísimo, aunque el libro del dragón de 1986 todavía es usable, necesita actualización para las nuevas arquitecturas de CPUs con multicores, pipelining, etc.

3 de febrero de 2005

Hablando de vi

La página de vi que puse en el post anterior incluye aquí una entrevista con Bill Joy, el creador de vi, y que luego fuera a ser uno de los fundadores de Sun Microsystems. Vale la pena verla.

2 de febrero de 2005

El proyecto ya está posteado, y algunos cambios en la página

Acabo de poner en mi página el proyecto de Compiladores para este semestre (1er semestre del 2005). Hice también unos cambios, agregándole los anuncios de Google y un tracker de visitas (experimentos...experimentos).

Como estoy usando una herramienta para hacer la página (real men use vi, ya sé...), es un poco difícil controlar el HTML que se genera. Creo que no quedó tan bien, con el texto un poco abajo del margen superior de la página, para que quepan estos bloques de código, pero luego cuando tenga un poco más de tiempo lo trato de arreglar.

1 de febrero de 2005

Me gusta el Mambo...?!?

Bueno, ya me dejaron un comentario sobre Mambo, justo cuando estaba instalando este otro CMS...

Estuve probando el PHP-Nuke, pero le faltaba una característica que necesitaba: restringir noticias y posting a ciertos grupos, y niveles de acceso. Vamos a probar ahora con este otro paquete ...siempre sigo con el RH9, a ver si los RPMs que instalé le funcionan también, o si habrá que bajar más librerías.