▼Nfabrique | |
►Nast | Representation of the Abstract Syntax Tree for Fabrique source code |
CAction | A build action that can transform inputs into outputs |
CArgument | An argument being passed to an action or function (caller-side) |
CASTDump | Backend that prints the AST as a (not very pretty) tree |
CBinaryOperation | An operation with two operands |
CBoolLiteral | A literal 'true' or 'false' value in code |
CCall | A call to a function or build action |
CCompoundExpression | An expression that can contain intermediate values |
CConditional | A function allows users to create build abstractions |
CDebugTracePoint | An operation with two operands |
►CEvalContext | A context for evaluating AST Expression objects |
CAlternateScoping | An object that represents the use of an alternative scope stack and that will restore the original stack on destruction |
CScope | An object to represent descending in a call stack |
CScopedValueName | An object for declaring the name of the value whose initializer we are currently evaluating |
CExpression | Base class for expressions that can be evaluated |
CFieldAccess | An expression that imports a Fabrique module |
CFieldQuery | An expression that imports a Fabrique module |
CFileList | A list of files, with optional arguments that can be applied to each file |
CFilename | A reference to a file on disk (source or target) |
CForeachExpr | An expression that maps list elements into another list |
CFunction | A function allows users to create build abstractions |
CHasParameters | A mixin type for something that can be called with parameters |
CHasScope | A mixin type for something that has a Scope |
CIdentifier | The name of a value, function, parameter or argument |
CImport | An expression that imports a Fabrique module |
CIntLiteral | An integer value in code |
CList | A list of same-typed expressions |
CLiteral | An expression whose value is literally expressed in the source file |
CMapping | An expression that maps a sequence into a variable (e.g., at the beginning of a foreach loop) |
CNode | Base class for expressions that can be evaluated |
CParameter | A formal parameter in a fabrique::ast::Function |
CParser | Parses Fabrique files as driven by flex/byacc |
CScope | A scope is a container for name->value mappings |
CSomeValue | A value boxed up in a maybe type |
CStringLiteral | A string value enclosed by single or double quotes |
CStructInstantiation | A list of same-typed expressions |
CSymbolReference | A reference to a named symbol |
CUnaryOperation | An operation with two operands |
CValue | Base class for expressions that can be evaluated |
CVisitor | Interface for visitors that walk the AST |
►Nbackend | Backends generate low level build descriptions, e.g., Graphviz Dot or Ninja |
CBackend | Interface for backend classes that convert a DAG to something else (e.g., a Ninja file) |
CDotBackend | A backend that produces GraphViz .dot files |
CMakeBackend | A backend that produces POSIX make files (no BSD or GNU extensions) |
CNinjaBackend | A backend that produces Ninja files |
CNullBackend | A backend that does nothing |
►Ndag | Representations of nodes (files, build rules, etc.) in the build graph |
CBoolean | A boolean (true/false) value |
CBuild | An application of a fabrique::dag::Rule to transform File objects |
CCallable | A mixin type for something that can be called with parameters |
CDAG | A directed acyclic graph of build actions |
►CDAGBuilder | A object that builds DAG nodes in a DAGBuilder::Context |
CContext | An object that can supply a DAGBuilder with names and types |
CFile | A reference to a file on disk (source or target) |
CFormatter | An object that converts DAG nodes into strings |
CFunction | A reference to a user- or plugin-defined function |
CInteger | An integer (of unspecified precision) |
CList | The result of evaluating an expression |
CParameter | The result of evaluating an expression |
CPrimitive | The result of evaluating an expression |
CRule | An action that transforms files into other files |
CString | An ASCII string (for now, we should make this Unicode soon) |
CStructure | A reference to a file on disk (source or target) |
CTarget | A named build target that references a set of files |
CUndefinedValueException | An unexpected duplicate was encountered |
CValue | The result of evaluating an expression |
CVisitor | Interfact for objects that visit DAG nodes and add functionality |
►Nplugin | Code to support loading and using Fabrique plugins |
CLoader | Support for loading plugins from shared libraries |
►CPlugin | A plugin that provides extra functionality to Fabrique build descriptions |
CDescriptor | Static information about a plugin |
CRegistry | A registry for naming Fabrique Plugin objects |
►Nplugins | Plugins that ship with Fabrique |
►CSysctlPlugin | Provides access to the sysctl(3) set of C library functions |
CFactory | |
►CWhich | Finds files (executables or any other kind of files) in the PATH environment variable |
CFactory | |
CArguments | Command-line options and arguments after parsing, type-checking, etc |
CAssertionFailure | Some code may choose to throw this exception rather than assert() out |
CBooleanType | A type that represents an ordered sequence |
CBytestream | A ostream-like class that may support formatting |
CErrorReport | A non-exceptional representation of a problem in source code |
CFileType | A type that represents an ordered sequence |
CFunctionType | A type that represents an ordered sequence |
CHasSource | A mixin type for something that has a location in source code |
CIntegerType | A type that represents an ordered sequence |
CJoin | Joins printable objects into a string, e.g., "a, b, c" or "a b c" |
CLexer | Tokenizes Fabrique source code |
CMaybeType | A type that represents an ordered sequence |
COptionallyTyped | A mixin type for something that may have a Type |
COSError | An error that has an OS-specific description |
CPosixError | An OS error that has an errno or equivalent output |
CPosixSharedLibrary | Platform-agnostic superclass for a shared library |
CPrintable | A thing that can be pretty-printed |
CRawMaybeType | An unparameterised sequence (e.g., maybe ): used to generate parameterised sequences (e.g., maybe[foo] ) |
CRawSequenceType | An unparameterised sequence (e.g., list ): used to generate parameterised sequences (e.g., list[foo] ) |
CSemanticException | A semantic error is present in the Fabrique description |
CSequenceType | A type that represents an ordered sequence |
CSharedLibrary | Platform-agnostic superclass for a shared library |
CSourceCodeException | Base class for exceptions related to invalid source code |
CSourceLocation | A location in the original source code |
CSourceRange | A range of characters in source code |
CStringType | A type that represents an ordered sequence |
CStructureType | The type of a structure, which contains named, typed, immutable fields |
CSyntaxError | A syntactic error is present in the Fabrique description |
CToken | A token obtained from the Lexer |
CType | The name of a value, function, parameter or argument |
CTypeContext | A context object that holds state for a compilation (e.g., type objects) |
CTyped | A mixin type for something that has a Type |
CTypeError | Something is wrong with a fabrique::Type |
CUncopyable | An object that cannot be copy-constructed |
CUserError | An error in user input |
CVisitable | An object that can be visited by a vistor |
CWrongTypeException | Something is wrong with a fabrique::Type |