PostGIS  2.1.10dev-r@@SVN_REVISION@@
lwin_wkt_parse.c File Reference
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include "lwin_wkt.h"
#include "lwin_wkt_parse.h"
#include "lwgeom_log.h"
Include dependency graph for lwin_wkt_parse.c:

Go to the source code of this file.

Data Structures

union  yyalloc
 

Macros

#define YYBISON   1
 
#define YYBISON_VERSION   "2.5"
 
#define YYSKELETON_NAME   "yacc.c"
 
#define YYPURE   0
 
#define YYPUSH   0
 
#define YYPULL   1
 
#define YYLSP_NEEDED   1
 
#define yyparse   wkt_yyparse
 
#define yylex   wkt_yylex
 
#define yyerror   wkt_yyerror
 
#define yylval   wkt_yylval
 
#define yychar   wkt_yychar
 
#define yydebug   wkt_yydebug
 
#define yynerrs   wkt_yynerrs
 
#define yylloc   wkt_yylloc
 
#define WKT_ERROR()   { if ( global_parser_result.errcode != 0 ) { YYERROR; } }
 
#define YYDEBUG   0
 
#define YYERROR_VERBOSE   1
 
#define YYTOKEN_TABLE   0
 
#define YYTOKENTYPE
 
#define POINT_TOK   258
 
#define LINESTRING_TOK   259
 
#define POLYGON_TOK   260
 
#define MPOINT_TOK   261
 
#define MLINESTRING_TOK   262
 
#define MPOLYGON_TOK   263
 
#define MSURFACE_TOK   264
 
#define MCURVE_TOK   265
 
#define CURVEPOLYGON_TOK   266
 
#define COMPOUNDCURVE_TOK   267
 
#define CIRCULARSTRING_TOK   268
 
#define COLLECTION_TOK   269
 
#define RBRACKET_TOK   270
 
#define LBRACKET_TOK   271
 
#define COMMA_TOK   272
 
#define EMPTY_TOK   273
 
#define SEMICOLON_TOK   274
 
#define TRIANGLE_TOK   275
 
#define TIN_TOK   276
 
#define POLYHEDRALSURFACE_TOK   277
 
#define DOUBLE_TOK   278
 
#define DIMENSIONALITY_TOK   279
 
#define SRID_TOK   280
 
#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_NEEDED   1
 
#define YYSTACK_RELOCATE(Stack_alloc, Stack)
 
#define YYCOPY(To, From, Count)
 
#define YYFINAL   80
 
#define YYLAST   294
 
#define YYNTOKENS   26
 
#define YYNNTS   40
 
#define YYNRULES   136
 
#define YYNSTATES   264
 
#define YYUNDEFTOK   2
 
#define YYMAXUTOK   280
 
#define YYTRANSLATE(YYX)   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
 
#define YYPACT_NINF   -90
 
#define YYTABLE_NINF   -1
 
#define yypact_value_is_default(yystate)   ((yystate) == (-90))
 
#define yytable_value_is_error(yytable_value)   YYID (0)
 
#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)
 
#define YYLEX   yylex ()
 
#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 YYCASE_(N, S)
 
#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
 
#define YYSYNTAX_ERROR
 

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 {
  POINT_TOK = 258, LINESTRING_TOK = 259, POLYGON_TOK = 260, MPOINT_TOK = 261,
  MLINESTRING_TOK = 262, MPOLYGON_TOK = 263, MSURFACE_TOK = 264, MCURVE_TOK = 265,
  CURVEPOLYGON_TOK = 266, COMPOUNDCURVE_TOK = 267, CIRCULARSTRING_TOK = 268, COLLECTION_TOK = 269,
  RBRACKET_TOK = 270, LBRACKET_TOK = 271, COMMA_TOK = 272, EMPTY_TOK = 273,
  SEMICOLON_TOK = 274, TRIANGLE_TOK = 275, TIN_TOK = 276, POLYHEDRALSURFACE_TOK = 277,
  DOUBLE_TOK = 278, DIMENSIONALITY_TOK = 279, SRID_TOK = 280, POINT_TOK = 258,
  LINESTRING_TOK = 259, POLYGON_TOK = 260, MPOINT_TOK = 261, MLINESTRING_TOK = 262,
  MPOLYGON_TOK = 263, MSURFACE_TOK = 264, MCURVE_TOK = 265, CURVEPOLYGON_TOK = 266,
  COMPOUNDCURVE_TOK = 267, CIRCULARSTRING_TOK = 268, COLLECTION_TOK = 269, RBRACKET_TOK = 270,
  LBRACKET_TOK = 271, COMMA_TOK = 272, EMPTY_TOK = 273, SEMICOLON_TOK = 274,
  TRIANGLE_TOK = 275, TIN_TOK = 276, POLYHEDRALSURFACE_TOK = 277, DOUBLE_TOK = 278,
  DIMENSIONALITY_TOK = 279, SRID_TOK = 280
}
 

Functions

int wkt_yyparse (void)
 
void wkt_yyerror (const char *str)
 
int wkt_yylex (void)
 
int lwgeom_parse_wkt (LWGEOM_PARSER_RESULT *parser_result, char *wktstr, int parser_check_flags)
 Parse a WKT geometry string into an LWGEOM structure. More...
 
static YYSIZE_T yystrlen (char *yystr) const
 
static char * yystpcpy (char *yydest, const char *yysrc)
 
static YYSIZE_T yytnamerr (char *yyres, const char *yystr)
 
static int yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, yytype_int16 *yyssp, int yytoken)
 
static void yydestruct (char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp) const
 
int yyparse ()
 

Variables

LWGEOM_PARSER_RESULT global_parser_result
 
int wkt_yydebug = 0
 
static const yytype_uint8 yytranslate []
 
static const char *const yytname []
 
static const yytype_uint8 yyr1 []
 
static const yytype_uint8 yyr2 []
 
static const yytype_uint8 yydefact []
 
static const yytype_int16 yydefgoto []
 
static const yytype_int16 yypact []
 
static const yytype_int16 yypgoto []
 
static const yytype_uint16 yytable []
 
static const yytype_uint8 yycheck []
 
static const yytype_uint8 yystos []
 
int yychar
 
YYSTYPE yylval
 
YYLTYPE yylloc
 
int yynerrs