pub mod analysis;
pub mod ast;
pub mod compiler;
pub mod diagnostic;
pub mod engine;
pub mod formatter;
pub mod lexer;
pub mod parser;
pub mod policy_graph;
pub mod project;
pub mod provenance;
pub mod smtlib;
pub mod snapshot;
pub mod solver;
pub mod source;
pub mod trace;
pub mod value;
pub use analysis::{AnalysisOptions, AnalysisReport, Counterexample, analyze, analyze_with_solver};
pub use compiler::{CompileOutput, CompiledProgram, compile};
pub use diagnostic::{Diagnostic, Severity};
pub use engine::{
DecisionResult, DecisionStatus, Evaluation, ExplainFormat, FragmentEvidence, Input,
TEST_REPORT_SCHEMA_VERSION, TestAssertion, TestOutcome, TestReport, TestStatus, evaluate,
evaluate_query_with_provenance, evaluate_with_provenance, render_basis_text, run_tests,
};
pub use formatter::format_source;
pub use lexer::canonical_identifier;
pub use parser::{ParseOutput, parse, parse_numeric_literal};
pub use policy_graph::{
POLICY_GRAPH_DIFF_SCHEMA_VERSION, POLICY_GRAPH_SCHEMA_VERSION, PolicyDecisionReview,
PolicyEdge, PolicyEdgeKind, PolicyFragmentChange, PolicyFragmentChangeKind,
PolicyFragmentMetadata, PolicyFunctionReview, PolicyGraph, PolicyGraphDiff,
PolicyGraphDiffError, PolicyGraphError, PolicyNode, PolicyNodeKind, PolicyNodeSummary,
PolicyRuleReview, build_policy_graph, diff_policy_graphs,
};
pub use project::{
PackageDependency, PackageDependencyGraph, ProjectCompileOutput, ProjectIoError,
compile_project, compile_project_with_dependencies,
compile_project_with_dependencies_and_overrides, compile_project_with_dependency_graph,
compile_project_with_dependency_graph_and_overrides, compile_project_with_overrides,
};
pub use provenance::{
PROVENANCE_SCHEMA_VERSION, ProvenanceEdge, ProvenanceEdgeKind, ProvenanceEvaluation,
ProvenanceGraph, ProvenanceLocation, ProvenanceNode, ProvenanceNodeKind, ProvenanceStatus,
};
pub use smtlib::{
CommandSmtSolver, DEFAULT_EXTERNAL_SOLVER_OUTPUT_LIMIT, DEFAULT_EXTERNAL_SOLVER_TIMEOUT,
EXTERNAL_SMT_ASSESSMENT_SCHEMA_VERSION, ExternalModelAssignment, ExternalModelValue,
ExternalSolverAssessment, ExternalSolverAssessmentStatus, ExternalSolverError,
ExternalSolverModel, ExternalSolverResult, ExternalSolverStatus, ExternalSolverTrust,
SMTLIB_QUERY_SCHEMA_VERSION, SmtLibExportError, SmtLibMetadata, SmtLibQuery, SmtLibSolver,
SmtSourceLocation, SmtSymbol, SmtSymbolEncoding, export_invariant_smtlib,
};
pub use snapshot::{
CaseSnapshot, DECISION_SNAPSHOT_SCHEMA_VERSION, DecisionObservation, DecisionSnapshot,
SNAPSHOT_DIFF_SCHEMA_VERSION, SnapshotBuildError, SnapshotChange, SnapshotDecisionStatus,
SnapshotDiff, capture_decision_snapshot, diff_decision_snapshots,
};
pub use solver::SolverMode;
pub use source::{SourceFile, Span};
pub use trace::{
TraceAnalysis, TraceAttempt, TraceCompleteness, TraceCounterexample, TraceCounterexampleKind,
TraceState, TraceStep, analyze_traces,
};
#[must_use]
pub fn compile_source(source: SourceFile) -> CompileOutput {
let parsed = parse(source);
compile(parsed)
}