14adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 24adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao/* Parser-tokenizer link interface */ 34adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 44adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#ifndef Py_PARSETOK_H 54adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define Py_PARSETOK_H 64adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#ifdef __cplusplus 74adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoextern "C" { 84adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#endif 94adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 104adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaotypedef struct { 114adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao int error; 124adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao const char *filename; 134adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao int lineno; 144adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao int offset; 154adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao char *text; 164adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao int token; 174adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao int expected; 184adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao} perrdetail; 194adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 204adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#if 0 214adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define PyPARSE_YIELD_IS_KEYWORD 0x0001 224adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#endif 234adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 244adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define PyPARSE_DONT_IMPLY_DEDENT 0x0002 254adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 264adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#if 0 274adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define PyPARSE_WITH_IS_KEYWORD 0x0003 284adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#endif 294adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 304adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define PyPARSE_PRINT_IS_FUNCTION 0x0004 314adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define PyPARSE_UNICODE_LITERALS 0x0008 324adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 334adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 344adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 354adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoPyAPI_FUNC(node *) PyParser_ParseString(const char *, grammar *, int, 364adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao perrdetail *); 374adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoPyAPI_FUNC(node *) PyParser_ParseFile (FILE *, const char *, grammar *, int, 384adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao char *, char *, perrdetail *); 394adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 404adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoPyAPI_FUNC(node *) PyParser_ParseStringFlags(const char *, grammar *, int, 414adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao perrdetail *, int); 424adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoPyAPI_FUNC(node *) PyParser_ParseFileFlags(FILE *, const char *, grammar *, 434adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao int, char *, char *, 444adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao perrdetail *, int); 454adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoPyAPI_FUNC(node *) PyParser_ParseFileFlagsEx(FILE *, const char *, grammar *, 464adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao int, char *, char *, 474adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao perrdetail *, int *); 484adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 494adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoPyAPI_FUNC(node *) PyParser_ParseStringFlagsFilename(const char *, 504adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao const char *, 514adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao grammar *, int, 524adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao perrdetail *, int); 534adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoPyAPI_FUNC(node *) PyParser_ParseStringFlagsFilenameEx(const char *, 544adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao const char *, 554adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao grammar *, int, 564adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao perrdetail *, int *); 574adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 584adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao/* Note that he following function is defined in pythonrun.c not parsetok.c. */ 594adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoPyAPI_FUNC(void) PyParser_SetError(perrdetail *); 604adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 614adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#ifdef __cplusplus 624adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao} 634adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#endif 644adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#endif /* !Py_PARSETOK_H */ 65