Re: Ayuda con inclusión de palabras claves

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Werner Echezuria <wercool(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Ayuda con inclusión de palabras claves
Date: 2007-03-07 13:27:18
Message-ID: 20070307132718.GB5974@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Werner Echezuria escribió:
> Saludos,
>
> Pues bien el error que me generaba era que no estaban declaradas en ningún
> lado las palabras o constantes "FUZZY" y "PREDICATE" :P, luego de incluirlas
> en parse.h (dentro de "enum yytokentype{}" y como #define al final del
> archivo) si compiló correctamente (aunque no están en orden alfabético,
> como
> es un requerimiento en Keywords.c, espero que aquí no sea un problema).

Humm, parse.h y gram.c son archivos generados por Bison a partir de
gram.y. Tienes que agregarlos en gram.y, no en los archivos generados,
y luego ejecutar bison para que genere nuevamente los archivos.

> Ahora bien, creo que mi mayor problema y lo ha sido desde que me di cuenta
> es incluir el "CREATE FUZZY PREDICATE <nombre> ON <dominio> AS <conjunto
> difuso>" dentro de gram.y.
>
> He leído alguna información sobre Bison, pero me es difícil determinar
> para que sirve cada instrucción en por ejemplo "CREATE ROLE".

Bueno, lo primero es crear un no-terminal apropiado como CreateFuzzyPred
(por ej.) y luego asociarle una produccion, como

CreateFuzzyPred:
CREATE FUZZY PREDICATE Ident ON Ident AS AlgunNoTerminalAqui
{
...
}

En "..." va el codigo que se debe ejecutar cuando el parser encuentre lo
de arriba. La idea es que pongas aqui codigo para crear un nodo (con
makeNode()) y luego te vayas a utility.c y agregues codigo para procesar
ese nodo, tal como se hace con CreateRoleStmt. Ademas debes agregar el
nodo en las funciones de nodes/*funcs.c

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Manuel Trujillo Albarral 2007-03-07 15:11:44 Adaptador para postgres en Ruby/Rails.
Previous Message Werner Echezuria 2007-03-07 12:42:34 Re: Ayuda con inclusión de palabras claves