mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-21 08:29:39 +08:00
Applied Peter's patch to use yyless instead of my string_unput function.
This commit is contained in:
parent
b2312c4eae
commit
4c4a667f4d
@ -12,7 +12,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/pgc.l,v 1.118 2003/06/26 11:37:05 meskes Exp $
|
* $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/pgc.l,v 1.119 2003/07/25 05:42:27 meskes Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -42,7 +42,6 @@ static int literalalloc; /* current allocated buffer size */
|
|||||||
#define startlit() (literalbuf[0] = '\0', literallen = 0)
|
#define startlit() (literalbuf[0] = '\0', literallen = 0)
|
||||||
static void addlit(char *ytext, int yleng);
|
static void addlit(char *ytext, int yleng);
|
||||||
static void addlitchar (unsigned char);
|
static void addlitchar (unsigned char);
|
||||||
static void string_unput (char *);
|
|
||||||
static void parse_include (void);
|
static void parse_include (void);
|
||||||
|
|
||||||
char *token_start;
|
char *token_start;
|
||||||
@ -721,9 +720,7 @@ cppline {space}*#(.*\\{space})+.*
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
string_unput("define ");
|
yyless(1);
|
||||||
/* remove the "define " part of the text */
|
|
||||||
yytext[1] = '\0';
|
|
||||||
return (S_ANYTHING);
|
return (S_ANYTHING);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -732,14 +729,12 @@ cppline {space}*#(.*\\{space})+.*
|
|||||||
/* are we simulating Informix? */
|
/* are we simulating Informix? */
|
||||||
if (INFORMIX_MODE)
|
if (INFORMIX_MODE)
|
||||||
{
|
{
|
||||||
BEGIN(incl);
|
BEGIN(incl);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
string_unput("include ");
|
yyless(1);
|
||||||
/* remove the "include " part of the text */
|
return (S_ANYTHING);
|
||||||
yytext[1] = '\0';
|
|
||||||
return (S_ANYTHING);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
<C,xskip>{exec_sql}{ifdef}{space}* { ifcond = TRUE; BEGIN(xcond); }
|
<C,xskip>{exec_sql}{ifdef}{space}* { ifcond = TRUE; BEGIN(xcond); }
|
||||||
@ -747,15 +742,13 @@ cppline {space}*#(.*\\{space})+.*
|
|||||||
/* are we simulating Informix? */
|
/* are we simulating Informix? */
|
||||||
if (INFORMIX_MODE)
|
if (INFORMIX_MODE)
|
||||||
{
|
{
|
||||||
ifcond = TRUE;
|
ifcond = TRUE;
|
||||||
BEGIN(xcond);
|
BEGIN(xcond);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
string_unput("ifdef ");
|
yyless(1);
|
||||||
/* remove the "ifdef " part of the text */
|
return (S_ANYTHING);
|
||||||
yytext[1] = '\0';
|
|
||||||
return (S_ANYTHING);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
<C,xskip>{exec_sql}{ifndef}{space}* { ifcond = FALSE; BEGIN(xcond); }
|
<C,xskip>{exec_sql}{ifndef}{space}* { ifcond = FALSE; BEGIN(xcond); }
|
||||||
@ -763,15 +756,13 @@ cppline {space}*#(.*\\{space})+.*
|
|||||||
/* are we simulating Informix? */
|
/* are we simulating Informix? */
|
||||||
if (INFORMIX_MODE)
|
if (INFORMIX_MODE)
|
||||||
{
|
{
|
||||||
ifcond = FALSE;
|
ifcond = FALSE;
|
||||||
BEGIN(xcond);
|
BEGIN(xcond);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
string_unput("ifndef ");
|
yyless(1);
|
||||||
/* remove the "ifndef " part of the text */
|
return (S_ANYTHING);
|
||||||
yytext[1] = '\0';
|
|
||||||
return (S_ANYTHING);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
<C,xskip>{exec_sql}{elif}{space}* { /* pop stack */
|
<C,xskip>{exec_sql}{elif}{space}* { /* pop stack */
|
||||||
@ -801,10 +792,8 @@ cppline {space}*#(.*\\{space})+.*
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
string_unput("elif ");
|
yyless(1);
|
||||||
/* remove the "elif " part of the text */
|
return (S_ANYTHING);
|
||||||
yytext[1] = '\0';
|
|
||||||
return (S_ANYTHING);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -845,10 +834,8 @@ cppline {space}*#(.*\\{space})+.*
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
string_unput("else ");
|
yyless(1);
|
||||||
/* remove the "else " part of the text */
|
return (S_ANYTHING);
|
||||||
yytext[1] = '\0';
|
|
||||||
return (S_ANYTHING);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
<C,xskip>{exec_sql}{endif}{space}*";" {
|
<C,xskip>{exec_sql}{endif}{space}*";" {
|
||||||
@ -878,10 +865,8 @@ cppline {space}*#(.*\\{space})+.*
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
string_unput("endif ");
|
yyless(1);
|
||||||
/* remove the "endif " part of the text */
|
return (S_ANYTHING);
|
||||||
yytext[1] = '\0';
|
|
||||||
return (S_ANYTHING);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1045,16 +1030,6 @@ addlitchar(unsigned char ychar)
|
|||||||
literalbuf[literallen] = '\0';
|
literalbuf[literallen] = '\0';
|
||||||
}
|
}
|
||||||
|
|
||||||
/* put string back on stack */
|
|
||||||
static void
|
|
||||||
string_unput (char *string)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
|
|
||||||
for (i = strlen(string)-1; i>=0; i--)
|
|
||||||
unput(string[i]);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
parse_include(void)
|
parse_include(void)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user