Lines Matching refs:ps
74 parser_state *ps; in PyParser_New() local
78 ps = (parser_state *)PyMem_MALLOC(sizeof(parser_state)); in PyParser_New()
79 if (ps == NULL) in PyParser_New()
81 ps->p_grammar = g; in PyParser_New()
83 ps->p_flags = 0; in PyParser_New()
85 ps->p_tree = PyNode_New(start); in PyParser_New()
86 if (ps->p_tree == NULL) { in PyParser_New()
87 PyMem_FREE(ps); in PyParser_New()
90 s_reset(&ps->p_stack); in PyParser_New()
91 (void) s_push(&ps->p_stack, PyGrammar_FindDFA(g, start), ps->p_tree); in PyParser_New()
92 return ps; in PyParser_New()
96 PyParser_Delete(parser_state *ps) in PyParser_Delete() argument
100 PyNode_Free(ps->p_tree); in PyParser_Delete()
101 PyMem_FREE(ps); in PyParser_Delete()
141 classify(parser_state *ps, int type, const char *str) in classify() argument
143 grammar *g = ps->p_grammar; in classify()
157 if (!(ps->p_flags & CO_FUTURE_WITH_STATEMENT)) { in classify()
189 future_hack(parser_state *ps)
191 node *n = ps->p_stack.s_top->s_parent;
218 ps->p_flags |= CO_FUTURE_WITH_STATEMENT;
220 ps->p_flags |= CO_FUTURE_PRINT_FUNCTION;
222 ps->p_flags |= CO_FUTURE_UNICODE_LITERALS;
231 PyParser_AddToken(parser_state *ps, int type, char *str, in PyParser_AddToken() argument
242 ilabel = classify(ps, type, str); in PyParser_AddToken()
249 const dfa *d = ps->p_stack.s_top->s_dfa; in PyParser_AddToken()
250 state *s = &d->d_state[ps->p_stack.s_top->s_state]; in PyParser_AddToken()
253 d->d_name, ps->p_stack.s_top->s_state)); in PyParser_AddToken()
263 if (nt == func_body_suite && !(ps->p_flags & PyCF_TYPE_COMMENTS)) { in PyParser_AddToken()
271 ps->p_grammar, nt); in PyParser_AddToken()
272 if ((err = push(&ps->p_stack, nt, d1, in PyParser_AddToken()
283 if ((err = shift(&ps->p_stack, type, str, in PyParser_AddToken()
292 [ps->p_stack.s_top->s_state], in PyParser_AddToken()
297 ps->p_stack.s_top->s_state)); in PyParser_AddToken()
303 future_hack(ps); in PyParser_AddToken()
306 s_pop(&ps->p_stack); in PyParser_AddToken()
307 if (s_empty(&ps->p_stack)) { in PyParser_AddToken()
311 d = ps->p_stack.s_top->s_dfa; in PyParser_AddToken()
322 future_hack(ps); in PyParser_AddToken()
326 s_pop(&ps->p_stack); in PyParser_AddToken()
328 if (s_empty(&ps->p_stack)) { in PyParser_AddToken()
340 *expected_ret = ps->p_grammar-> in PyParser_AddToken()
401 printtree(parser_state *ps) in printtree() argument
405 dumptree(ps->p_grammar, ps->p_tree); in printtree()
408 showtree(ps->p_grammar, ps->p_tree); in printtree()
412 PyNode_ListTree(ps->p_tree); in printtree()