Fabrique

A build language for complex systems

 All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros Pages
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 12345]
 Cfabrique::ast::EvalContext::AlternateScopingAn object that represents the use of an alternative scope stack and that will restore the original stack on destruction
 Cfabrique::ArgumentsCommand-line options and arguments after parsing, type-checking, etc
 Cfabrique::backend::BackendInterface for backend classes that convert a DAG to something else (e.g., a Ninja file)
 Cfabrique::backend::DotBackendA backend that produces GraphViz .dot files
 Cfabrique::backend::MakeBackendA backend that produces POSIX make files (no BSD or GNU extensions)
 Cfabrique::backend::NinjaBackendA backend that produces Ninja files
 Cfabrique::backend::NullBackendA backend that does nothing
 Cfabrique::BytestreamA ostream-like class that may support formatting
 Cfabrique::dag::CallableA mixin type for something that can be called with parameters
 Cfabrique::dag::FunctionA reference to a user- or plugin-defined function
 Cfabrique::dag::RuleAn action that transforms files into other files
 Cfabrique::dag::DAGBuilder::ContextAn object that can supply a DAGBuilder with names and types
 Cfabrique::ast::EvalContextA context for evaluating AST Expression objects
 Cfabrique::dag::DAGBuilderA object that builds DAG nodes in a DAGBuilder::Context
 CDescriptor
 Cfabrique::plugins::SysctlPlugin::Factory
 Cfabrique::plugins::Which::Factory
 Cfabrique::plugin::Plugin::DescriptorStatic information about a plugin
 Cstd::exceptionSTL class
 Cfabrique::AssertionFailureSome code may choose to throw this exception rather than assert() out
 Cfabrique::OSErrorAn error that has an OS-specific description
 Cfabrique::SourceCodeExceptionBase class for exceptions related to invalid source code
 Cfabrique::UserErrorAn error in user input
 Cfabrique::ast::HasParametersA mixin type for something that can be called with parameters
 Cfabrique::ast::ActionA build action that can transform inputs into outputs
 Cfabrique::ast::FunctionA function allows users to create build abstractions
 Cfabrique::ast::HasScopeA mixin type for something that has a Scope
 Cfabrique::ast::ImportAn expression that imports a Fabrique module
 Cfabrique::ast::StructInstantiationA list of same-typed expressions
 Cfabrique::HasSourceA mixin type for something that has a location in source code
 Cfabrique::ast::NodeBase class for expressions that can be evaluated
 Cfabrique::dag::ParameterThe result of evaluating an expression
 Cfabrique::dag::ValueThe result of evaluating an expression
 Cfabrique::ErrorReportA non-exceptional representation of a problem in source code
 Cfabrique::SourceCodeExceptionBase class for exceptions related to invalid source code
 Cfabrique::TokenA token obtained from the Lexer
 Cfabrique::plugin::LoaderSupport for loading plugins from shared libraries
 Cfabrique::OptionallyTypedA mixin type for something that may have a Type
 Cfabrique::ast::IdentifierThe name of a value, function, parameter or argument
 Cfabrique::ast::ParserParses Fabrique files as driven by flex/byacc
 Cfabrique::PrintableA thing that can be pretty-printed
 Cfabrique::ast::NodeBase class for expressions that can be evaluated
 Cfabrique::ast::ScopeA scope is a container for name->value mappings
 Cfabrique::dag::DAGA directed acyclic graph of build actions
 Cfabrique::dag::ParameterThe result of evaluating an expression
 Cfabrique::dag::ValueThe result of evaluating an expression
 Cfabrique::ErrorReportA non-exceptional representation of a problem in source code
 Cfabrique::Join< T >Joins printable objects into a string, e.g., "a, b, c" or "a b c"
 Cfabrique::OSErrorAn error that has an OS-specific description
 Cfabrique::SourceCodeExceptionBase class for exceptions related to invalid source code
 Cfabrique::SourceLocationA location in the original source code
 Cfabrique::SourceRangeA range of characters in source code
 Cfabrique::TokenA token obtained from the Lexer
 Cfabrique::TypeThe name of a value, function, parameter or argument
 Cfabrique::UserErrorAn error in user input
 Cfabrique::plugin::RegistryA registry for naming Fabrique Plugin objects
 Cfabrique::ast::EvalContext::ScopeAn object to represent descending in a call stack
 Cfabrique::ast::EvalContext::ScopedValueNameAn object for declaring the name of the value whose initializer we are currently evaluating
 Cfabrique::SharedLibraryPlatform-agnostic superclass for a shared library
 Cfabrique::PosixSharedLibraryPlatform-agnostic superclass for a shared library
 Cfabrique::TypeContextA context object that holds state for a compilation (e.g., type objects)
 Cfabrique::TypedA mixin type for something that has a Type
 Cfabrique::ast::ExpressionBase class for expressions that can be evaluated
 Cfabrique::ast::ParameterA formal parameter in a fabrique::ast::Function
 Cfabrique::dag::ParameterThe result of evaluating an expression
 Cfabrique::dag::ValueThe result of evaluating an expression
 Cfabrique::plugin::PluginA plugin that provides extra functionality to Fabrique build descriptions
 Cfabrique::UncopyableAn object that cannot be copy-constructed
 Cfabrique::ast::NodeBase class for expressions that can be evaluated
 Cfabrique::ast::ScopeA scope is a container for name->value mappings
 Cfabrique::dag::ParameterThe result of evaluating an expression
 Cfabrique::dag::ValueThe result of evaluating an expression
 Cfabrique::TypeThe name of a value, function, parameter or argument
 Cfabrique::Visitable< Visitor >An object that can be visited by a vistor
 Cfabrique::ast::NodeBase class for expressions that can be evaluated
 Cfabrique::dag::VisitorInterfact for objects that visit DAG nodes and add functionality
 Cfabrique::dag::FormatterAn object that converts DAG nodes into strings
 Cfabrique::ast::VisitorInterface for visitors that walk the AST
 Cfabrique::ast::ASTDumpBackend that prints the AST as a (not very pretty) tree
 CyyFlexLexer
 Cfabrique::LexerTokenizes Fabrique source code