5#ifndef V8_ASMJS_ASM_SCANNER_H_
6#define V8_ASMJS_ASM_SCANNER_H_
10#include <unordered_map>
19class Utf16CharacterStream;
50 return identifier_string_;
57 return preceded_by_newline_;
63 std::string
Name(token_t token)
const;
68 void Seek(
size_t pos);
86 return -(token - kLocalsStart);
90 return token - kGlobalsStart;
99 return unsigned_value_;
104 return double_value_;
116 kLocalsStart = -10000,
117#define V(name, _junk1, _junk2, _junk3) kToken_##name,
121#define V(name, _junk1) kToken_##name,
124#define V(name) kToken_##name,
128#define V(rawname, name) kToken_##name,
131#define V(name, value, string_name) name = value,
163 bool ConsumeCComment();
164 void ConsumeCPPComment();
#define STDLIB_ARRAY_TYPE_LIST(V)
#define STDLIB_MATH_VALUE_LIST(V)
#define STDLIB_MATH_FUNCTION_LIST(V)
#define KEYWORD_NAME_LIST(V)
#define LONG_SYMBOL_NAME_LIST(V)
#define SPECIAL_TOKEN_LIST(V)
#define STDLIB_OTHER_LIST(V)
static size_t GlobalIndex(token_t token)
static size_t LocalIndex(token_t token)
std::unordered_map< std::string, token_t > local_names_
const std::string & GetIdentifierString() const
static bool IsLocal(token_t token)
bool preceded_by_newline_
size_t preceding_position_
std::unordered_map< std::string, token_t > property_names_
std::string identifier_string_
Utf16CharacterStream * stream_
static bool IsGlobal(token_t token)
std::unordered_map< std::string, token_t > global_names_
uint32_t AsUnsigned() const
bool IsPrecededByNewline() const
bool IsIdentifierStart(base::uc32 c)
bool IsIdentifierPart(base::uc32 c)
#define DCHECK(condition)
#define V8_EXPORT_PRIVATE