systemc-clang 2.0.0
Parsing SystemC constructs
Loading...
Searching...
No Matches
systemc_clang::SystemCConsumer Class Reference

This is the main consumer class that beings the parsing of SystemC. More...

#include <SystemCClang.h>

Inheritance diagram for systemc_clang::SystemCConsumer:
Collaboration diagram for systemc_clang::SystemCConsumer:

Public Member Functions

 SystemCConsumer (clang::CompilerInstance &, std::string top="!none")
 
 SystemCConsumer (clang::ASTUnit *from_ast, std::string top="!none")
 
virtual ~SystemCConsumer ()
 
void processNetlist (FindSCMain *scmain, ModuleDeclarationMatcher *module_declaration_handler)
 
ModelgetSystemCModel ()
 
const std::string & getTopModule () const
 
void setTopModule (const std::string &top_module_decl)
 
clang::ASTContext & getContext () const
 
clang::SourceManager & getSourceManager () const
 
virtual bool fire ()
 
virtual bool preFire ()
 
virtual bool postFire ()
 
virtual void HandleTranslationUnit (clang::ASTContext &context)
 

Public Attributes

llvm::raw_ostream & os_
 

Private Attributes

std::string top_
 
Modelsystemc_model_
 
clang::ASTContext & context_
 
clang::SourceManager & sm_
 

Detailed Description

This is the main consumer class that beings the parsing of SystemC.

This class drives the AST consumer for parsing SystemC constructs. Forward declarations

Definition at line 46 of file SystemCClang.h.

Constructor & Destructor Documentation

◆ SystemCConsumer() [1/2]

SystemCConsumer::SystemCConsumer ( clang::CompilerInstance & ci,
std::string top = "!none" )

Definition at line 209 of file SystemCClang.cpp.

◆ SystemCConsumer() [2/2]

SystemCConsumer::SystemCConsumer ( clang::ASTUnit * from_ast,
std::string top = "!none" )

Definition at line 202 of file SystemCClang.cpp.

◆ ~SystemCConsumer()

SystemCConsumer::~SystemCConsumer ( )
virtual

Definition at line 216 of file SystemCClang.cpp.

Member Function Documentation

◆ fire()

bool SystemCConsumer::fire ( )
virtual

Process the module declaration first.

Process the base classes for the module declaration.

Definition at line 55 of file SystemCClang.cpp.

◆ getContext()

clang::ASTContext & SystemCConsumer::getContext ( ) const

Definition at line 231 of file SystemCClang.cpp.

◆ getSourceManager()

clang::SourceManager & SystemCConsumer::getSourceManager ( ) const

Definition at line 233 of file SystemCClang.cpp.

◆ getSystemCModel()

Model * SystemCConsumer::getSystemCModel ( )

Definition at line 227 of file SystemCClang.cpp.

◆ getTopModule()

const std::string & SystemCConsumer::getTopModule ( ) const

Definition at line 229 of file SystemCClang.cpp.

◆ HandleTranslationUnit()

void SystemCConsumer::HandleTranslationUnit ( clang::ASTContext & context)
virtual

Definition at line 181 of file SystemCClang.cpp.

◆ postFire()

bool SystemCConsumer::postFire ( )
virtual

Reimplemented in SAPlugin, systemc_hdl::HDLMain, and TimeAnalysis.

Definition at line 22 of file SystemCClang.cpp.

◆ preFire()

bool SystemCConsumer::preFire ( )
virtual

Definition at line 20 of file SystemCClang.cpp.

◆ processNetlist()

void SystemCConsumer::processNetlist ( FindSCMain * scmain,
ModuleDeclarationMatcher * module_declaration_handler )

Definition at line 24 of file SystemCClang.cpp.

◆ setTopModule()

void SystemCConsumer::setTopModule ( const std::string & top_module_decl)

Definition at line 223 of file SystemCClang.cpp.

Member Data Documentation

◆ context_

clang::ASTContext& systemc_clang::SystemCConsumer::context_
private

Definition at line 76 of file SystemCClang.h.

◆ os_

llvm::raw_ostream& systemc_clang::SystemCConsumer::os_

Definition at line 50 of file SystemCClang.h.

◆ sm_

clang::SourceManager& systemc_clang::SystemCConsumer::sm_
private

Definition at line 77 of file SystemCClang.h.

◆ systemc_model_

Model* systemc_clang::SystemCConsumer::systemc_model_
private

Definition at line 75 of file SystemCClang.h.

◆ top_

std::string systemc_clang::SystemCConsumer::top_
private

Definition at line 74 of file SystemCClang.h.


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