mirror of
https://github.com/python/cpython.git
synced 2025-09-25 01:43:11 +00:00

with an indented code block but no newline would raise SyntaxError. This would have been a four-line change in parsetok.c... Except codeop.py depends on this behavior, so a compilation flag had to be invented that causes the tokenizer to revert to the old behavior; this required extra changes to 2 .h files, 2 .c files, and 2 .py files. (Fixes SF bug #501622.)
44 lines
1.1 KiB
C
44 lines
1.1 KiB
C
|
|
/* Parser-tokenizer link interface */
|
|
|
|
#ifndef Py_PARSETOK_H
|
|
#define Py_PARSETOK_H
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef struct {
|
|
int error;
|
|
const char *filename;
|
|
int lineno;
|
|
int offset;
|
|
char *text;
|
|
int token;
|
|
int expected;
|
|
} perrdetail;
|
|
|
|
#if 0
|
|
#define PyPARSE_YIELD_IS_KEYWORD 0x0001
|
|
#endif
|
|
|
|
#define PyPARSE_DONT_IMPLY_DEDENT 0x0002
|
|
|
|
PyAPI_FUNC(node *) PyParser_ParseString(const char *, grammar *, int,
|
|
perrdetail *);
|
|
PyAPI_FUNC(node *) PyParser_ParseFile (FILE *, const char *, grammar *, int,
|
|
char *, char *, perrdetail *);
|
|
|
|
PyAPI_FUNC(node *) PyParser_ParseStringFlags(const char *, grammar *, int,
|
|
perrdetail *, int);
|
|
PyAPI_FUNC(node *) PyParser_ParseFileFlags(FILE *, const char *, grammar *,
|
|
int, char *, char *,
|
|
perrdetail *, int);
|
|
|
|
PyAPI_FUNC(node *) PyParser_ParseStringFlagsFilename(const char *,
|
|
const char *,
|
|
grammar *, int,
|
|
perrdetail *, int);
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif /* !Py_PARSETOK_H */
|