retdec
Namespaces | Classes | Typedefs | Functions
retdec::llvmir2hll::semantics Namespace Reference

Implementation of semantics. More...

Namespaces

 gcc_general
 
 libc
 Implementation of LibcSemantics.
 
 win_api
 

Classes

struct  FuncParamPosPairHasher
 A hashing functor for FuncParamPosPair. More...
 

Typedefs

using FuncParamPosPair = std::pair< std::string, unsigned >
 A pair of function name and parameter position. More...
 
using FuncParamNamesMap = std::unordered_map< FuncParamPosPair, std::string, FuncParamPosPairHasher >
 
using ParamSymbolsMap = std::map< unsigned, IntStringMap >
 Mapping of a parameter position into symbolic names of its possible values. More...
 
using FuncParamsMap = std::unordered_map< std::string, ParamSymbolsMap >
 Mapping of a function name into ParamSymbolsMap. More...
 

Functions

std::optional< std::string > getCHeaderFileForFuncFromMap (const std::string &funcName, const StringStringUMap &map)
 Returns the header name for the given function from the given map. More...
 
std::optional< std::string > getNameOfParamFromMap (const std::string &funcName, unsigned paramPos, const FuncParamNamesMap &map)
 Returns the name of the given parameter from the given map. More...
 
std::optional< std::string > getNameOfVarStoringResultFromMap (const std::string &funcName, const StringStringUMap &map)
 Returns the name of a variable storing the result from the given function from the given map. More...
 
std::optional< IntStringMapgetSymbolicNamesForParamFromMap (const std::string &funcName, unsigned paramPos, const FuncParamsMap &map)
 Returns symbolic names for the given parameter from the given map. More...
 

Detailed Description

Implementation of semantics.

Typedef Documentation

◆ FuncParamNamesMap

Mapping of a function name and parameter position into the name of this parameter.

◆ FuncParamPosPair

using retdec::llvmir2hll::semantics::FuncParamPosPair = typedef std::pair<std::string, unsigned>

A pair of function name and parameter position.

◆ FuncParamsMap

using retdec::llvmir2hll::semantics::FuncParamsMap = typedef std::unordered_map<std::string, ParamSymbolsMap>

Mapping of a function name into ParamSymbolsMap.

◆ ParamSymbolsMap

using retdec::llvmir2hll::semantics::ParamSymbolsMap = typedef std::map<unsigned, IntStringMap>

Mapping of a parameter position into symbolic names of its possible values.

Function Documentation

◆ getCHeaderFileForFuncFromMap()

std::optional< std::string > retdec::llvmir2hll::semantics::getCHeaderFileForFuncFromMap ( const std::string &  funcName,
const StringStringUMap map 
)

Returns the header name for the given function from the given map.

◆ getNameOfParamFromMap()

std::optional< std::string > retdec::llvmir2hll::semantics::getNameOfParamFromMap ( const std::string &  funcName,
unsigned  paramPos,
const FuncParamNamesMap map 
)

Returns the name of the given parameter from the given map.

◆ getNameOfVarStoringResultFromMap()

std::optional< std::string > retdec::llvmir2hll::semantics::getNameOfVarStoringResultFromMap ( const std::string &  funcName,
const StringStringUMap map 
)

Returns the name of a variable storing the result from the given function from the given map.

◆ getSymbolicNamesForParamFromMap()

std::optional< IntStringMap > retdec::llvmir2hll::semantics::getSymbolicNamesForParamFromMap ( const std::string &  funcName,
unsigned  paramPos,
const FuncParamsMap map 
)

Returns symbolic names for the given parameter from the given map.