¿Un nuevo compilador para microcontroladores PIC?

Recientemente (hace algunos meses), inicié uno de mis proyectos más ambiciosos, un compilador.  Y aunque ya antes he hecho compiladores sencillos, este es el primero que tiene un diseño sólido y toda una ingeniería detrás. Crear un compilador, no es una tarea sencilla. Este tipo de programas están entre los más complejos que existen. El primer compilador de FORTRAN, requirió […]

Leer más

Jugando con Palabras – Analizadores Léxicos II

En la primera parte de este artículo, vimos el concepto de analizador léxico y mostramos una implementación sencilla usando una clase en Object Pascal. En esta parte, enseñaré como usar la librería SynFacilSyn para implementar un analizador léxico más completo y como lo podemos usar para el resaltado de sintaxis de un texto. Si nunca ha usado SynFacilSyn, puede que […]

Leer más

Jugando con Palabras – Analizadores Léxicos I

Una de las necesidades comunes en computación, es el procesamiento de textos, sea a nivel visual, para mostrarlo, o a nivel léxico, para interpretar las palabras que contiene. Cuando se procesa un texto a nivel léxico, se dice que el programa que realiza el procesamiento, es un analizador léxico. En este artículo, propondré la creación de un analizador léxico elemental, […]

Leer más

Lazarus – Internacionalizando tus aplicaciones.

Curiosamente, la palabra “Internacionalización”, se encuentra entre las palabras más largas del español y reconocidas por la Real Academia (al lado de “electroencefalografista” y “esternocleidomastoideo”), quien le asigna el siguiente significado:  “Someter a la autoridad conjunta de varias naciones, o de un organismo que las represente, territorios o asuntos que dependían de la autoridad de un solo Estado.” La internacionalización […]

Leer más

Tito’s Terminal

Ya antes había presentado mi viejo terminal para Telnet http://blog.pucp.edu.pe/item/176465/tito-s-telnet-un-telnet-libre Ahora, aparece renovado y repotenciado el viejo terminal, pero con un nuevo nombre: “Tito’s Terminal”. Aquí lo pueden descargar: https://github.com/t-edson/Tito-s-Terminal Este nuevo programa es similar al Tito’s Telnet, pero con más opciones de conexión como cliente. Soporta Telnet, SSH, y en general puede usar cualquier programa que maneje consola. Para […]

Leer más

Lazarus – Resaltador de sintaxis con completado de código.

Ya anteriormente he presentado un resaltador de sintaxis para el componente SynEdit de Lazarus. En esta ocasión comparto el resaltador de sintaxis SynEditCompletion, que es una versión desarrollada sobre el resaltador SynFacilSyn, pero que incluye la maquinaria necesaria para implementar el completado de código. Esta funcionalidad permite definir la lista de palabras que se presentará en el editor a manera […]

Leer más

Lazarus – La Biblia del SynEdit

Dada la poca documentación existente (realmente muy poca), del componente SynEdit de Lazarus, un documento de más de 100 hojas debe ser considerado una Biblia. Por eso es que decidí escribir esta documentación técnica. En realidad iba a formar parte de un trabajo más grande sobre Lazarus, que estaba escribiendo  pero, ha alcanzado unas proporciones mayores a lo que esperaba, […]

Leer más

Lazarus – Resaltador de Sintaxis ‘Todo terreno’ para SynEdit

A los que hemos trabajado lo suficiente con el componente SynEdit de Lazarus, en algún momento hemos sentido la necesidad de configura la sintaxis de una forma fácil, y sin perder eficiencia. Los componentes de sintaxis prediseñados que vienen con el entorno (SynPasSyn, SynCppSyn, SynJavaSyn, etc), si bien son rápidos, no siempre cubren las necesidades. Y modificarlos, para ampliar la […]

Leer más

Lazarus – Coloreado de sintaxis usando SynEdit

Se sabe que el componente SynEdit de Lazarus, es muy completo, flexible y rápido. Soporta coloreado de sintaxis, reconocimiento de delimitadores, edición síncrona, resaltado de palabras similares,  autocompletado, “folding”, y un largo etcétera.   Desgraciadamenet existe muy poca documentación en español, y aún en inglés, acerca de cómo implementar estas funcionalidades de SynEdit. Es una pena porque este componente de […]

Leer más
1 2