Home | History | Annotate | Download | only in parsing

Lines Matching defs:parser

103 // Common base class template shared between parser and pre-parser.
104 // The Impl parameter is the actual class of the parser/pre-parser,
106 // The structure of the parser objects is roughly the following:
113 // // The parser base object, which should just implement pure
114 // // parser behavior. The Impl parameter is the actual derived
115 // // class (according to CRTP), which implements impure parser
120 // // And then, for each parser variant (e.g., parser, preparser, etc):
121 // class Parser;
124 // class ParserTypes<Parser> { ... };
126 // class Parser : public ParserBase<Parser> { ... };
128 // The parser base object implements pure parsing, according to the
129 // language grammar. Different parser implementations may exhibit
130 // different parser-driven behavior that is not considered as pure
134 // types used in parsing methods. E.g., Parser methods use Expression*
135 // and PreParser methods use PreParserExpression. For any given parser
274 // ScopeState and its subclasses implement the parser's scope stack.
276 // parser's scope_state_ points to the top ScopeState. ScopeState's
567 // parameters. To do so we need to reset some of the parser state back to
571 explicit Checkpoint(ParserBase* parser) {
572 function_state_ = parser->function_state_;
629 explicit CatchInfo(ParserBase* parser)
630 : name(parser->impl()->EmptyIdentifier()),
632 pattern(parser->impl()->EmptyExpression()),
634 init_block(parser->impl()->NullBlock()),
635 inner_block(parser->impl()->NullBlock()),
637 bound_names(1, parser->zone()),
638 tail_call_expressions(parser->zone()) {}
652 explicit ForInfo(ParserBase* parser)
653 : bound_names(1, parser->zone()),
665 explicit ClassInfo(ParserBase* parser)
667 extends(parser->impl()->EmptyExpression()),
668 properties(parser->impl()->NewClassPropertyList(4)),
669 instance_field_initializers(parser->impl()->NewExpressionList(0)),
670 constructor(parser->impl()->EmptyFunctionLiteral()),
1226 // list. This works because in the case of the parser, StatementListT is
1333 explicit ObjectLiteralChecker(ParserBase* parser)
1334 : parser_(parser), has_seen_proto_(false) {}
1341 ParserBase* parser() const { return parser_; }
1351 explicit ClassLiteralChecker(ParserBase* parser)
1352 : parser_(parser), has_seen_constructor_(false) {}
1366 ParserBase* parser() const { return parser_; }
1417 // Parser base's protected field members.
1429 // Parser base's private field members.
2584 // parser. Ensure that the number of materialized literals matches between
2585 // the parser and preparser
2854 // We start using the binary expression parser for prec >= 4 only!
2965 // Allow the parser's implementation to rewrite the expression.
5416 this->parser()->classifier()->RecordExpressionError(
5435 this->parser()->ReportMessage(MessageTemplate::kStaticPrototype);
5445 this->parser()->ReportMessage(msg);
5450 this->parser()->ReportMessage(MessageTemplate::kDuplicateConstructor);