Phasor 2.2.0
Stack VM based Programming Language
Loading...
Searching...
No Matches
Phasor::CppCompiler Class Reference

CLI wrapper for C++ code generation from Phasor source. More...

#include <CppCompiler.hpp>

Collaboration diagram for Phasor::CppCompiler:
[legend]

Classes

struct  Args

Public Member Functions

 CppCompiler (int argc, char *argv[])
int run ()

Private Member Functions

bool parseArguments (int argc, char *argv[])
bool showHelp (const std::string &programName)
bool generateHeader (const std::filesystem::path &sourcePath, const std::filesystem::path &outputPath)
bool generateSource (const std::filesystem::path &sourcePath, const std::filesystem::path &outputPath)
bool compileSource (const std::filesystem::path &sourcePath, const std::filesystem::path &outputPath)
bool linkObject (const std::filesystem::path &objectPath, const std::filesystem::path &outputPath)

Private Attributes

struct Phasor::CppCompiler::Args m_args

Detailed Description

CLI wrapper for C++ code generation from Phasor source.

Compiles Phasor source files to C++ source files that embed bytecode and link against the phasor-runtime DLL.

Definition at line 16 of file CppCompiler.hpp.

Constructor & Destructor Documentation

◆ CppCompiler()

Phasor::CppCompiler::CppCompiler ( int argc,
char * argv[] )

Definition at line 15 of file CppCompiler.cpp.

Here is the call graph for this function:

Member Function Documentation

◆ compileSource()

bool Phasor::CppCompiler::compileSource ( const std::filesystem::path & sourcePath,
const std::filesystem::path & outputPath )
private

Definition at line 399 of file CppCompiler.cpp.

Here is the caller graph for this function:

◆ generateHeader()

bool Phasor::CppCompiler::generateHeader ( const std::filesystem::path & sourcePath,
const std::filesystem::path & outputPath )
private

Definition at line 280 of file CppCompiler.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ generateSource()

bool Phasor::CppCompiler::generateSource ( const std::filesystem::path & sourcePath,
const std::filesystem::path & outputPath )
private

Definition at line 367 of file CppCompiler.cpp.

Here is the caller graph for this function:

◆ linkObject()

bool Phasor::CppCompiler::linkObject ( const std::filesystem::path & objectPath,
const std::filesystem::path & outputPath )
private

Definition at line 441 of file CppCompiler.cpp.

Here is the caller graph for this function:

◆ parseArguments()

bool Phasor::CppCompiler::parseArguments ( int argc,
char * argv[] )
private

Definition at line 135 of file CppCompiler.cpp.

Here is the caller graph for this function:

◆ run()

int Phasor::CppCompiler::run ( )

Definition at line 20 of file CppCompiler.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ showHelp()

bool Phasor::CppCompiler::showHelp ( const std::string & programName)
private

Definition at line 256 of file CppCompiler.cpp.

Here is the caller graph for this function:

Member Data Documentation

◆ m_args

struct Phasor::CppCompiler::Args Phasor::CppCompiler::m_args
private

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