diffsl/
lib.rs

1extern crate pest;
2#[macro_use]
3extern crate pest_derive;
4
5pub mod ast;
6pub mod continuous;
7pub mod discretise;
8#[cfg(feature = "enzyme")]
9pub mod enzyme;
10pub mod execution;
11pub mod parser;
12pub mod utils;
13
14pub use execution::compiler::Compiler;
15#[cfg(feature = "cranelift")]
16pub use execution::cranelift::codegen::{CraneliftJitModule, CraneliftObjectModule};
17#[cfg(feature = "llvm")]
18pub use execution::llvm::codegen::LlvmModule;
19pub use execution::module::{
20    CodegenModule, CodegenModuleCompile, CodegenModuleEmit, CodegenModuleJit, CodegenModuleLink,
21};
22pub use execution::object::ObjectModule;
23
24#[cfg(feature = "inkwell-150")]
25extern crate inkwell_150 as inkwell;
26#[cfg(feature = "inkwell-160")]
27extern crate inkwell_160 as inkwell;
28#[cfg(feature = "inkwell-170")]
29extern crate inkwell_170 as inkwell;
30#[cfg(feature = "inkwell-181")]
31extern crate inkwell_181 as inkwell;
32#[cfg(feature = "inkwell-191")]
33extern crate inkwell_191 as inkwell;
34#[cfg(feature = "inkwell-201")]
35extern crate inkwell_201 as inkwell;
36#[cfg(feature = "inkwell-211")]
37extern crate inkwell_211 as inkwell;
38
39#[cfg(feature = "inkwell-150")]
40extern crate llvm_sys_150 as llvm_sys;
41#[cfg(feature = "inkwell-160")]
42extern crate llvm_sys_160 as llvm_sys;
43#[cfg(feature = "inkwell-170")]
44extern crate llvm_sys_170 as llvm_sys;
45#[cfg(feature = "inkwell-181")]
46extern crate llvm_sys_181 as llvm_sys;
47#[cfg(feature = "inkwell-191")]
48extern crate llvm_sys_191 as llvm_sys;
49#[cfg(feature = "inkwell-201")]
50extern crate llvm_sys_201 as llvm_sys;
51#[cfg(feature = "inkwell-211")]
52extern crate llvm_sys_211 as llvm_sys;