Proyecto basico de c usando CMake

Este post esta basado en Introduction to CMake by Example.

La utilidad make y los Makefiles proporcionan un sistema de
compilación que se puede usar para administrar la compilación y la
recompilación de programas escritos en cualquier lenguaje de
programación.
Sigue leyendo

Mini Interprete en Irony + C# con clases abstractas

Este post consiste en implementar la función de Imprimir, declaración
y asignación de variables, y solo declaración de variables, para un
lenguaje tipo Java.

Sigue leyendo

Tipos de gramatica

Convenciones de notación

En cuestión de notación de gramaticas, la convención del libro del
dragón [Aho2008] dice:

      1. son terminales:
        • Primeras letras minúsculas del alfabeto, como a, b, c.
        • Los símbolos de operadores como +, * , etcétera.
        • Los símbolos de puntuación como paréntesis, coma, etc.
        • Los dígitos 0, 1, …, 9.
        • Las cadenas en negrita como id o if, cada una de las cuales representa un solo símbolo terminal.
      2. son no terminales:
        • Las primeras letras mayúsculas del alfabeto, como A, B, C.
        • La letra S que, al aparecer es, por lo general, el símbolo
          inicial.
        • Los nombres en cursiva y minúsculas, como expr o instr
      3. Las últimas letras mayúsculas del alfabeto, como X, Y, Z,
        representan símbolos gramáticales; es decir, pueden ser no
        terminales o terminales.
      4. Las últimas letras minúsculas del alfabeto, como u, v,…, z, representan cadenas de terminales (posiblemente vacías).
      5. Las letras griegas minúsculas \alpha, \beta, \gamma, por ejemplo, representan cadenas de símbolos gramaticales(posiblemente vacías).

Sigue leyendo