• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 
2 /* Parser-tokenizer link interface */
3 
4 #ifndef Py_PARSETOK_H
5 #define Py_PARSETOK_H
6 #ifdef __cplusplus
7 extern "C" {
8 #endif
9 
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;
19 
20 #if 0
21 #define PyPARSE_YIELD_IS_KEYWORD	0x0001
22 #endif
23 
24 #define PyPARSE_DONT_IMPLY_DEDENT	0x0002
25 
26 #if 0
27 #define PyPARSE_WITH_IS_KEYWORD		0x0003
28 #endif
29 
30 #define PyPARSE_PRINT_IS_FUNCTION       0x0004
31 #define PyPARSE_UNICODE_LITERALS        0x0008
32 
33 
34 
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 *);
39 
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 *);
48 
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 *);
57 
58 /* Note that he following function is defined in pythonrun.c not parsetok.c. */
59 PyAPI_FUNC(void) PyParser_SetError(perrdetail *);
60 
61 #ifdef __cplusplus
62 }
63 #endif
64 #endif /* !Py_PARSETOK_H */
65