PostGIS  2.5.7dev-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 <stddef.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   "3.4"
 
#define YYSKELETON_NAME   "yacc.c"
 
#define YYPURE   0
 
#define YYPUSH   0
 
#define YYPULL   1
 
#define yyparse   wkt_yyparse
 
#define yylex   wkt_yylex
 
#define yyerror   wkt_yyerror
 
#define yydebug   wkt_yydebug
 
#define yynerrs   wkt_yynerrs
 
#define yylval   wkt_yylval
 
#define yychar   wkt_yychar
 
#define yylloc   wkt_yylloc
 
#define WKT_ERROR()   { if ( global_parser_result.errcode != 0 ) { YYERROR; } }
 
#define YY_NULLPTR   ((void*)0)
 
#define YYERROR_VERBOSE   1
 
#define YY_WKT_YY_LWIN_WKT_PARSE_H_INCLUDED
 
#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   size_t
 
#define YYSIZE_MAXIMUM   ((YYSIZE_T) -1)
 
#define YY_(Msgid)   Msgid
 
#define YY_ATTRIBUTE(Spec)   /* empty */
 
#define YY_ATTRIBUTE_PURE   YY_ATTRIBUTE ((__pure__))
 
#define YY_ATTRIBUTE_UNUSED   YY_ATTRIBUTE ((__unused__))
 
#define YYUSE(E)   ((void) (E))
 
#define YY_INITIAL_VALUE(Value)   Value
 
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
 
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
 
#define YY_ASSERT(E)   ((void) (0 && (E)))
 
#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(Dst, Src, 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) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
 
#define YYPACT_NINF   -90
 
#define yypact_value_is_default(Yystate)    (!!((Yystate) == (-90)))
 
#define YYTABLE_NINF   -1
 
#define yytable_value_is_error(Yytable_value)    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 YYRECOVERING()   (!!yyerrstatus)
 
#define YYBACKUP(Token, Value)
 
#define YYTERROR   1
 
#define YYERRCODE   256
 
#define YYLLOC_DEFAULT(Current, Rhs, N)
 
#define YYRHSLOC(Rhs, K)   ((Rhs)[K])
 
#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 signed char yytype_int8
 
typedef unsigned short yytype_uint16
 
typedef short yytype_int16
 

Functions

int wkt_yyparse (void)
 
void wkt_yyerror (const char *str)
 
int wkt_yylex (void)
 
void wkt_yyerror (__attribute__((__unused__)) const char *str)
 
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...
 
void * malloc (YYSIZE_T)
 
void free (void *)
 
static YYSIZE_T yystrlen (const char *yystr)
 
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 (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp)
 

Variables

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