Lines Matching refs:Parser
37 #include "parser.h"
249 Handle<String> Parser::LookupSymbol(int symbol_id) {
268 Handle<String> Parser::LookupCachedSymbol(int symbol_id) {
410 Scope* Parser::NewScope(Scope* parent, Scope::Type type, bool inside_with) {
418 // Parser's target_stack_ (the stack of potential 'break' and
462 // Parser's scope stack. The constructor sets the parser's top scope
467 // trees so they can be stack-allocated and hence used by the pre-parser.
471 LexicalScope(Parser* parser, Scope* scope, Isolate* isolate);
514 Parser* parser_;
523 LexicalScope::LexicalScope(Parser* parser, Scope* scope, Isolate* isolate)
528 parser_(parser),
529 lexical_scope_parent_(parser->lexical_scope_),
530 previous_scope_(parser->top_scope_),
531 previous_with_nesting_level_(parser->with_nesting_level_),
533 parser->top_scope_ = scope;
534 parser->lexical_scope_ = this;
535 parser->with_nesting_level_ = 0;
570 // Implementation of Parser
572 Parser::Parser(Handle<Script> script,
594 FunctionLiteral* Parser::ParseProgram(Handle<String> source,
603 // Initialize parser state.
621 FunctionLiteral* Parser::DoParseProgram(Handle<String> source,
678 FunctionLiteral* Parser::ParseLazy(CompilationInfo* info) {
685 // Initialize parser state.
704 FunctionLiteral* Parser::ParseLazy(CompilationInfo* info,
759 Handle<String> Parser::GetSymbol(bool* ok) {
768 void Parser::ReportMessage(const char* type, Vector<const char*> args) {
774 void Parser::ReportMessageAt(Scanner::Location source_location,
792 void Parser::ReportMessageAt(Scanner::Location source_location,
810 // the parser.
1068 void* Parser::ParseSourceElements(ZoneList<Statement*>* processor,
1164 Statement* Parser::ParseStatement(ZoneStringList* labels, bool* ok) {
1290 VariableProxy* Parser::Declare(Handle<String> name,
1392 Statement* Parser::ParseNativeDeclaration(bool* ok) {
1451 Statement* Parser::ParseFunctionDeclaration(bool* ok) {
1471 Block* Parser::ParseBlock(ZoneStringList* labels, bool* ok) {
1491 Block* Parser::ParseVariableStatement(bool* ok) {
1502 bool Parser::IsEvalOrArguments(Handle<String> string) {
1513 Block* Parser::ParseVariableDeclarations(bool accept_IN,
1745 Statement* Parser::ParseExpressionOrLabelledStatement(ZoneStringList* labels,
1788 IfStatement* Parser::ParseIfStatement(ZoneStringList* labels, bool* ok) {
1808 Statement* Parser::ParseContinueStatement(bool* ok) {
1838 Statement* Parser::ParseBreakStatement(ZoneStringList* labels, bool* ok) {
1873 Statement* Parser::ParseReturnStatement(bool* ok) {
1908 Block* Parser::WithHelper(Expression* obj,
1947 Statement* Parser::ParseWithStatement(ZoneStringList* labels, bool* ok) {
1967 CaseClause* Parser::ParseCaseClause(bool* default_seen_ptr, bool* ok) {
2000 SwitchStatement* Parser::ParseSwitchStatement(ZoneStringList* labels,
2027 Statement* Parser::ParseThrowStatement(bool* ok) {
2045 TryStatement* Parser::ParseTryStatement(bool* ok) {
2162 DoWhileStatement* Parser::ParseDoWhileStatement(ZoneStringList* labels,
2194 WhileStatement* Parser::ParseWhileStatement(ZoneStringList* labels, bool* ok) {
2212 Statement* Parser::ParseForStatement(ZoneStringList* labels, bool* ok) {
2301 Expression* Parser::ParseExpression(bool accept_IN, bool* ok) {
2318 Expression* Parser::ParseAssignmentExpression(bool accept_IN, bool* ok) {
2388 Expression* Parser::ParseConditionalExpression(bool accept_IN, bool* ok) {
2393 // We start using the binary expression parser for prec >= 4 only!
2419 Expression* Parser::ParseBinaryExpression(int prec, bool accept_IN, bool* ok) {
2506 Expression* Parser::NewCompareNode(Token::Value op,
2527 Expression* Parser::ParseUnaryExpression(bool* ok) {
2602 Expression* Parser::ParsePostfixExpression(bool* ok) {
2636 Expression* Parser::ParseLeftHandSideExpression(bool* ok) {
2703 Expression* Parser::ParseNewPrefix(PositionStack* stack, bool* ok) {
2713 // member expression parser, which is only allowed to match argument
2733 Expression* Parser::ParseNewExpression(bool* ok) {
2739 Expression* Parser::ParseMemberExpression(bool* ok) {
2744 Expression* Parser::ParseMemberWithNewPrefixesExpression(PositionStack* stack,
2799 DebuggerStatement* Parser::ParseDebuggerStatement(bool* ok) {
2812 void Parser::ReportUnexpectedToken(Token::Value token) {
2843 void Parser::ReportInvalidPreparseData(Handle<String> name, bool* ok) {
2852 Expression* Parser::ParsePrimaryExpression(bool* ok) {
2963 void Parser::BuildArrayLiteralBoilerplateLiterals(ZoneList<Expression*>* values,
2990 Expression* Parser::ParseArrayLiteral(bool* ok) {
3045 bool Parser::IsBoilerplateProperty(ObjectLiteral::Property* property) {
3103 Handle<Object> Parser::GetBoilerplateValue(Expression* expression) {
3121 ObjectLiteralPropertyChecker(Parser* parser, bool strict) :
3124 parser_(parser),
3154 Parser* parser_;
3233 void Parser::BuildObjectLiteralConstantProperties(
3293 ObjectLiteral::Property* Parser::ParseObjectLiteralGetSet(bool is_getter,
3328 Expression* Parser::ParseObjectLiteral(bool* ok) {
3475 Expression* Parser::ParseRegExpLiteral(bool seen_equal, bool* ok) {
3494 ZoneList<Expression*>* Parser::ParseArguments(bool* ok) {
3518 FunctionLiteral* Parser::ParseFunctionLiteral(Handle<String> var_name,
3716 Expression* Parser::ParseV8Intrinsic(bool* ok) {
3762 bool Parser::peek_any_identifier() {
3769 void Parser::Consume(Token::Value token) {
3777 void Parser::Expect(Token::Value token, bool* ok) {
3785 bool Parser::Check(Token::Value token) {
3795 void Parser::ExpectSemicolon(bool* ok) {
3812 Literal* Parser::GetLiteralUndefined() {
3817 Literal* Parser::GetLiteralTheHole() {
3822 Literal* Parser::GetLiteralNumber(double value) {
3827 Handle<String> Parser::ParseIdentifier(bool* ok) {
3833 Handle<String> Parser::ParseIdentifierOrReservedWord(bool* is_reserved,
3849 Handle<String> Parser::ParseIdentifierName(bool* ok) {
3864 void Parser::CheckStrictModeLValue(Expression* expression,
3881 void Parser::CheckOctalLiteral(int beg_pos, int end_pos, bool* ok) {
3894 Handle<String> Parser::ParseIdentifierOrGetOrSet(bool* is_get,
3909 // Parser support
3912 bool Parser::TargetStackContainsLabel(Handle<String> label) {
3922 BreakableStatement* Parser::LookupBreakTarget(Handle<String> label, bool* ok) {
3937 IterationStatement* Parser::LookupContinueTarget(Handle<String> label,
3954 void Parser::RegisterTargetUse(Label* target, Target* stop) {
3965 Literal* Parser::NewNumberLiteral(double number) {
3970 Expression* Parser::NewThrowReferenceError(Handle<String> type) {
3976 Expression* Parser::NewThrowSyntaxError(Handle<String> type,
3985 Expression* Parser::NewThrowTypeError(Handle<String> type,
3997 Expression* Parser::NewThrowError(Handle<String> constructor,
4640 // don't want to scan the regexp twice unless it is necessary. This mini-parser
4997 // The Parser interface.
5121 RegExpParser parser(input, &result->error, multiline);
5122 RegExpTree* tree = parser.ParsePattern();
5123 if (parser.failed()) {
5130 int capture_count = parser.captures_started();
5131 result->simple = tree->IsAtom() && parser.simple() && capture_count == 0;
5132 result->contains_anchor = parser.contains_anchor();
5135 return !parser.failed();
5147 Parser parser(script, allow_natives_syntax, NULL, NULL);
5148 result = parser.ParseLazy(info);
5153 Parser parser(script, allow_natives_syntax, info->extension(), pre_data);
5158 parser.ReportMessageAt(loc, message, args);
5167 result = parser.ParseProgram(source,