構成 | Public 型 | Public メソッド | Static Public メソッド | Static Public 変数 | Private メソッド | Private 変数 | Static Private 変数

クラス v8::internal::Scanner

#include <scanner.h>

すべてのメンバ一覧

構成

struct  Location
struct  TokenDesc

Public 型

typedef
unibrow::Utf8InputBuffer< 1024 > 
Utf8Decoder

Public メソッド

 Scanner (bool is_pre_parsing)
void Init (Handle< String > source, unibrow::CharacterStream *stream, int position)
Token::Value Next ()
Token::Value peek () const
bool has_line_terminator_before_next () const
Location location () const
Location peek_location () const
const char * literal_string () const
int literal_length () const
Vector< const char > next_literal () const
const char * next_literal_string () const
int next_literal_length () const
bool ScanRegExpPattern (bool seen_equal)
bool ScanRegExpFlags ()
void SeekForward (int pos)
Handle< StringSubString (int start_pos, int end_pos)
bool stack_overflow ()

Static Public メソッド

static StaticResource
< Utf8Decoder > * 
utf8_decoder ()
static bool IsIdentifier (unibrow::CharacterStream *buffer)

Static Public 変数

static unibrow::Predicate
< IdentifierStart, 128 > 
kIsIdentifierStart
static unibrow::Predicate
< IdentifierPart, 128 > 
kIsIdentifierPart
static unibrow::Predicate
< unibrow::LineTerminator, 128 > 
kIsLineTerminator
static unibrow::Predicate
< unibrow::WhiteSpace, 128 > 
kIsWhiteSpace

Private メソッド

void StartLiteral ()
void AddChar (uc32 ch)
void AddCharAdvance ()
void TerminateLiteral ()
void Advance ()
void PushBack (uc32 ch)
void SkipWhiteSpace (bool initial)
Token::Value SkipSingleLineComment ()
Token::Value SkipMultiLineComment ()
Token::Value Select (Token::Value tok)
Token::Value Select (uc32 next, Token::Value then, Token::Value else_)
void Scan ()
Token::Value ScanToken ()
void ScanDecimalDigits ()
Token::Value ScanNumber (bool seen_period)
Token::Value ScanIdentifier ()
uc32 ScanHexEscape (uc32 c, int length)
uc32 ScanOctalEscape (uc32 c, int length)
void ScanEscape ()
Token::Value ScanString ()
Token::Value ScanHtmlComment ()
int source_pos ()
uc32 ScanIdentifierUnicodeEscape ()

Private 変数

UTF16Buffer source_
int position_
UTF8Buffer literals_
bool stack_overflow_
uc32 c0_
TokenDesc current_
TokenDesc next_
bool has_line_terminator_before_next_
bool is_pre_parsing_

Static Private 変数

static StaticResource
< Utf8Decoder
utf8_decoder_
static const int kCharacterLookaheadBufferSize = 1

説明

scanner.h79 行で定義されています。


型定義

scanner.h82 行で定義されています。


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

v8::internal::Scanner::Scanner ( bool  is_pre_parsing  )  [explicit]

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

参照先 v8::internal::Token::Initialize().


関数

void v8::internal::Scanner::AddChar ( uc32  ch  )  [private]
void v8::internal::Scanner::AddCharAdvance (  )  [private]

scanner.cc220 行で定義されています。

参照先 AddChar(), Advance(), と c0_.

参照元 ScanDecimalDigits(), ScanIdentifier(), ScanNumber(), ScanRegExpFlags(), と ScanRegExpPattern().

void v8::internal::Scanner::Advance (  )  [private]
bool v8::internal::Scanner::has_line_terminator_before_next (  )  const [inline]
void v8::internal::Scanner::Init ( Handle< String source,
unibrow::CharacterStream stream,
int  position 
)
bool v8::internal::Scanner::IsIdentifier ( unibrow::CharacterStream buffer  )  [static]
int v8::internal::Scanner::literal_length (  )  const [inline]
const char* v8::internal::Scanner::literal_string (  )  const [inline]
Location v8::internal::Scanner::location (  )  const [inline]
Token::Value v8::internal::Scanner::Next (  ) 
Vector<const char> v8::internal::Scanner::next_literal (  )  const [inline]

scanner.h126 行で定義されています。

参照先 next_literal_length(), と next_literal_string().

参照元 v8::internal::Parser::ParseRegExpLiteral().

int v8::internal::Scanner::next_literal_length (  )  const [inline]
const char* v8::internal::Scanner::next_literal_string (  )  const [inline]
Token::Value v8::internal::Scanner::peek (  )  const [inline]

scanner.h96 行で定義されています。

参照先 next_, と v8::internal::Scanner::TokenDesc::token.

参照元 v8::internal::Parser::INLINE().

Location v8::internal::Scanner::peek_location (  )  const [inline]

scanner.h113 行で定義されています。

参照先 v8::internal::Scanner::TokenDesc::location, と next_.

参照元 v8::internal::Parser::ParseStatement().

void v8::internal::Scanner::PushBack ( uc32  ch  )  [private]

scanner.cc231 行で定義されています。

参照先 c0_, v8::internal::UTF16Buffer::PushBack(), と source_.

参照元 ScanHexEscape(), ScanHtmlComment(), と SkipWhiteSpace().

void v8::internal::Scanner::Scan (  )  [private]
void v8::internal::Scanner::ScanDecimalDigits (  )  [private]

scanner.cc626 行で定義されています。

参照先 AddCharAdvance(), c0_, と v8::internal::IsDecimalDigit().

参照元 ScanNumber().

void v8::internal::Scanner::ScanEscape (  )  [private]
uc32 v8::internal::Scanner::ScanHexEscape ( uc32  c,
int  length 
) [private]

scanner.cc356 行で定義されています。

参照先 Advance(), ASSERT, c0_, v8::internal::HexValue(), と PushBack().

参照元 ScanEscape(), と ScanIdentifierUnicodeEscape().

Token::Value v8::internal::Scanner::ScanHtmlComment (  )  [private]

scanner.cc314 行で定義されています。

参照先 Advance(), ASSERT, c0_, PushBack(), と SkipSingleLineComment().

参照元 ScanToken().

Token::Value v8::internal::Scanner::ScanIdentifier (  )  [private]
uc32 v8::internal::Scanner::ScanIdentifierUnicodeEscape (  )  [private]

scanner.cc709 行で定義されています。

参照先 Advance(), c0_, unibrow::Utf8::kBadChar, と ScanHexEscape().

参照元 ScanIdentifier().

Token::Value v8::internal::Scanner::ScanNumber ( bool  seen_period  )  [private]
uc32 v8::internal::Scanner::ScanOctalEscape ( uc32  c,
int  length 
) [private]

scanner.cc386 行で定義されています。

参照先 Advance(), と c0_.

参照元 ScanEscape().

bool v8::internal::Scanner::ScanRegExpFlags (  ) 
bool v8::internal::Scanner::ScanRegExpPattern ( bool  seen_equal  ) 
Token::Value v8::internal::Scanner::ScanString (  )  [private]
Token::Value v8::internal::Scanner::ScanToken (  )  [private]
void v8::internal::Scanner::SeekForward ( int  pos  ) 
Token::Value v8::internal::Scanner::Select ( uc32  next,
Token::Value  then,
Token::Value  else_ 
) [inline, private]

scanner.cc473 行で定義されています。

参照先 Advance(), と c0_.

Token::Value v8::internal::Scanner::Select ( Token::Value  tok  )  [inline, private]

scanner.cc467 行で定義されています。

参照先 Advance().

参照元 ScanToken().

Token::Value v8::internal::Scanner::SkipMultiLineComment (  )  [private]

scanner.cc289 行で定義されています。

参照先 Advance(), ASSERT, と c0_.

参照元 ScanToken().

Token::Value v8::internal::Scanner::SkipSingleLineComment (  )  [private]

scanner.cc273 行で定義されています。

参照先 Advance(), c0_, unibrow::Predicate< T, size >::get(), と kIsLineTerminator.

参照元 ScanHtmlComment(), ScanToken(), と SkipWhiteSpace().

void v8::internal::Scanner::SkipWhiteSpace ( bool  initial  )  [private]
int v8::internal::Scanner::source_pos (  )  [inline, private]
bool v8::internal::Scanner::stack_overflow (  )  [inline]

scanner.h155 行で定義されています。

参照先 stack_overflow_.

参照元 v8::internal::Parser::ParseLazy(), と v8::internal::Parser::PreParseProgram().

void v8::internal::Scanner::StartLiteral (  )  [private]
Handle< String > v8::internal::Scanner::SubString ( int  start_pos,
int  end_pos 
)

scanner.cc182 行で定義されています。

参照先 position_, source_, と v8::internal::UTF16Buffer::SubString().

void v8::internal::Scanner::TerminateLiteral (  )  [private]
static StaticResource<Utf8Decoder>* v8::internal::Scanner::utf8_decoder (  )  [inline, static]

scanner.h157 行で定義されています。

参照先 utf8_decoder_.

参照元 v8::internal::Heap::AllocateStringFromUtf8(), と v8::internal::String::IsEqualTo().


変数

scanner.h190 行で定義されています。

参照元 literal_length(), literal_string(), location(), と Next().

scanner.h192 行で定義されています。

参照元 has_line_terminator_before_next(), と SkipWhiteSpace().

scanner.h193 行で定義されています。

scanner.h195 行で定義されています。

参照元 Init(), と source_pos().

scanner.h164 行で定義されています。

参照元 IsIdentifier(), ScanIdentifier(), と ScanRegExpFlags().

scanner.h163 行で定義されています。

参照元 IsIdentifier(), ScanIdentifier(), ScanNumber(), と ScanToken().

scanner.h165 行で定義されています。

参照元 ScanEscape(), ScanRegExpPattern(), ScanString(), SkipSingleLineComment(), と SkipWhiteSpace().

scanner.h171 行で定義されています。

参照元 Init(), source_pos(), と SubString().

scanner.h170 行で定義されています。

参照元 Advance(), Init(), PushBack(), SeekForward(), source_pos(), と SubString().

scanner.h177 行で定義されています。

参照元 Next(), と stack_overflow().

scanner.h178 行で定義されています。

参照元 utf8_decoder().


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