PANASONIC LANZA UN TELEVISOR CON CONTROL DE GESTOS

Deja un comentario


La fabricante de equipos electrónicos de consumo Panasonic presentó en el mercado japonés nuevos televisores
de la línea Viera. Uno de los modelos, el DMP-BV300, está equipado con Blu Ray con salida HDMI; el modelo DMP-HV150 es resistente al agua, lo que hace posible su uso en la cocina; sin embargo, el más interesante es el modelo DMP-HV200, se controla mediante gestos de las manos.
Vía Actualidad RT

UNA RED SOCIAL LATINOAMERICANA DE MENSAJES DE VOZ COMPETIRÁ CON TWITTER

Deja un comentario

Al parecer como se menciona en este dato, va a existir una competencia la cual es blaving.com , en la cual su característica principal se centra en el desarrollo de aplicaciones y contenido para teléfonos móviles, permite a los internautas enviar mensajes de voz de hasta dos minutos de duración.
Blaving se parece a Twitter en cuanto a su funcionamiento, desplegando los últimos mensajes de los contactos seguidos por el usuario.
Algo importante es que los mensajes pueden ser compartidos en Facebook, Twitter y Orkut.

Vía Actualidad RT

JavaCC

Deja un comentario

Es un metacompilador o generador de parsers es una herramienta que, a partir de la especificación de un lenguaje, construye un programa o analizador que es capaz de reconocer secuencias o elementos de dicho lenguaje.

CARACTERÍSTICAS DE JAVACC

JavaCC integra las funciones de análisis léxico y análisis sintáctico en una sola herramienta, obteniendo a la salida código java –a diferencia de lex/yacc cuya salida es código C-.

Análisis descendente

Especificaciones léxicas y gramaticales en un solo archivo

Permite extender especificaciones BNF

Ofrece estados léxicos y la capacidad de agregar acciones léxicas

Genera por defecto un parser LL(1).

JavaCC incluye JJTree, un preprocesador para el desarrollo de árboles, con características muy poderosas

ESTRUCTURA GENERAL DE UN PROGRAMA EN JAVACC

Algo que vale tomar en cuenta es que el nombre que sigue a PARSER_BEGIN y a PARSER_END debe ser el mismo, y éste identifica al analizador sintáctico que va a ser generado con posterioridad. Por ejemplo si nuestro nombre es Gramática, se generan los siguientes archivos:
• Gramatica.java: El analizador sintáctico.
• GramaticaTokenManager.java: gestor de tokens para el analizador léxico.
• GramaticaConstants.java: El analizador léxico no maneja los tokens por el nombre que especificamos nosotros en el código, sino que a cada uno de ellos le asigna un número. En este archivo se encuentra cada uno de los tokens junto con el número que le ha sido asignado por el analizador léxico.

Ejemplo

Como compilar un programa en JavaCC

Referencias
Introducción a JavaCC
WorldLingo
Construir un analizador léxico con JavaCC

Qué es ANTLR?

Deja un comentario


Es una herramienta creada principalmente por Terence Parr, que opera sobre lenguajes, proporcionando un marco para construir reconocedores , intérpretes, compiladores y traductores de lenguajes a partir de las descripciones gramaticales de los mismos (conteniendo acciones semánticas a realizarse en varios lenguajes de programación).

ANTLR proporciona facilidades para la creación de estructuras intermedias de análisis (como ser ASTs – Abstract Sintax Tree), para recorrer dichas estructuras, y provee mecanismos para recuperarse automáticamente de errores y realizar reportes de los mismos.

Vale tomar en cuenta que ANTLR es un proyecto bajo licencia BSD, viniendo con todo el código fuente disponible, y preparado para su instalación bajo plataformas Linux, Windows y Mac OS X.

Ejemplo
En el siguiente ejemplo en antlr se va a trabajar el problema de generar una tabla de puntuación para un torneo de fútbol. Se han utilizado solamente 4 equipos de fútbol, pero el ejemplo se puede modificar para permitir más equipos, bien sea determinados con anterioridad o no.

Tanto las reglas léxicas como sintácticas son relativamente sencillas, pues solo hay dos componentes léxicos principales: el equipo y el número de goles anotado; en el caso de las reglas sintácticas, también son dos: la que define el torneo como una secuencia de partidos, y la que define el partido como una combinación de dos equipos con dos números.

Las reglas semánticas implementadas en la gramática son tres: una para inicializar la tabla de resultados; la segunda para registrar en la tabla el resultado de un partido; la tercera para ordenar y mostrar la tabla de resultados al final del proceso.

En el ejemplo se muestra la forma de importar librerias de clase desde java y la definición de elementos del lenguaje: la clase Equipo con sus atributos y métodos, así como los métodos que implementan las acciones semánticas: crearTabla, registrarPartido y mostrarTabla.

grammar Campeonato;
// Codigo en lenguaje anfitrion
@header{
import java.util.Vector;
import java.util.Collections;
}
@members{
class Equipo implements Comparable {
String nombre;
int pj;
int pg;
int pe;
int pp;
int gf;
int gc;
int ptos;
int dif() { return gf-gc; }
Equipo(String n) { nombre = n;}
public String toString() {
return String.format(“\%-20s \%2d \%2d \%2d \%2d \%2d \%2d \%2d \%4d”,
nombre, pj, pg, pe, pp, gf, gc, dif(), ptos);
}
public boolean equals(Object o) {
Equipo tmp = (Equipo) o;
if(this.nombre.equals(tmp.nombre)) return true;
else return false;
}
public int compareTo(Equipo tmp) {
if(this.ptos tmp.ptos) return 1;
else if(this.dif() tmp.dif()) return 1;
else if(this.pg tmp.pg) return 1;
else return 0;
}
}

Vector tabla = new Vector();

void crearTabla() {
tabla.add(new Equipo(“Arsenal”));
tabla.add(new Equipo(“Chelsea”));
tabla.add(new Equipo(“Liverpool”));
tabla.add(new Equipo(“Manchester City”));
}

void registrarPartido(String ne1, String ge1, String ne2, String ge2) {
int ng1 = Integer.parseInt(ge1);
int ng2 = Integer.parseInt(ge2);
Equipo e1 = new Equipo(ne1);
Equipo e2 = new Equipo(ne2);
e1=tabla.get(tabla.indexOf(e1));
e2=tabla.get(tabla.indexOf(e2));
e1.pj++; e2.pj++ ;
e1.gf+=ng1; e2.gf+=ng2;
e1.gc+=ng2; e2.gc+=ng1;
if(ng1>ng2) { e1.pg++; e2.pp++; e1.ptos+=3; }
else if(ng1 ‘ ‘ LETRA+)*;
ESPACIO : (‘ ‘|’\t’|'\n’) { skip(); };

// Componentes sintacticos
torneo : { crearTabla(); }
partido+
{ mostrarTabla(); }
;

partido : a=EQUIPO b=NUMERO c=EQUIPO d=NUMERO
{ registrarPartido($a.text, $b.text, $c.text, $d.text); }
;

Vídeo de Ayuda para la Instalacion

Sitio de descarga
ANTLR Software Download
Vía
WorldLingo
https://supportweb.cs.bham.ac.uk/documentation/tutorials/docsystem/build/tutorials/antlr/antlr.html

¿ES PELIGROSO VER IMÁGENES EN 3D?

Deja un comentario


En la ultima década, con la aparición de la tecnología 3D en el ámbito comercial a tenido un gran impacto.
Pero según datos de estudios realizados mencionan que, uno de cada cuatro espectadores confiesa que no disfruta las películas en 3D porque siente fatiga en los ojos. En algunos casos se registran también mareos, dolor de cabeza y hasta pérdida del equilibrio.


Algo que cabe recalcar es que de cualquier modo, las empresas apuestan por el formato 3D porque, según parece, los supuestos efectos dañinos en la salud de momento no afectan a las ventas.

Vía Actualida RT

Seguir

Get every new post delivered to your Inbox.