unlogic
|
Classes | |
struct | AdditionNode |
struct | BinaryNode |
struct | CallNode |
class | Camera |
struct | Color |
class | Compiler |
struct | DebugPrinter |
struct | DivisionNode |
struct | Error |
struct | FunctionDefinitionNode |
struct | IRGenerationContext |
struct | IRGenerator |
struct | Library |
struct | LibrarySymbol |
struct | Literal |
struct | MultiplicationNode |
struct | NumericLiteralNode |
struct | overload |
class | Plot2d |
struct | PlotCommandNode |
struct | PotentiationNode |
class | Program |
struct | ProgramEntryNode |
class | Rect |
struct | Scene |
class | Scope |
struct | ScopedBlockNode |
class | Shape |
struct | StringLiteralNode |
struct | SubtractionNode |
struct | VariableNode |
struct | Vertex |
Typedefs | |
using | CompilationError = std::variant< Error, bf::Error, llvm::Error > |
using | Plot2dFunctionType = double(*)(double) |
using | Node = std::variant< std::monostate, struct NumericLiteralNode, struct StringLiteralNode, struct VariableNode, struct CallNode, struct AdditionNode, struct SubtractionNode, struct MultiplicationNode, struct DivisionNode, struct PotentiationNode, struct FunctionDefinitionNode, struct PlotCommandNode, struct ScopedBlockNode, struct ProgramEntryNode > |
using | UniqueNode = std::unique_ptr< Node > |
using | ParserValueType = std::variant< double, std::string, std::vector< std::string >, UniqueNode, std::vector< UniqueNode > > |
using | ParserGrammarType = bf::GrammarDefinition< ParserValueType, SyntaxHighlightingGroup > |
Enumerations | |
enum | SyntaxHighlightingGroup { SyntaxOperator , SyntaxKeyword , SyntaxIdentifier , SyntaxLiteral , SyntaxGrouper } |
Functions | |
template<typename T , typename ... Args> | |
UniqueNode | unique_node (Args &&... args) |
std::string | load_file (std::filesystem::path const &path) |
template<class... Ts> | |
overload (Ts...) -> overload< Ts... > | |
Variables | |
Library | runtime |
Library | stdlib |
bf::NonTerminal< ParserGrammarType > & | unlogic_program = program |
template<class... > | |
constexpr bool | always_false_v = false |
using unlogic::CompilationError = typedef std::variant<Error, bf::Error, llvm::Error> |
Definition at line 34 of file Compiler.h.
using unlogic::ParserGrammarType = typedef bf::GrammarDefinition<ParserValueType, SyntaxHighlightingGroup> |
using unlogic::ParserValueType = typedef std::variant<double, std::string, std::vector<std::string>, UniqueNode, std::vector<UniqueNode> > |
std::string unlogic::load_file | ( | std::filesystem::path const & | path | ) |
unlogic::overload | ( | Ts... | ) | -> overload< Ts... > |
UniqueNode unlogic::unique_node | ( | Args &&... | args | ) |
Definition at line 16 of file overload.h.
|
extern |
|
extern |
Definition at line 200 of file Parser.cpp.