Lines Matching refs:stack
51 // PositionStack is used for on-stack allocation of token positions for
61 Element(PositionStack* stack, int value) {
62 previous_ = stack->top();
64 stack->set_top(this);
99 // success, false if a stack-overflow happened during parsing.
199 Expression* ParseNewPrefix(PositionStack* stack, bool* ok);
200 Expression* ParseMemberWithNewPrefixesExpression(PositionStack* stack,
671 // Linked list implementation of stack of states.
705 // after parsing or referenced by syntax trees so they can be stack-
1095 // Parser's target_stack_ (the stack of potential 'break' and
1139 // Parser's scope stack. The constructor sets the parser's top scope
1276 // Make sure the target stack is empty.
1317 // The only errors should be stack overflows.
1321 // Make sure the target stack is empty.
1324 // If there was a stack overflow we have to get rid of AST and it is
1374 // Make sure the target stack is empty.
1665 // Allocate a target stack to use for this set of source
1667 // target stack thus avoiding illegal breaks and continues across
3107 Expression* Parser::ParseNewPrefix(PositionStack* stack, bool* ok) {
3120 PositionStack::Element pos(stack, scanner().location().beg_pos);
3124 result = ParseNewPrefix(stack, CHECK_OK);
3126 result = ParseMemberWithNewPrefixesExpression(stack, CHECK_OK);
3129 if (!stack->is_empty()) {
3130 int last = stack->pop();
3138 PositionStack stack(ok);
3139 return ParseNewPrefix(&stack, ok);
3148 Expression* Parser::ParseMemberWithNewPrefixesExpression(PositionStack* stack,
3185 if ((stack == NULL) || stack->is_empty()) return result;
3188 int last = stack->pop();
3213 // We don't report stack overflows here, to avoid increasing the
3214 // stack depth even further. Instead we report it after parsing is
3974 // target stack has been used from the top of the target stack. Add
3975 // the break target to any TargetCollectors passed on the stack.