Public メソッド | Protected 型 | Protected メソッド | Protected 変数 | フレンド

クラス v8::internal::Parser

v8::internal::AstBuildingParser, と v8::internal::PreParserに継承されています。

すべてのメンバ一覧

Public メソッド

 Parser (Handle< Script > script, bool allow_natives_syntax, v8::Extension *extension, bool is_pre_parsing, ParserFactory *factory, ParserLog *log, ScriptDataImpl *pre_data)
virtual ~Parser ()
bool PreParseProgram (unibrow::CharacterStream *stream)
void ReportMessage (const char *message, Vector< const char * > args)
virtual void ReportMessageAt (Scanner::Location loc, const char *message, Vector< const char * > args)=0
FunctionLiteralParseProgram (Handle< String > source, unibrow::CharacterStream *stream, bool in_global_context)
FunctionLiteralParseLazy (Handle< String > source, Handle< String > name, int start_position, bool is_expression)

Protected 型

enum  Mode { PARSE_LAZILY, PARSE_EAGERLY }
enum  FunctionLiteralType { EXPRESSION, DECLARATION, NESTED }

Protected メソッド

void ReportUnexpectedToken (Token::Value token)
bool inside_with () const
ParserFactory * factory () const
ParserLog * log () const
Scannerscanner ()
Mode mode () const
ScriptDataImplpre_data () const
void * ParseSourceElements (ZoneListWrapper< Statement > *processor, int end_token, bool *ok)
StatementParseStatement (ZoneStringList *labels, bool *ok)
StatementParseFunctionDeclaration (bool *ok)
StatementParseNativeDeclaration (bool *ok)
BlockParseBlock (ZoneStringList *labels, bool *ok)
BlockParseVariableStatement (bool *ok)
BlockParseVariableDeclarations (bool accept_IN, Expression **var, bool *ok)
StatementParseExpressionOrLabelledStatement (ZoneStringList *labels, bool *ok)
IfStatementParseIfStatement (ZoneStringList *labels, bool *ok)
StatementParseContinueStatement (bool *ok)
StatementParseBreakStatement (ZoneStringList *labels, bool *ok)
StatementParseReturnStatement (bool *ok)
BlockWithHelper (Expression *obj, ZoneStringList *labels, bool *ok)
StatementParseWithStatement (ZoneStringList *labels, bool *ok)
CaseClauseParseCaseClause (bool *default_seen_ptr, bool *ok)
SwitchStatementParseSwitchStatement (ZoneStringList *labels, bool *ok)
LoopStatementParseDoStatement (ZoneStringList *labels, bool *ok)
LoopStatementParseWhileStatement (ZoneStringList *labels, bool *ok)
StatementParseForStatement (ZoneStringList *labels, bool *ok)
StatementParseThrowStatement (bool *ok)
ExpressionMakeCatchContext (Handle< String > id, VariableProxy *value)
TryStatementParseTryStatement (bool *ok)
DebuggerStatementParseDebuggerStatement (bool *ok)
ExpressionParseExpression (bool accept_IN, bool *ok)
ExpressionParseAssignmentExpression (bool accept_IN, bool *ok)
ExpressionParseConditionalExpression (bool accept_IN, bool *ok)
ExpressionParseBinaryExpression (int prec, bool accept_IN, bool *ok)
ExpressionParseUnaryExpression (bool *ok)
ExpressionParsePostfixExpression (bool *ok)
ExpressionParseLeftHandSideExpression (bool *ok)
ExpressionParseNewExpression (bool *ok)
ExpressionParseMemberExpression (bool *ok)
ExpressionParseMemberWithNewPrefixesExpression (List< int > *new_prefixes, bool *ok)
ExpressionParsePrimaryExpression (bool *ok)
ExpressionParseArrayLiteral (bool *ok)
ExpressionParseObjectLiteral (bool *ok)
ExpressionParseRegExpLiteral (bool seen_equal, bool *ok)
bool IsBoilerplateProperty (ObjectLiteral::Property *property)
LiteralGetBoilerplateValue (ObjectLiteral::Property *property)
ZoneList< Expression * > * ParseArguments (bool *ok)
FunctionLiteralParseFunctionLiteral (Handle< String > var_name, int function_token_position, FunctionLiteralType type, bool *ok)
ExpressionParseV8Intrinsic (bool *ok)
 INLINE (Token::Value peek())
 INLINE (Token::Value Next())
 INLINE (void Consume(Token::Value token))
void Expect (Token::Value token, bool *ok)
void ExpectSemicolon (bool *ok)
LiteralGetLiteralUndefined ()
LiteralGetLiteralTheHole ()
LiteralGetLiteralNumber (double value)
Handle< StringParseIdentifier (bool *ok)
Handle< StringParseIdentifierOrGetOrSet (bool *is_get, bool *is_set, bool *ok)
virtual VariableProxyDeclare (Handle< String > name, Variable::Mode mode, FunctionLiteral *fun, bool resolve, bool *ok)=0
bool TargetStackContainsLabel (Handle< String > label)
BreakableStatementLookupBreakTarget (Handle< String > label, bool *ok)
IterationStatementLookupContinueTarget (Handle< String > label, bool *ok)
void RegisterLabelUse (Label *label, int index)
LiteralNewNumberLiteral (double value)
ExpressionNewThrowReferenceError (Handle< String > type)
ExpressionNewThrowSyntaxError (Handle< String > type, Handle< Object > first)
ExpressionNewThrowTypeError (Handle< String > type, Handle< Object > first, Handle< Object > second)
ExpressionNewThrowError (Handle< String > constructor, Handle< String > type, Vector< Handle< Object > > arguments)

Protected 変数

Handle< Scriptscript_
Scanner scanner_
Scopetop_scope_
int with_nesting_level_
TemporaryScope * temp_scope_
Mode mode_
List< Node * > * target_stack_
bool allow_natives_syntax_
v8::Extensionextension_
ParserFactory * factory_
ParserLog * log_
bool is_pre_parsing_
ScriptDataImplpre_data_

フレンド

class Target
class TargetScope
class LexicalScope
class TemporaryScope

説明

parser.cc46 行で定義されています。


列挙型

列挙型の値:
EXPRESSION 
DECLARATION 
NESTED 

parser.cc157 行で定義されています。

enum v8::internal::Parser::Mode [protected]
列挙型の値:
PARSE_LAZILY 
PARSE_EAGERLY 

parser.cc73 行で定義されています。


コンストラクタとデストラクタ

v8::internal::Parser::Parser ( Handle< Script script,
bool  allow_natives_syntax,
v8::Extension extension,
bool  is_pre_parsing,
ParserFactory *  factory,
ParserLog *  log,
ScriptDataImpl pre_data 
)

parser.cc693 行で定義されています。

virtual v8::internal::Parser::~Parser (  )  [inline, virtual]

parser.cc51 行で定義されています。


関数

virtual VariableProxy* v8::internal::Parser::Declare ( Handle< String name,
Variable::Mode  mode,
FunctionLiteral fun,
bool  resolve,
bool *  ok 
) [protected, pure virtual]
void v8::internal::Parser::Expect ( Token::Value  token,
bool *  ok 
) [protected]
void v8::internal::Parser::ExpectSemicolon ( bool *  ok  )  [protected]
ParserFactory* v8::internal::Parser::factory (  )  const [inline, protected]
Literal * v8::internal::Parser::GetBoilerplateValue ( ObjectLiteral::Property property  )  [protected]
Literal * v8::internal::Parser::GetLiteralNumber ( double  value  )  [protected]

parser.cc3023 行で定義されています。

参照先 NewNumberLiteral().

Literal * v8::internal::Parser::GetLiteralTheHole (  )  [protected]

parser.cc3018 行で定義されています。

参照先 NEW.

参照元 ParseArrayLiteral().

Literal * v8::internal::Parser::GetLiteralUndefined (  )  [protected]

parser.cc3013 行で定義されています。

参照先 NEW.

参照元 GetBoilerplateValue(), ParseReturnStatement(), と ParseVariableDeclarations().

v8::internal::Parser::INLINE ( Token::Value   peek()  )  [inline, protected]

parser.cc173 行で定義されています。

参照先 v8::internal::Scanner::peek(), と scanner_.

v8::internal::Parser::INLINE ( Token::Value   Next()  )  [inline, protected]

parser.cc174 行で定義されています。

参照先 v8::internal::Scanner::Next(), と scanner_.

v8::internal::Parser::INLINE ( void   ConsumeToken::Value token  )  [protected]
bool v8::internal::Parser::inside_with (  )  const [inline, protected]
bool v8::internal::Parser::IsBoilerplateProperty ( ObjectLiteral::Property property  )  [protected]

parser.cc2649 行で定義されています。

参照先 v8::internal::NULL.

参照元 ParseObjectLiteral().

ParserLog* v8::internal::Parser::log (  )  const [inline, protected]

parser.cc99 行で定義されています。

参照先 log_.

参照元 ParseFunctionLiteral().

BreakableStatement * v8::internal::Parser::LookupBreakTarget ( Handle< String label,
bool *  ok 
) [protected]
IterationStatement * v8::internal::Parser::LookupContinueTarget ( Handle< String label,
bool *  ok 
) [protected]
Expression * v8::internal::Parser::MakeCatchContext ( Handle< String id,
VariableProxy value 
) [protected]
Mode v8::internal::Parser::mode (  )  const [inline, protected]

parser.cc101 行で定義されています。

参照先 mode_.

参照元 ParseFunctionLiteral(), と ParseVariableDeclarations().

Literal * v8::internal::Parser::NewNumberLiteral ( double  value  )  [protected]
Expression * v8::internal::Parser::NewThrowError ( Handle< String constructor,
Handle< String type,
Vector< Handle< Object > >  arguments 
) [protected]
Expression * v8::internal::Parser::NewThrowReferenceError ( Handle< String type  )  [protected]
Expression * v8::internal::Parser::NewThrowSyntaxError ( Handle< String type,
Handle< Object first 
) [protected]
Expression * v8::internal::Parser::NewThrowTypeError ( Handle< String type,
Handle< Object first,
Handle< Object second 
) [protected]
ZoneList< Expression * > * v8::internal::Parser::ParseArguments ( bool *  ok  )  [protected]
Expression * v8::internal::Parser::ParseArrayLiteral ( bool *  ok  )  [protected]
Expression * v8::internal::Parser::ParseAssignmentExpression ( bool  accept_IN,
bool *  ok 
) [protected]
Expression * v8::internal::Parser::ParseBinaryExpression ( int  prec,
bool  accept_IN,
bool *  ok 
) [protected]
Block * v8::internal::Parser::ParseBlock ( ZoneStringList labels,
bool *  ok 
) [protected]
Statement * v8::internal::Parser::ParseBreakStatement ( ZoneStringList labels,
bool *  ok 
) [protected]
CaseClause * v8::internal::Parser::ParseCaseClause ( bool *  default_seen_ptr,
bool *  ok 
) [protected]
Expression * v8::internal::Parser::ParseConditionalExpression ( bool  accept_IN,
bool *  ok 
) [protected]

parser.cc2061 行で定義されています。

参照先 CHECK_OK, Expect(), NEW, ParseAssignmentExpression(), と ParseBinaryExpression().

参照元 ParseAssignmentExpression().

Statement * v8::internal::Parser::ParseContinueStatement ( bool *  ok  )  [protected]
DebuggerStatement * v8::internal::Parser::ParseDebuggerStatement ( bool *  ok  )  [protected]

parser.cc2450 行で定義されています。

参照先 CHECK_OK, Expect(), ExpectSemicolon(), と NEW.

参照元 ParseStatement().

LoopStatement * v8::internal::Parser::ParseDoStatement ( ZoneStringList labels,
bool *  ok 
) [protected]
Expression * v8::internal::Parser::ParseExpression ( bool  accept_IN,
bool *  ok 
) [protected]
Statement * v8::internal::Parser::ParseExpressionOrLabelledStatement ( ZoneStringList labels,
bool *  ok 
) [protected]
Statement * v8::internal::Parser::ParseForStatement ( ZoneStringList labels,
bool *  ok 
) [protected]
Statement * v8::internal::Parser::ParseFunctionDeclaration ( bool *  ok  )  [protected]
FunctionLiteral * v8::internal::Parser::ParseFunctionLiteral ( Handle< String var_name,
int  function_token_position,
FunctionLiteralType  type,
bool *  ok 
) [protected]
Handle< String > v8::internal::Parser::ParseIdentifier ( bool *  ok  )  [protected]
Handle< String > v8::internal::Parser::ParseIdentifierOrGetOrSet ( bool *  is_get,
bool *  is_set,
bool *  ok 
) [protected]
IfStatement * v8::internal::Parser::ParseIfStatement ( ZoneStringList labels,
bool *  ok 
) [protected]

parser.cc1457 行で定義されています。

参照先 CHECK_OK, Expect(), factory(), is_pre_parsing_, NEW, v8::internal::NULL, ParseExpression(), と ParseStatement().

参照元 ParseStatement().

FunctionLiteral * v8::internal::Parser::ParseLazy ( Handle< String source,
Handle< String name,
int  start_position,
bool  is_expression 
)
Expression * v8::internal::Parser::ParseLeftHandSideExpression ( bool *  ok  )  [protected]
Expression * v8::internal::Parser::ParseMemberExpression ( bool *  ok  )  [protected]

parser.cc2392 行で定義されています。

参照先 ParseMemberWithNewPrefixesExpression().

参照元 ParseLeftHandSideExpression().

Expression * v8::internal::Parser::ParseMemberWithNewPrefixesExpression ( List< int > *  new_prefixes,
bool *  ok 
) [protected]
Statement * v8::internal::Parser::ParseNativeDeclaration ( bool *  ok  )  [protected]
Expression * v8::internal::Parser::ParseNewExpression ( bool *  ok  )  [protected]
Expression * v8::internal::Parser::ParseObjectLiteral ( bool *  ok  )  [protected]
Expression * v8::internal::Parser::ParsePostfixExpression ( bool *  ok  )  [protected]
Expression * v8::internal::Parser::ParsePrimaryExpression ( bool *  ok  )  [protected]
FunctionLiteral * v8::internal::Parser::ParseProgram ( Handle< String source,
unibrow::CharacterStream stream,
bool  in_global_context 
)
Expression * v8::internal::Parser::ParseRegExpLiteral ( bool  seen_equal,
bool *  ok 
) [protected]
Statement * v8::internal::Parser::ParseReturnStatement ( bool *  ok  )  [protected]
void * v8::internal::Parser::ParseSourceElements ( ZoneListWrapper< Statement > *  processor,
int  end_token,
bool *  ok 
) [protected]
Statement * v8::internal::Parser::ParseStatement ( ZoneStringList labels,
bool *  ok 
) [protected]
SwitchStatement * v8::internal::Parser::ParseSwitchStatement ( ZoneStringList labels,
bool *  ok 
) [protected]
Statement * v8::internal::Parser::ParseThrowStatement ( bool *  ok  )  [protected]
TryStatement * v8::internal::Parser::ParseTryStatement ( bool *  ok  )  [protected]
Expression * v8::internal::Parser::ParseUnaryExpression ( bool *  ok  )  [protected]
Expression * v8::internal::Parser::ParseV8Intrinsic ( bool *  ok  )  [protected]
Block * v8::internal::Parser::ParseVariableDeclarations ( bool  accept_IN,
Expression **  var,
bool *  ok 
) [protected]
Block * v8::internal::Parser::ParseVariableStatement ( bool *  ok  )  [protected]

parser.cc1204 行で定義されています。

参照先 CHECK_OK, ExpectSemicolon(), と ParseVariableDeclarations().

参照元 ParseStatement().

LoopStatement * v8::internal::Parser::ParseWhileStatement ( ZoneStringList labels,
bool *  ok 
) [protected]
Statement * v8::internal::Parser::ParseWithStatement ( ZoneStringList labels,
bool *  ok 
) [protected]

parser.cc1611 行で定義されています。

参照先 ASSERT, CHECK_OK, Expect(), v8::internal::Bootstrapper::IsActive(), ParseExpression(), と WithHelper().

参照元 ParseStatement().

ScriptDataImpl* v8::internal::Parser::pre_data (  )  const [inline, protected]

parser.cc102 行で定義されています。

参照先 pre_data_.

参照元 ParseFunctionLiteral().

bool v8::internal::Parser::PreParseProgram ( unibrow::CharacterStream stream  ) 
void v8::internal::Parser::RegisterLabelUse ( Label label,
int  index 
) [protected]
void v8::internal::Parser::ReportMessage ( const char *  message,
Vector< const char * >  args 
)
virtual void v8::internal::Parser::ReportMessageAt ( Scanner::Location  loc,
const char *  message,
Vector< const char * >  args 
) [pure virtual]

v8::internal::AstBuildingParser, と v8::internal::PreParserで実装されています。

参照元 ReportMessage().

void v8::internal::Parser::ReportUnexpectedToken ( Token::Value  token  )  [protected]
Scanner& v8::internal::Parser::scanner (  )  [inline, protected]
bool v8::internal::Parser::TargetStackContainsLabel ( Handle< String label  )  [protected]
Block * v8::internal::Parser::WithHelper ( Expression obj,
ZoneStringList labels,
bool *  ok 
) [protected]

フレンドと関連する関数

friend class LexicalScope [friend]

parser.cc225 行で定義されています。

参照元 ParseFunctionLiteral(), ParseLazy(), ParseProgram(), と PreParseProgram().

friend class Target [friend]
friend class TargetScope [friend]

parser.cc224 行で定義されています。

参照元 ParseSourceElements().

friend class TemporaryScope [friend]

parser.cc226 行で定義されています。

参照元 ParseFunctionLiteral(), ParseLazy(), ParseProgram(), と PreParseProgram().


変数

parser.cc90 行で定義されています。

参照元 ParsePrimaryExpression(), と ParseProgram().

parser.cc91 行で定義されています。

参照元 ParseNativeDeclaration(), ParsePrimaryExpression(), ParseProgram(), と ParseV8Intrinsic().

ParserFactory* v8::internal::Parser::factory_ [protected]

v8::internal::AstBuildingParser, と v8::internal::PreParserで再定義されています。

parser.cc92 行で定義されています。

参照元 factory().

ParserLog* v8::internal::Parser::log_ [protected]

v8::internal::AstBuildingParserで再定義されています。

parser.cc93 行で定義されています。

参照元 log().

parser.cc88 行で定義されています。

参照元 mode(), ParseLazy(), ParseProgram(), と PreParseProgram().

parser.cc95 行で定義されています。

参照元 pre_data().

parser.cc81 行で定義されています。

参照元 v8::internal::AstBuildingParser::ReportMessageAt().

TemporaryScope* v8::internal::Parser::temp_scope_ [protected]

parser.cc85 行で定義されています。

参照元 inside_with(), と WithHelper().


このクラスの説明は次のファイルから生成されました:
 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義