Wire Sysio Wire Sysion 1.0.0
|
Classes | |
struct | Action |
struct | ActionCommand |
struct | AssertInvalidOrMalformedCommand |
struct | AssertReturnCommand |
struct | AssertReturnNaNCommand |
struct | AssertTrapCommand |
struct | AssertUnlinkableCommand |
struct | Command |
struct | Error |
struct | FatalParseException |
struct | FunctionPrintContext |
struct | GetAction |
struct | InvokeAction |
struct | LineInfo |
struct | ModuleAction |
struct | ModuleParseState |
struct | ModulePrintContext |
struct | Name |
struct | NameScope |
struct | ParseState |
struct | RecoverParseException |
struct | Reference |
struct | RegisterCommand |
struct | ScopedTagPrinter |
struct | StaticData |
struct | TextFileLocus |
struct | UnresolvedError |
struct | UnresolvedFunctionType |
Typedefs | |
typedef std::unordered_map< Name, U32, Name::Hasher > | NameToIndexMap |
Enumerations | |
enum class | ActionType { _module , invoke , get } |
enum | TokenType : U16 { numTokenTypes } |
Functions | |
WAST_API void | parseTestCommands (const char *string, Uptr stringLength, std::vector< std::unique_ptr< Command > > &outTestCommands, std::vector< Error > &outErrors) |
WAST_API bool | parseModule (const char *string, Uptr stringLength, IR::Module &outModule, std::vector< Error > &outErrors) |
WAST_API std::string | print (const IR::Module &module) |
const char * | describeToken (TokenType tokenType) |
bool | isRecoveryPointChar (char c) |
Token * | lex (const char *string, Uptr stringLength, LineInfo *&outLineInfo) |
void | freeTokens (Token *tokens) |
void | freeLineInfo (LineInfo *lineInfo) |
TextFileLocus | calcLocusFromOffset (const char *string, const LineInfo *lineInfo, Uptr charOffset) |
PACKED_STRUCT (struct Token { TokenType type;U32 begin;}) | |
void | findClosingParenthesis (ParseState &state, const Token *openingParenthesisToken) |
void | parseErrorf (ParseState &state, Uptr charOffset, const char *messageFormat, va_list messageArguments) |
void | parseErrorf (ParseState &state, Uptr charOffset, const char *messageFormat,...) |
void | parseErrorf (ParseState &state, const char *nextChar, const char *messageFormat,...) |
void | parseErrorf (ParseState &state, const Token *nextToken, const char *messageFormat,...) |
void | require (ParseState &state, TokenType type) |
bool | tryParseValueType (ParseState &state, ValueType &outValueType) |
bool | tryParseResultType (ParseState &state, ResultType &outResultType) |
ValueType | parseValueType (ParseState &state) |
const FunctionType * | parseFunctionType (ModuleParseState &state, NameToIndexMap &outLocalNameToIndexMap, std::vector< std::string > &outLocalDisassemblyNames) |
UnresolvedFunctionType | parseFunctionTypeRefAndOrDecl (ModuleParseState &state, NameToIndexMap &outLocalNameToIndexMap, std::vector< std::string > &outLocalDisassemblyNames) |
IndexedFunctionType | resolveFunctionType (ModuleParseState &state, const UnresolvedFunctionType &unresolvedType) |
IndexedFunctionType | getUniqueFunctionTypeIndex (ModuleParseState &state, const FunctionType *functionType) |
bool | tryParseName (ParseState &state, Name &outName) |
bool | tryParseNameOrIndexRef (ParseState &state, Reference &outRef) |
U32 | parseAndResolveNameOrIndexRef (ParseState &state, const NameToIndexMap &nameToIndexMap, Uptr maxIndex, const char *context) |
void | bindName (ParseState &state, NameToIndexMap &nameToIndexMap, const Name &name, Uptr index) |
U32 | resolveRef (ParseState &state, const NameToIndexMap &nameToIndexMap, Uptr maxIndex, const Reference &ref) |
bool | tryParseHexit (const char *&nextChar, U8 &outValue) |
bool | tryParseString (ParseState &state, std::string &outString) |
std::string | parseUTF8String (ParseState &state) |
bool | tryParseI32 (ParseState &state, U32 &outI32) |
bool | tryParseI64 (ParseState &state, U64 &outI64) |
U8 | parseI8 (ParseState &state) |
U32 | parseI32 (ParseState &state) |
U64 | parseI64 (ParseState &state) |
F32 | parseF32 (ParseState &state) |
F64 | parseF64 (ParseState &state) |
IR::FunctionDef | parseFunctionDef (ModuleParseState &state, const Token *funcToken) |
void | parseModuleBody (ModuleParseState &state) |
char | nibbleToHexChar (U8 value) |
std::string | escapeString (const char *string, Uptr numChars) |
std::string | expandIndentation (std::string &&inString, U8 spacesPerIndentLevel=2) |
void | print (std::string &string, ValueType type) |
void | print (std::string &string, ResultType type) |
void | print (std::string &string, const SizeConstraints &size) |
void | print (std::string &string, const FunctionType *functionType) |
void | print (std::string &string, const TableType &type) |
void | print (std::string &string, const MemoryType &type) |
void | print (std::string &string, GlobalType type) |
void | printControlSignature (std::string &string, ResultType resultType) |
template<typename Type > | |
void | printImportType (std::string &string, const Module &module, Type type) |
template<> | |
void | printImportType< IndexedFunctionType > (std::string &string, const Module &module, IndexedFunctionType type) |
template<typename Type > | |
void | printImport (std::string &string, const Module &module, const Import< Type > &import, Uptr importIndex, const char *name, const char *typeTag) |
typedef std::unordered_map<Name,U32,Name::Hasher> WAST::NameToIndexMap |
|
strong |
Enumerator | |
---|---|
_module | |
invoke | |
get |
Definition at line 41 of file TestScript.h.
enum WAST::TokenType : U16 |
Enumerator | |
---|---|
numTokenTypes |
Definition at line 87 of file Lexer.h.
void WAST::bindName | ( | ParseState & | state, |
NameToIndexMap & | nameToIndexMap, | ||
const Name & | name, | ||
Uptr | index ) |
Definition at line 322 of file Parse.cpp.
TextFileLocus WAST::calcLocusFromOffset | ( | const char * | string, |
const LineInfo * | lineInfo, | ||
Uptr | charOffset ) |
Definition at line 331 of file Lexer.cpp.
const char * WAST::describeToken | ( | TokenType | tokenType | ) |
Definition at line 14 of file Lexer.cpp.
std::string WAST::escapeString | ( | const char * | string, |
Uptr | numChars ) |
Definition at line 18 of file Print.cpp.
std::string WAST::expandIndentation | ( | std::string && | inString, |
U8 | spacesPerIndentLevel = 2 ) |
Definition at line 38 of file Print.cpp.
void WAST::findClosingParenthesis | ( | ParseState & | state, |
const Token * | openingParenthesisToken ) |
Definition at line 19 of file Parse.cpp.
void WAST::freeLineInfo | ( | LineInfo * | lineInfo | ) |
void WAST::freeTokens | ( | Token * | tokens | ) |
IR::IndexedFunctionType WAST::getUniqueFunctionTypeIndex | ( | ModuleParseState & | state, |
const FunctionType * | functionType ) |
Definition at line 226 of file Parse.cpp.
|
inline |
Definition at line 153 of file Lexer.cpp.
Definition at line 166 of file Lexer.cpp.
char WAST::nibbleToHexChar | ( | U8 | value | ) |
U32 WAST::parseAndResolveNameOrIndexRef | ( | ParseState & | state, |
const NameToIndexMap & | nameToIndexMap, | ||
Uptr | maxIndex, | ||
const char * | context ) |
Definition at line 295 of file Parse.cpp.
void WAST::parseErrorf | ( | ParseState & | state, |
const char * | nextChar, | ||
const char * | messageFormat, | ||
... ) |
void WAST::parseErrorf | ( | ParseState & | state, |
const Token * | nextToken, | ||
const char * | messageFormat, | ||
... ) |
void WAST::parseErrorf | ( | ParseState & | state, |
Uptr | charOffset, | ||
const char * | messageFormat, | ||
va_list | messageArguments ) |
Definition at line 45 of file Parse.cpp.
void WAST::parseErrorf | ( | ParseState & | state, |
Uptr | charOffset, | ||
const char * | messageFormat, | ||
... ) |
F32 WAST::parseF32 | ( | ParseState & | state | ) |
Definition at line 320 of file ParseNumbers.cpp.
F64 WAST::parseF64 | ( | ParseState & | state | ) |
Definition at line 331 of file ParseNumbers.cpp.
FunctionDef WAST::parseFunctionDef | ( | ModuleParseState & | state, |
const Token * | funcToken ) |
Definition at line 542 of file ParseFunction.cpp.
const IR::FunctionType * WAST::parseFunctionType | ( | ModuleParseState & | state, |
NameToIndexMap & | outLocalNameToIndexMap, | ||
std::vector< std::string > & | outLocalDisassemblyNames ) |
Definition at line 121 of file Parse.cpp.
UnresolvedFunctionType WAST::parseFunctionTypeRefAndOrDecl | ( | ModuleParseState & | state, |
NameToIndexMap & | outLocalNameToIndexMap, | ||
std::vector< std::string > & | outLocalDisassemblyNames ) |
Definition at line 170 of file Parse.cpp.
U32 WAST::parseI32 | ( | ParseState & | state | ) |
Definition at line 298 of file ParseNumbers.cpp.
U64 WAST::parseI64 | ( | ParseState & | state | ) |
Definition at line 309 of file ParseNumbers.cpp.
U8 WAST::parseI8 | ( | ParseState & | state | ) |
Definition at line 287 of file ParseNumbers.cpp.
bool WAST::parseModule | ( | const char * | string, |
Uptr | stringLength, | ||
IR::Module & | outModule, | ||
std::vector< Error > & | outErrors ) |
Definition at line 638 of file ParseModule.cpp.
void WAST::parseModuleBody | ( | ModuleParseState & | state | ) |
Definition at line 589 of file ParseModule.cpp.
WAST_API void WAST::parseTestCommands | ( | const char * | string, |
Uptr | stringLength, | ||
std::vector< std::unique_ptr< Command > > & | outTestCommands, | ||
std::vector< Error > & | outErrors ) |
std::string WAST::parseUTF8String | ( | ParseState & | state | ) |
Definition at line 481 of file Parse.cpp.
IR::ValueType WAST::parseValueType | ( | ParseState & | state | ) |
Definition at line 110 of file Parse.cpp.
std::string WAST::print | ( | const IR::Module & | module | ) |
Definition at line 687 of file Print.cpp.
void WAST::print | ( | std::string & | string, |
const FunctionType * | functionType ) |
Definition at line 91 of file Print.cpp.
void WAST::print | ( | std::string & | string, |
const MemoryType & | type ) |
void WAST::print | ( | std::string & | string, |
const SizeConstraints & | size ) |
void WAST::print | ( | std::string & | string, |
const TableType & | type ) |
void WAST::print | ( | std::string & | string, |
GlobalType | type ) |
void WAST::print | ( | std::string & | string, |
ResultType | type ) |
void WAST::print | ( | std::string & | string, |
ValueType | type ) |
void WAST::printControlSignature | ( | std::string & | string, |
ResultType | resultType ) |
void WAST::printImport | ( | std::string & | string, |
const Module & | module, | ||
const Import< Type > & | import, | ||
Uptr | importIndex, | ||
const char * | name, | ||
const char * | typeTag ) |
Definition at line 460 of file Print.cpp.
void WAST::printImportType< IndexedFunctionType > | ( | std::string & | string, |
const Module & | module, | ||
IndexedFunctionType | type ) |
void WAST::require | ( | ParseState & | state, |
TokenType | type ) |
IR::IndexedFunctionType WAST::resolveFunctionType | ( | ModuleParseState & | state, |
const UnresolvedFunctionType & | unresolvedType ) |
Definition at line 197 of file Parse.cpp.
U32 WAST::resolveRef | ( | ParseState & | state, |
const NameToIndexMap & | nameToIndexMap, | ||
Uptr | maxIndex, | ||
const Reference & | ref ) |
Definition at line 338 of file Parse.cpp.
bool WAST::tryParseHexit | ( | const char *& | nextChar, |
U8 & | outValue ) |
Definition at line 368 of file Parse.cpp.
bool WAST::tryParseI32 | ( | ParseState & | state, |
U32 & | outI32 ) |
Definition at line 277 of file ParseNumbers.cpp.
bool WAST::tryParseI64 | ( | ParseState & | state, |
U64 & | outI64 ) |
Definition at line 282 of file ParseNumbers.cpp.
bool WAST::tryParseName | ( | ParseState & | state, |
Name & | outName ) |
Definition at line 252 of file Parse.cpp.
bool WAST::tryParseNameOrIndexRef | ( | ParseState & | state, |
Reference & | outRef ) |
bool WAST::tryParseResultType | ( | ParseState & | state, |
ResultType & | outResultType ) |
bool WAST::tryParseString | ( | ParseState & | state, |
std::string & | outString ) |
Definition at line 448 of file Parse.cpp.
bool WAST::tryParseValueType | ( | ParseState & | state, |
ValueType & | outValueType ) |