123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- /* Parser-tokenizer link interface */
- #ifndef Py_LIMITED_API
- #ifndef Py_PARSETOK_H
- #define Py_PARSETOK_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- #include "grammar.h" /* grammar */
- #include "node.h" /* node */
- typedef struct {
- int error;
- PyObject *filename;
- int lineno;
- int offset;
- char *text; /* UTF-8-encoded string */
- int token;
- int expected;
- } perrdetail;
- #if 0
- #define PyPARSE_YIELD_IS_KEYWORD 0x0001
- #endif
- #define PyPARSE_DONT_IMPLY_DEDENT 0x0002
- #if 0
- #define PyPARSE_WITH_IS_KEYWORD 0x0003
- #define PyPARSE_PRINT_IS_FUNCTION 0x0004
- #define PyPARSE_UNICODE_LITERALS 0x0008
- #endif
- #define PyPARSE_IGNORE_COOKIE 0x0010
- #define PyPARSE_BARRY_AS_BDFL 0x0020
- #define PyPARSE_TYPE_COMMENTS 0x0040
- #define PyPARSE_ASYNC_HACKS 0x0080
- PyAPI_FUNC(node *) PyParser_ParseString(const char *, grammar *, int,
- perrdetail *);
- PyAPI_FUNC(node *) PyParser_ParseFile (FILE *, const char *, grammar *, int,
- const char *, const char *,
- perrdetail *);
- PyAPI_FUNC(node *) PyParser_ParseStringFlags(const char *, grammar *, int,
- perrdetail *, int);
- PyAPI_FUNC(node *) PyParser_ParseFileFlags(
- FILE *fp,
- const char *filename, /* decoded from the filesystem encoding */
- const char *enc,
- grammar *g,
- int start,
- const char *ps1,
- const char *ps2,
- perrdetail *err_ret,
- int flags);
- PyAPI_FUNC(node *) PyParser_ParseFileFlagsEx(
- FILE *fp,
- const char *filename, /* decoded from the filesystem encoding */
- const char *enc,
- grammar *g,
- int start,
- const char *ps1,
- const char *ps2,
- perrdetail *err_ret,
- int *flags);
- PyAPI_FUNC(node *) PyParser_ParseFileObject(
- FILE *fp,
- PyObject *filename,
- const char *enc,
- grammar *g,
- int start,
- const char *ps1,
- const char *ps2,
- perrdetail *err_ret,
- int *flags);
- PyAPI_FUNC(node *) PyParser_ParseStringFlagsFilename(
- const char *s,
- const char *filename, /* decoded from the filesystem encoding */
- grammar *g,
- int start,
- perrdetail *err_ret,
- int flags);
- PyAPI_FUNC(node *) PyParser_ParseStringFlagsFilenameEx(
- const char *s,
- const char *filename, /* decoded from the filesystem encoding */
- grammar *g,
- int start,
- perrdetail *err_ret,
- int *flags);
- PyAPI_FUNC(node *) PyParser_ParseStringObject(
- const char *s,
- PyObject *filename,
- grammar *g,
- int start,
- perrdetail *err_ret,
- int *flags);
- /* Note that the following functions are defined in pythonrun.c,
- not in parsetok.c */
- PyAPI_FUNC(void) PyParser_SetError(perrdetail *);
- PyAPI_FUNC(void) PyParser_ClearError(perrdetail *);
- #ifdef __cplusplus
- }
- #endif
- #endif /* !Py_PARSETOK_H */
- #endif /* !Py_LIMITED_API */
|