SPeCS Packages Documentation
    Preparing search index...

    Module @specs-feup/coral

    CORAL

    • Node (v18)
    • npm
    • Java (JDK 17)
    • Gradle (7)
    • Git
    1. Create a new folder with a package.json file
    {
    "name": "coralws",
    "type": "module",
    "workspaces": [
    "lara-framework/Lara-JS",
    "clava/Clava-JS",
    "lara-flow",
    "clava-flow",
    "coral"
    ]
    }
    1. Run
    git clone https://github.com/specs-feup/specs-java-libs
    git clone https://github.com/specs-feup/lara-framework.git
    git clone https://github.com/specs-feup/clava.git
    git clone https://github.com/specs-feup/lara-flow.git
    git clone https://github.com/specs-feup/clava-flow.git
    git clone https://github.com/specs-feup/coral.git
    npm i
    npm run build -w lara-framework/Lara-JS
    npm run build -w clava/Clava-JS
    npm run build -w lara-flow
    npm run build -w clava-flow
    npm run build -w coral
    npm i
    gradle installDist -p clava/ClavaWeaver
    node lara-framework/Lara-JS/scripts/copy-folder.js -i ./clava/ClavaWeaver/build/install -o ./clava/Clava-JS/java-binaries

    To execute the internal unit tests:

    npm run test -w coral
    

    To run a codebase in our sandbox, first put your codebase (for example a single main.c file) in coral/in/sandbox and then run:

    npm run sandbox -w coral
    

    Modules

    benchmarks
    Coral
    error/borrow/DanglingReferenceError
    error/borrow/MissingLifetimeBoundError
    error/borrow/MutableBorrowWhileBorrowedError
    error/borrow/MutateWhileBorrowedError
    error/borrow/UseWhileMutBorrowedError
    error/CoralError
    error/drop/DropInconsistentStructError
    error/drop/MergeInconsistentStructError
    error/drop/WriteFieldOfPotentiallyDroppedTypeError
    error/ErrorMessageBuilder
    error/move/MoveBehindReferenceError
    error/move/MoveWhileBorrowedError
    error/move/UseBeforeInitError
    error/move/UseWhileMovedError
    error/pragma/IncompatibleSemanticsPragmasError
    error/pragma/MultipleDropPragmasError
    error/pragma/parse/DropPragmaParseError
    error/pragma/parse/LifetimePragmaParseError
    error/pragma/parse/PragmaParseError
    error/struct/IncompatibleStructDeclsError
    error/struct/InvalidDropFunctionError
    error/struct/LifetimeExpectedError
    error/struct/LifetimeReassignmentError
    error/struct/StructCannotBeCopyError
    error/struct/UnexpectedLifetimeAssignmentError
    graph/CoralCfgNode
    graph/CoralFunctionNode
    graph/CoralFunctionWiseTransformation
    graph/CoralGraph
    graph/CoralTransformation
    graph/dot/CoralDotFormatter
    graph/DropNode
    instrumentation/Instrumentation
    instrumentation/Logger
    instrumentation/Units
    mir/action/Access
    mir/action/FunctionCall
    mir/action/Loan
    mir/path/Path
    mir/path/PathDeref
    mir/path/PathMemberAccess
    mir/path/PathVarRef
    mir/symbol/Def
    mir/symbol/Fn
    mir/symbol/Region
    mir/symbol/region/meta/MetaRegion
    mir/symbol/region/meta/MetaRegionBound
    mir/symbol/region/RegionBound
    mir/symbol/region/RegionConstraint
    mir/symbol/Ty
    mir/symbol/ty/BuiltinTy
    mir/symbol/ty/meta/LifetimeAssignmentBuilder
    mir/symbol/ty/meta/MetaRefTy
    mir/symbol/ty/meta/MetaStructTy
    mir/symbol/ty/meta/MetaTy
    mir/symbol/ty/meta/MetaTyParser
    mir/symbol/ty/RefTy
    mir/symbol/ty/StructTy
    pipeline/analyze/annotate/ControlFlowAnnotator
    pipeline/analyze/annotate/CoralAnnotator
    pipeline/analyze/annotate/SignatureAnnotator
    pipeline/analyze/construct/AddFakeUnwind
    pipeline/analyze/construct/CfgGenerator
    pipeline/analyze/construct/RemoveDeadCode
    pipeline/analyze/construct/RemoveImpossibleEdges
    pipeline/analyze/move/AddDrops
    pipeline/analyze/move/MoveAnalyser
    pipeline/analyze/regionck/ConstraintGenerator
    pipeline/analyze/regionck/CustomLivenessComputation
    pipeline/analyze/regionck/InferRegionBounds
    pipeline/analyze/regionck/InScopeLoansComputation
    pipeline/analyze/regionck/RegionckErrorReporting
    pipeline/analyze/regionck/RegionckPipeline
    pipeline/analyze/regionck/UniversalRegionsErrorReporting
    pipeline/CoralAnalyzer
    pipeline/CoralCodeGenerator
    pipeline/CoralNormalizer
    pipeline/generate/AddLifetimePragmas
    pipeline/generate/DropElaboration
    pipeline/normalize/AddAssignmentsToCallsAndBorrows
    pipeline/normalize/ConvertForLoopToWhile
    pipeline/normalize/SimplifyAssignments
    pipeline/normalize/SplitExpressions
    pipeline/normalize/SplitVarDecls
    pragma/CoralPragma
    pragma/lifetime/LifetimeAssignmentPragma
    pragma/lifetime/LifetimeBoundPragma
    pragma/lifetime/path/LfPath
    pragma/lifetime/path/LfPathDeref
    pragma/lifetime/path/LfPathMemberAccess
    pragma/lifetime/path/LfPathVarRef
    sandbox
    symbol/DefMap
    symbol/FileSymbolTable
    symbol/FnMap
    symbol/FunctionSymbolTable
    symbol/MoveTable
    symbol/RegionMap
    symbol/TyMap
    test