package
0.0.0-20230226003218-1dd1f65bfa42
Repository: https://github.com/c4-project/c4t.git
Documentation: pkg.go.dev
# Functions
AddFiles adds each file in fs to the recipe.
AddInstructions adds each instruction in ins to the recipe.
CompileAllCToExe adds a set of instructions that compile all C inputs to an executable at path.
CompileExeInst produces a 'compile binary' instruction.
CompileFileToObj adds a set of instructions that compile the named C input to an object file.
CompileObjInst produces a 'compile object' instruction.
New constructs a recipe using the input directory dir and the options os.
OpFromString tries to convert a string into an Op.
Options applies multiple options to a recipe.
PushInputInst produces a 'push input' instruction.
PushInputsInst produces a 'push inputs' instruction.
# Constants
CompileExe pops inputs off the stack, compile them, and output the results to the output binary.
CompileObj pops inputs off the stack, compile them to an object, and push the name of the object onto the stack.
Last is the last operation defined.
Nop is a no-operation.
OutExe means this recipe outputs an executable that should be run with output piped into the observation parser.
OutNothing means this recipe doesn't output anything, and so need not be run.
OutObj means this recipe outputs an object file that should be fed into another recipe.
PopAll is the value to pass to NPops to ask the instruction to pop all applicable files off the stack.
PushInput is a compile instruction that pushes a specific input onto the stack, consuming it.
PushInputs is a compile instruction that pushes all unconsumed inputs (matching the filekind argument, if given).
# Variables
ErrNotTakingInstructions occurs if we try to add instructions to a recipe where they don't make sense.
# Structs
Instruction represents a single instruction in a recipe.
Recipe represents information about a lifted test recipe.