mini-llvm 0.1.0
Loading...
Searching...
No Matches
mini_llvm::ir::Parser Class Reference

#include <Parser.h>

Public Member Functions

 Parser (std::vector< Token >::const_iterator current)
 ~Parser ()
 Parser (Parser &&) noexcept
Parseroperator= (Parser &&) noexcept
Module parseModule ()
std::shared_ptr< GlobalVarparseGlobalVarHeader (bool &isDeclaration)
void parseGlobalVarInitializer (GlobalVar &G)
std::shared_ptr< FunctionparseFunctionHeader (bool &isDeclaration)
void parseFunctionBody (Function &F)
void parseBasicBlock (BasicBlock &B)
std::shared_ptr< InstructionparseInstruction ()
std::shared_ptr< ValueparseValue (const Type &type)
std::shared_ptr< ValueparseIdentifier (const Type &type)
std::shared_ptr< ConstantparseConstant (const Type &type)
std::unique_ptr< TypeparseType ()
Symbol parseSymbol (std::optional< Symbol::Scope > scope=std::nullopt)

Constructor & Destructor Documentation

◆ Parser() [1/2]

mini_llvm::ir::Parser::Parser ( std::vector< Token >::const_iterator current)
explicit

◆ ~Parser()

mini_llvm::ir::Parser::~Parser ( )

◆ Parser() [2/2]

mini_llvm::ir::Parser::Parser ( Parser && )
noexcept

Member Function Documentation

◆ operator=()

Parser & mini_llvm::ir::Parser::operator= ( Parser && )
noexcept

◆ parseBasicBlock()

void mini_llvm::ir::Parser::parseBasicBlock ( BasicBlock & B)

◆ parseConstant()

std::shared_ptr< Constant > mini_llvm::ir::Parser::parseConstant ( const Type & type)

◆ parseFunctionBody()

void mini_llvm::ir::Parser::parseFunctionBody ( Function & F)

◆ parseFunctionHeader()

std::shared_ptr< Function > mini_llvm::ir::Parser::parseFunctionHeader ( bool & isDeclaration)

◆ parseGlobalVarHeader()

std::shared_ptr< GlobalVar > mini_llvm::ir::Parser::parseGlobalVarHeader ( bool & isDeclaration)

◆ parseGlobalVarInitializer()

void mini_llvm::ir::Parser::parseGlobalVarInitializer ( GlobalVar & G)

◆ parseIdentifier()

std::shared_ptr< Value > mini_llvm::ir::Parser::parseIdentifier ( const Type & type)

◆ parseInstruction()

std::shared_ptr< Instruction > mini_llvm::ir::Parser::parseInstruction ( )

◆ parseModule()

Module mini_llvm::ir::Parser::parseModule ( )

◆ parseSymbol()

Symbol mini_llvm::ir::Parser::parseSymbol ( std::optional< Symbol::Scope > scope = std::nullopt)

◆ parseType()

std::unique_ptr< Type > mini_llvm::ir::Parser::parseType ( )

◆ parseValue()

std::shared_ptr< Value > mini_llvm::ir::Parser::parseValue ( const Type & type)

The documentation for this class was generated from the following file: