Add better error reporting for MemoryErrors caused by str->float conversions.
[python.git] / Include / parsetok.h
blobec1eb6ff7d85992f0b1ffc7e9d5eb3395027efc2
2 /* Parser-tokenizer link interface */
4 #ifndef Py_PARSETOK_H
5 #define Py_PARSETOK_H
6 #ifdef __cplusplus
7 extern "C" {
8 #endif
10 typedef struct {
11 int error;
12 const char *filename;
13 int lineno;
14 int offset;
15 char *text;
16 int token;
17 int expected;
18 } perrdetail;
20 #if 0
21 #define PyPARSE_YIELD_IS_KEYWORD 0x0001
22 #endif
24 #define PyPARSE_DONT_IMPLY_DEDENT 0x0002
26 #if 0
27 #define PyPARSE_WITH_IS_KEYWORD 0x0003
28 #endif
30 #define PyPARSE_PRINT_IS_FUNCTION 0x0004
31 #define PyPARSE_UNICODE_LITERALS 0x0008
35 PyAPI_FUNC(node *) PyParser_ParseString(const char *, grammar *, int,
36 perrdetail *);
37 PyAPI_FUNC(node *) PyParser_ParseFile (FILE *, const char *, grammar *, int,
38 char *, char *, perrdetail *);
40 PyAPI_FUNC(node *) PyParser_ParseStringFlags(const char *, grammar *, int,
41 perrdetail *, int);
42 PyAPI_FUNC(node *) PyParser_ParseFileFlags(FILE *, const char *, grammar *,
43 int, char *, char *,
44 perrdetail *, int);
45 PyAPI_FUNC(node *) PyParser_ParseFileFlagsEx(FILE *, const char *, grammar *,
46 int, char *, char *,
47 perrdetail *, int *);
49 PyAPI_FUNC(node *) PyParser_ParseStringFlagsFilename(const char *,
50 const char *,
51 grammar *, int,
52 perrdetail *, int);
53 PyAPI_FUNC(node *) PyParser_ParseStringFlagsFilenameEx(const char *,
54 const char *,
55 grammar *, int,
56 perrdetail *, int *);
58 /* Note that he following function is defined in pythonrun.c not parsetok.c. */
59 PyAPI_FUNC(void) PyParser_SetError(perrdetail *);
61 #ifdef __cplusplus
63 #endif
64 #endif /* !Py_PARSETOK_H */