Mercurial > cpython-lru_cache-weakref
view Parser/parser.h @ 63550:3068e00a3207 3.1
Merged revisions 83531 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r83531 | georg.brandl | 2010-08-02 19:24:49 +0200 (Mo, 02 Aug 2010) | 1 line
#7372: fix regression in pstats: a previous fix to handle cProfile data in add_callers broke handling of profile data.
........
| author | Georg Brandl <georg@python.org> |
|---|---|
| date | Mon, 02 Aug 2010 17:36:05 +0000 |
| parents | 5e0772ed20d1 |
| children |
line wrap: on
line source
#ifndef Py_PARSER_H #define Py_PARSER_H #ifdef __cplusplus extern "C" { #endif /* Parser interface */ #define MAXSTACK 1500 typedef struct { int s_state; /* State in current DFA */ dfa *s_dfa; /* Current DFA */ struct _node *s_parent; /* Where to add next node */ } stackentry; typedef struct { stackentry *s_top; /* Top entry */ stackentry s_base[MAXSTACK];/* Array of stack entries */ /* NB The stack grows down */ } stack; typedef struct { stack p_stack; /* Stack of parser states */ grammar *p_grammar; /* Grammar to use */ node *p_tree; /* Top of parse tree */ #ifdef PY_PARSER_REQUIRES_FUTURE_KEYWORD unsigned long p_flags; /* see co_flags in Include/code.h */ #endif } parser_state; parser_state *PyParser_New(grammar *g, int start); void PyParser_Delete(parser_state *ps); int PyParser_AddToken(parser_state *ps, int type, char *str, int lineno, int col_offset, int *expected_ret); void PyGrammar_AddAccelerators(grammar *g); #ifdef __cplusplus } #endif #endif /* !Py_PARSER_H */
