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.
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 |