Yume
Namespaces | Enumerations | Functions | Variables
yumec.cpp File Reference
#include "ast/ast.hpp"
#include "compiler/compiler.hpp"
#include "compiler/vals.hpp"
#include "diagnostic/errors.hpp"
#include "diagnostic/visitor/dot_visitor.hpp"
#include "diagnostic/visitor/print_visitor.hpp"
#include "token.hpp"
#include "util.hpp"
#include <algorithm>
#include <cstdlib>
#include <exception>
#include <filesystem>
#include <fstream>
#include <iterator>
#include <llvm/ADT/StringRef.h>
#include <llvm/IR/Module.h>
#include <llvm/Support/ErrorOr.h>
#include <llvm/Support/MemoryBuffer.h>
#include <llvm/Support/PrettyStackTrace.h>
#include <llvm/Support/Signals.h>
#include <llvm/Support/raw_ostream.h>
#include <memory>
#include <span>
#include <string>
#include <string_view>
#include <utility>
#include <vector>
Include dependency graph for yumec.cpp:

Go to the source code of this file.

Namespaces

namespace  yume
 

Enumerations

enum struct  CompilerFlags {
  None = 0 , NoLink = 1 << 0 , EmitLLVM = 1 << 1 , EmitASM = 1 << 2 ,
  EmitDot = 1 << 3 , EmitUntypedDot = 1 << 4 , DumpAST = 1 << 5 , NoPrelude = 1 << 6
}
 

Functions

auto __ubsan_default_options () -> const char *
 
auto operator| (CompilerFlags a, CompilerFlags b) -> CompilerFlags
 
auto operator|= (CompilerFlags &a, CompilerFlags b) -> CompilerFlags
 
auto operator~ (CompilerFlags a) -> CompilerFlags
 
auto operator& (CompilerFlags a, CompilerFlags b) -> bool
 
auto lib_dir () -> std::string
 
auto compile (const std::optional< std::string > &target_triple, std::vector< std::string > src_file_names, CompilerFlags flags) -> int
 
void emit_version ()
 
auto main (int argc, const char *argv[]) -> int
 

Variables

static constexpr std::string_view yume::VERSION = "???"
 
static constexpr std::string_view yume::GIT_SHORTHASH = "???"
 

Enumeration Type Documentation

◆ CompilerFlags

enum struct CompilerFlags
strong
Enumerator
None 
NoLink 
EmitLLVM 
EmitASM 
EmitDot 
EmitUntypedDot 
DumpAST 
NoPrelude 

Definition at line 43 of file yumec.cpp.

Function Documentation

◆ __ubsan_default_options()

auto __ubsan_default_options ( ) -> const char*

Definition at line 39 of file yumec.cpp.

◆ compile()

auto compile ( const std::optional< std::string > &  target_triple,
std::vector< std::string >  src_file_names,
CompilerFlags  flags 
) -> int

◆ emit_version()

void emit_version ( )

Definition at line 157 of file yumec.cpp.

References yume::GIT_SHORTHASH, lib_dir(), and yume::VERSION.

Referenced by main().

◆ lib_dir()

auto lib_dir ( ) -> std::string

Definition at line 66 of file yumec.cpp.

Referenced by compile(), and emit_version().

◆ main()

auto main ( int  argc,
const char *  argv[] 
) -> int

◆ operator&()

auto operator& ( CompilerFlags  a,
CompilerFlags  b 
) -> bool
inline

Definition at line 62 of file yumec.cpp.

◆ operator|()

auto operator| ( CompilerFlags  a,
CompilerFlags  b 
) -> CompilerFlags
inline

Definition at line 54 of file yumec.cpp.

◆ operator|=()

auto operator|= ( CompilerFlags a,
CompilerFlags  b 
) -> CompilerFlags
inline

Definition at line 58 of file yumec.cpp.

◆ operator~()

auto operator~ ( CompilerFlags  a) -> CompilerFlags
inline

Definition at line 60 of file yumec.cpp.