cql.c File Reference

Implements CQL parser. More...

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <yaz/xmalloc.h>
#include <yaz/nmem.h>
#include <yaz/cql.h>

Go to the source code of this file.

Data Structures

struct  token
struct  cql_parser
union  yyalloc

Defines

#define YYBISON   1
#define YYBISON_VERSION   "2.3"
#define YYSKELETON_NAME   "yacc.c"
#define YYPURE   1
#define YYLSP_NEEDED   0
#define yyparse   cql_parse
#define yylex   cql_lex
#define yyerror   cql_error
#define yylval   cql_lval
#define yychar   cql_char
#define yydebug   cql_debug
#define yynerrs   cql_nerrs
#define DOTTERM   258
#define TERM   259
#define AND   260
#define OR   261
#define NOT   262
#define PROX   263
#define GE   264
#define LE   265
#define NE   266
#define EXACT   267
#define YYSTYPE   token
#define YYPARSE_PARAM   parm
#define YYLEX_PARAM   parm
#define YYDEBUG   0
#define YYERROR_VERBOSE   0
#define YYTOKEN_TABLE   0
#define YYSIZE_T   unsigned int
#define YYSIZE_MAXIMUM   ((YYSIZE_T) -1)
#define YY_(msgid)   msgid
#define YYUSE(e)   ((void) (e))
#define YYID(n)   (n)
#define YYSTACK_ALLOC   YYMALLOC
#define YYSTACK_FREE   YYFREE
#define YYSTACK_ALLOC_MAXIMUM   YYSIZE_MAXIMUM
#define YYMALLOC   malloc
#define YYFREE   free
#define YYSTACK_GAP_MAXIMUM   (sizeof (union yyalloc) - 1)
#define YYSTACK_BYTES(N)
#define YYCOPY(To, From, Count)
#define YYSTACK_RELOCATE(Stack)
#define YYFINAL   3
#define YYLAST   73
#define YYNTOKENS   19
#define YYNNTS   19
#define YYNRULES   49
#define YYNSTATES   62
#define YYUNDEFTOK   2
#define YYMAXUTOK   267
#define YYTRANSLATE(YYX)   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
#define YYPACT_NINF   -20
#define YYTABLE_NINF   -44
#define yyerrok   (yyerrstatus = 0)
#define yyclearin   (yychar = YYEMPTY)
#define YYEMPTY   (-2)
#define YYEOF   0
#define YYACCEPT   goto yyacceptlab
#define YYABORT   goto yyabortlab
#define YYERROR   goto yyerrorlab
#define YYFAIL   goto yyerrlab
#define YYRECOVERING()   (!!yyerrstatus)
#define YYBACKUP(Token, Value)
#define YYTERROR   1
#define YYERRCODE   256
#define YYRHSLOC(Rhs, K)   ((Rhs)[K])
#define YYLLOC_DEFAULT(Current, Rhs, N)
#define YY_LOCATION_PRINT(File, Loc)   ((void) 0)
#define YYLEX   yylex (&yylval, YYLEX_PARAM)
#define YYDPRINTF(Args)
#define YY_SYMBOL_PRINT(Title, Type, Value, Location)
#define YY_STACK_PRINT(Bottom, Top)
#define YY_REDUCE_PRINT(Rule)
#define YYINITDEPTH   200
#define YYMAXDEPTH   10000
#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))

Typedefs

typedef unsigned char yytype_uint8
typedef short int yytype_int8
typedef unsigned short int yytype_uint16
typedef short int yytype_int16

Enumerations

enum  yytokentype {
  DOTTERM = 258, TERM = 259, AND = 260, OR = 261,
  NOT = 262, PROX = 263, GE = 264, LE = 265,
  NE = 266, EXACT = 267
}

Functions

int yylex (YYSTYPE *lval, void *vp)
int yyerror (char *s)
static void yydestruct (char *yymsg, int yytype, YYSTYPE *yyvaluep) const
int yyparse ()
int yyparse (void *YYPARSE_PARAM)
static void putb (YYSTYPE *lval, CQL_parser cp, int c)
int cql_parser_stream (CQL_parser cp, int(*getbyte)(void *client_data), void(*ungetbyte)(int b, void *client_data), void *client_data)
 parses CQL query (query stream)
CQL_parser cql_parser_create (void)
 creates a CQL parser.
void cql_parser_destroy (CQL_parser cp)
 destroys a CQL parser.
struct cql_nodecql_parser_result (CQL_parser cp)
 returns the parse tree of the most recently parsed CQL query.

Variables

static const yytype_uint8 yytranslate []
static const yytype_uint8 yyr1 []
static const yytype_uint8 yyr2 []
static const yytype_uint8 yydefact []
static const yytype_int8 yydefgoto []
static const yytype_int8 yypact []
static const yytype_int8 yypgoto []
static const yytype_int8 yytable []
static const yytype_int8 yycheck []
static const yytype_uint8 yystos []


Detailed Description

Implements CQL parser.

This is a YACC parser, but since it must be reentrant, Bison is required. The original source file is cql.y.

Definition in file cql.c.


Define Documentation

#define AND   260

Definition at line 92 of file cql.c.

Referenced by yylex().

#define DOTTERM   258

Definition at line 90 of file cql.c.

Referenced by yylex().

#define EXACT   267

Definition at line 99 of file cql.c.

Referenced by yylex().

#define GE   264

Definition at line 96 of file cql.c.

Referenced by yylex().

#define LE   265

Definition at line 97 of file cql.c.

Referenced by yylex().

#define NE   266

Definition at line 98 of file cql.c.

Referenced by yylex().

#define NOT   262

Definition at line 94 of file cql.c.

Referenced by yylex().

#define OR   261

Definition at line 93 of file cql.c.

Referenced by yylex().

#define PROX   263

Definition at line 95 of file cql.c.

Referenced by yylex().

#define TERM   259

Definition at line 91 of file cql.c.

Referenced by yylex().

#define YY_ ( msgid   )     msgid

Definition at line 243 of file cql.c.

Referenced by yyparse().

#define YY_LOCATION_PRINT ( File,
Loc   )     ((void) 0)

Definition at line 695 of file cql.c.

#define YY_REDUCE_PRINT ( Rule   ) 

Definition at line 865 of file cql.c.

Referenced by yyparse().

#define YY_STACK_PRINT ( Bottom,
Top   ) 

Definition at line 864 of file cql.c.

Referenced by yyparse().

#define YY_SYMBOL_PRINT ( Title,
Type,
Value,
Location   ) 

Definition at line 863 of file cql.c.

Referenced by yydestruct(), and yyparse().

#define YYABORT   goto yyabortlab

Definition at line 624 of file cql.c.

Referenced by yyparse().

#define YYACCEPT   goto yyacceptlab

Definition at line 623 of file cql.c.

Referenced by yyparse().

#define YYBACKUP ( Token,
Value   ) 

Value:

do                                                              \
  if (yychar == YYEMPTY && yylen == 1)                          \
    {                                                           \
      yychar = (Token);                                         \
      yylval = (Value);                                         \
      yytoken = YYTRANSLATE (yychar);                           \
      YYPOPSTACK (1);                                           \
      goto yybackup;                                            \
    }                                                           \
  else                                                          \
    {                                                           \
      yyerror (YY_("syntax error: cannot back up")); \
      YYERROR;                                                  \
    }                                                           \
while (YYID (0))

Definition at line 636 of file cql.c.

#define YYBISON   1

Definition at line 47 of file cql.c.

#define YYBISON_VERSION   "2.3"

Definition at line 50 of file cql.c.

#define yychar   cql_char

Definition at line 66 of file cql.c.

#define yyclearin   (yychar = YYEMPTY)

Definition at line 619 of file cql.c.

#define YYCOPY ( To,
From,
Count   ) 

Value:

do                                      \
        {                                       \
          YYSIZE_T yyi;                         \
          for (yyi = 0; yyi < (Count); yyi++)   \
            (To)[yyi] = (From)[yyi];            \
        }                                       \
      while (YYID (0))

Definition at line 369 of file cql.c.

#define YYDEBUG   0

Definition at line 157 of file cql.c.

#define yydebug   cql_debug

Definition at line 67 of file cql.c.

#define YYDPRINTF ( Args   ) 

Definition at line 862 of file cql.c.

Referenced by yyparse().

#define YYEMPTY   (-2)

Definition at line 620 of file cql.c.

Referenced by yyparse().

#define YYEOF   0

Definition at line 621 of file cql.c.

Referenced by yyparse().

#define YYERRCODE   256

Definition at line 655 of file cql.c.

#define yyerrok   (yyerrstatus = 0)

Definition at line 618 of file cql.c.

#define YYERROR   goto yyerrorlab

Definition at line 625 of file cql.c.

#define yyerror   cql_error

Definition at line 64 of file cql.c.

Referenced by yyparse().

#define YYERROR_VERBOSE   0

Definition at line 165 of file cql.c.

#define YYFAIL   goto yyerrlab

Definition at line 632 of file cql.c.

#define YYFINAL   3

Definition at line 399 of file cql.c.

Referenced by yyparse().

#define YYFREE   free

Definition at line 332 of file cql.c.

#define YYID (  )     (n)

Definition at line 256 of file cql.c.

Referenced by yyparse().

#define YYINITDEPTH   200

Definition at line 871 of file cql.c.

Referenced by yyparse().

#define YYLAST   73

Definition at line 401 of file cql.c.

Referenced by yyparse().

#define YYLEX   yylex (&yylval, YYLEX_PARAM)

Definition at line 703 of file cql.c.

Referenced by yyparse().

#define yylex   cql_lex

Definition at line 63 of file cql.c.

#define YYLEX_PARAM   parm

Definition at line 149 of file cql.c.

#define YYLLOC_DEFAULT ( Current,
Rhs,
 ) 

Value:

do                                                                      \
      if (YYID (N))                                                    \
        {                                                               \
          (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
          (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
          (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
          (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
        }                                                               \
      else                                                              \
        {                                                               \
          (Current).first_line   = (Current).last_line   =              \
            YYRHSLOC (Rhs, 0).last_line;                                \
          (Current).first_column = (Current).last_column =              \
            YYRHSLOC (Rhs, 0).last_column;                              \
        }                                                               \
    while (YYID (0))

Definition at line 664 of file cql.c.

#define YYLSP_NEEDED   0

Definition at line 59 of file cql.c.

#define yylval   cql_lval

Definition at line 65 of file cql.c.

Referenced by yyparse().

#define YYMALLOC   malloc

Definition at line 325 of file cql.c.

#define YYMAXDEPTH   10000

Definition at line 882 of file cql.c.

Referenced by yyparse().

#define YYMAXUTOK   267

Definition at line 414 of file cql.c.

#define yynerrs   cql_nerrs

Definition at line 68 of file cql.c.

Referenced by yyparse().

#define YYNNTS   19

Definition at line 406 of file cql.c.

#define YYNRULES   49

Definition at line 408 of file cql.c.

#define YYNSTATES   62

Definition at line 410 of file cql.c.

#define YYNTOKENS   19

Definition at line 404 of file cql.c.

Referenced by yyparse().

#define YYPACT_NINF   -20

Definition at line 557 of file cql.c.

Referenced by yyparse().

#define yyparse   cql_parse

Definition at line 62 of file cql.c.

#define YYPARSE_PARAM   parm

Definition at line 148 of file cql.c.

#define YYPOPSTACK (  )     (yyvsp -= (N), yyssp -= (N))

Referenced by yyparse().

#define YYPURE   1

Definition at line 56 of file cql.c.

 
#define YYRECOVERING (  )     (!!yyerrstatus)

Definition at line 634 of file cql.c.

#define YYRHSLOC ( Rhs,
 )     ((Rhs)[K])

Definition at line 662 of file cql.c.

#define YYSIZE_MAXIMUM   ((YYSIZE_T) -1)

Definition at line 233 of file cql.c.

#define YYSIZE_T   unsigned int

Definition at line 229 of file cql.c.

Referenced by yyparse().

#define YYSKELETON_NAME   "yacc.c"

Definition at line 53 of file cql.c.

#define YYSTACK_ALLOC   YYMALLOC

Definition at line 311 of file cql.c.

Referenced by yyparse().

#define YYSTACK_ALLOC_MAXIMUM   YYSIZE_MAXIMUM

Definition at line 314 of file cql.c.

Referenced by yyparse().

#define YYSTACK_BYTES (  ) 

Value:

((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
      + YYSTACK_GAP_MAXIMUM)

Definition at line 358 of file cql.c.

Referenced by yyparse().

#define YYSTACK_FREE   YYFREE

Definition at line 312 of file cql.c.

Referenced by yyparse().

#define YYSTACK_GAP_MAXIMUM   (sizeof (union yyalloc) - 1)

Definition at line 354 of file cql.c.

#define YYSTACK_RELOCATE ( Stack   ) 

Value:

do                                                                      \
      {                                                                 \
        YYSIZE_T yynewbytes;                                            \
        YYCOPY (&yyptr->Stack, Stack, yysize);                          \
        Stack = &yyptr->Stack;                                          \
        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
        yyptr += yynewbytes / sizeof (*yyptr);                          \
      }                                                                 \
    while (YYID (0))

Definition at line 385 of file cql.c.

Referenced by yyparse().

#define YYSTYPE   token

Definition at line 146 of file cql.c.

Referenced by yyparse().

#define YYTABLE_NINF   -44

Definition at line 580 of file cql.c.

Referenced by yyparse().

#define YYTERROR   1

Definition at line 654 of file cql.c.

Referenced by yyparse().

#define YYTOKEN_TABLE   0

Definition at line 170 of file cql.c.

#define YYTRANSLATE ( YYX   )     ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)

Definition at line 416 of file cql.c.

Referenced by yyparse().

#define YYUNDEFTOK   2

Definition at line 413 of file cql.c.

#define YYUSE (  )     ((void) (e))

Definition at line 249 of file cql.c.

Referenced by yydestruct().


Typedef Documentation

typedef short int yytype_int16

Definition at line 216 of file cql.c.

typedef short int yytype_int8

Definition at line 204 of file cql.c.

typedef unsigned short int yytype_uint16

Definition at line 210 of file cql.c.

typedef unsigned char yytype_uint8

Definition at line 195 of file cql.c.


Enumeration Type Documentation

Enumerator:
DOTTERM 
TERM 
AND 
OR 
NOT 
PROX 
GE 
LE 
NE 
EXACT 

Definition at line 76 of file cql.c.


Function Documentation

CQL_parser cql_parser_create ( void   ) 

creates a CQL parser.

Returns:
CCL parser
Returns CQL parser or NULL if parser could not be created.

Definition at line 1988 of file cql.c.

References cql_parser::client_data, cql_parser::getbyte, cql_parser::last_error, cql_parser::last_pos, cql_parser::nmem, nmem_create(), cql_parser::top, cql_parser::ungetbyte, and xmalloc.

Referenced by cql2pqf().

void cql_parser_destroy ( CQL_parser  cp  ) 

destroys a CQL parser.

Parameters:
cp CQL parser
This function does nothing if NULL if received.

Definition at line 2002 of file cql.c.

References cql_node_destroy(), cql_parser::nmem, nmem_destroy(), cql_parser::top, and xfree.

Referenced by cql2pqf().

struct cql_node* cql_parser_result ( CQL_parser  cp  )  [read]

returns the parse tree of the most recently parsed CQL query.

Parameters:
cp CQL parser
Returns:
CQL node or NULL for failure

Definition at line 2009 of file cql.c.

References cql_parser::top.

Referenced by cql2pqf().

int cql_parser_stream ( CQL_parser  cp,
int(*)(void *client_data)  getbyte,
void(*)(int b, void *client_data)  ungetbyte,
void *  client_data 
)

parses CQL query (query stream)

Parameters:
cp CQL parser
getbyte function which reads one character from stream
ungetbyte function which unreads one character from stream
client_data data to be passed to stream functions
Return values:
0 success
!=0 failure
This function is similar to cql_parser_string but takes a functions to read each query character from a stream.

The functions pointers getbytes, ungetbyte are similar to that known from stdios getc, ungetc.

Definition at line 1971 of file cql.c.

References cql_parser::client_data, cql_node_destroy(), cql_parser::getbyte, cql_parser::nmem, nmem_reset(), cql_parser::top, and cql_parser::ungetbyte.

Referenced by cql_parser_stdio(), and cql_parser_string().

static void putb ( YYSTYPE *  lval,
CQL_parser  cp,
int  c 
) [static]

putb is a utility that puts one character to the string in current lexical token. This routine deallocates as necessary using NMEM.

Definition at line 1820 of file cql.c.

References cql_parser::nmem, and nmem_malloc().

Referenced by yylex().

static void yydestruct ( char *  yymsg,
int  yytype,
YYSTYPE *  yyvaluep 
) const [static]

Definition at line 1109 of file cql.c.

References YY_SYMBOL_PRINT, and YYUSE.

Referenced by yyparse().

int yyerror ( char *  s  ) 

Definition at line 1809 of file cql.c.

int yylex ( YYSTYPE *  lval,
void *  vp 
)

yylex returns next token for Bison to be read. In this case one of the CQL terminals are returned.

Definition at line 1839 of file cql.c.

References AND, cql_parser::client_data, cql_strcmp(), DOTTERM, EXACT, GE, cql_parser::getbyte, LE, NE, cql_parser::nmem, nmem_malloc(), NOT, OR, PROX, putb(), TERM, and cql_parser::ungetbyte.

int yyparse ( void *  YYPARSE_PARAM  ) 

int yyparse (  ) 


Variable Documentation

const yytype_int8 yycheck[] [static]

Initial value:

{
      10,    19,     3,     5,     6,     7,     8,     0,     9,    10,
      11,    12,    13,    14,     3,     0,     1,    18,    14,    37,
       9,    10,    11,    12,    13,    14,    36,    46,    47,    18,
      48,     4,    16,    -1,    17,    45,     3,     4,     5,     6,
       7,     8,    34,    -1,    -1,    -1,    13,    -1,    15,    -1,
      60,     3,     4,     5,     6,     7,     8,     3,     4,     5,
       6,     7,     8,    15,     9,    10,    11,    12,    13,    14,
      -1,    -1,    -1,    18
}

Definition at line 593 of file cql.c.

const yytype_uint8 yydefact[] [static]

Initial value:

{
       2,     0,     0,     1,    45,    44,    46,    47,    48,    49,
       0,    14,     3,     0,     6,    11,     0,    20,     9,     0,
       5,    21,    22,    23,    24,    27,    42,    38,    39,    40,
      41,    36,    35,    37,    27,    16,     0,     0,     0,    12,
      17,    19,     7,    10,    15,     0,     0,     0,     0,    25,
      13,    18,     8,    31,    32,    33,    34,    29,    28,    30,
       0,    26
}

Definition at line 537 of file cql.c.

const yytype_int8 yydefgoto[] [static]

Initial value:

{
      -1,     1,     2,    12,    13,    48,    37,    14,    46,    15,
      19,    47,    35,    25,    39,    60,    34,    16,    17
}

Definition at line 549 of file cql.c.

const yytype_int8 yypact[] [static]

Initial value:

{
     -20,     7,    33,   -20,   -20,   -20,   -20,   -20,   -20,   -20,
      54,   -20,   -20,    15,    -2,   -20,    -1,    11,     4,    33,
     -20,   -20,   -20,   -20,   -20,   -20,   -20,   -20,   -20,   -20,
     -20,   -20,   -20,   -20,   -20,    27,    54,    33,    16,    17,
      17,   -20,   -20,   -20,   -20,    54,    48,    48,    33,    55,
     -20,   -20,   -20,   -20,   -20,   -20,   -20,   -20,   -20,   -20,
      54,   -20
}

Definition at line 558 of file cql.c.

const yytype_int8 yypgoto[] [static]

Initial value:

{
     -20,   -20,   -20,   -20,   -18,   -20,   -20,   -20,   -20,   -19,
     -20,   -20,   -20,   -20,     8,   -20,   -20,   -20,   -10
}

Definition at line 570 of file cql.c.

const yytype_uint8 yyr1[] [static]

Initial value:

{
       0,    19,    21,    20,    22,    22,    23,    24,    23,    25,
      23,    26,    27,    26,    29,    28,    28,    30,    28,    31,
      31,    32,    32,    32,    32,    33,    33,    33,    34,    34,
      34,    34,    34,    34,    34,    35,    35,    35,    35,    35,
      35,    35,    35,    36,    37,    37,    37,    37,    37,    37
}

Definition at line 515 of file cql.c.

const yytype_uint8 yyr2[] [static]

Initial value:

{
       0,     2,     0,     2,     1,     2,     1,     0,     6,     0,
       4,     1,     0,     5,     0,     4,     2,     0,     5,     2,
       0,     1,     1,     1,     1,     3,     5,     0,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1
}

Definition at line 525 of file cql.c.

const yytype_uint8 yystos[] [static]

Initial value:

{
       0,    20,    21,     0,     3,     4,     5,     6,     7,     8,
      13,    15,    22,    23,    26,    28,    36,    37,    37,    29,
       1,     5,     6,     7,     8,    32,     3,     9,    10,    11,
      12,    13,    14,    18,    35,    31,    14,    25,    23,    33,
      33,     4,    37,    23,    16,    17,    27,    30,    24,    37,
      28,    28,    23,     9,    10,    11,    12,    13,    14,    18,
      34,    37
}

Definition at line 607 of file cql.c.

const yytype_int8 yytable[] [static]

Initial value:

{
      18,    38,    26,    21,    22,    23,    24,     3,    27,    28,
      29,    30,    31,    32,   -43,    -4,    20,    33,    36,    43,
     -43,   -43,   -43,   -43,   -43,   -43,    42,    50,    51,   -43,
      52,    41,    44,     0,    45,    49,     4,     5,     6,     7,
       8,     9,    40,     0,     0,     0,    10,     0,    11,     0,
      61,     4,     5,     6,     7,     8,     9,     4,     5,     6,
       7,     8,     9,    11,    53,    54,    55,    56,    57,    58,
       0,     0,     0,    59
}

Definition at line 581 of file cql.c.

const yytype_uint8 yytranslate[] [static]

Initial value:

{
       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
      15,    16,     2,     2,     2,     2,     2,    17,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
      18,    14,    13,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
       5,     6,     7,     8,     9,    10,    11,    12
}

Definition at line 420 of file cql.c.


Generated on Mon Dec 29 12:08:46 2008 for YAZ by  doxygen 1.5.6