Files
RustPython/vm/src/lib.rs
2020-01-14 15:37:15 +09:00

93 lines
1.9 KiB
Rust

//! This crate contains most python logic.
//!
//! - Compilation
//! - Bytecode
//! - Import mechanics
//! - Base objects
// for methods like vm.to_str(), not the typical use of 'to' as a method prefix
#![allow(
clippy::wrong_self_convention,
clippy::let_and_return,
clippy::implicit_hasher
)]
#![doc(html_logo_url = "https://raw.githubusercontent.com/RustPython/RustPython/master/logo.png")]
#![doc(html_root_url = "https://docs.rs/rustpython-vm/")]
#[cfg(feature = "flame-it")]
#[macro_use]
extern crate flamer;
#[macro_use]
extern crate bitflags;
#[macro_use]
extern crate lazy_static;
extern crate lexical;
#[macro_use]
extern crate log;
#[macro_use]
extern crate maplit;
// extern crate env_logger;
#[macro_use]
extern crate rustpython_derive;
extern crate self as rustpython_vm;
pub use rustpython_derive::*;
#[doc(hidden)]
pub use rustpython_derive::py_compile_bytecode as _py_compile_bytecode;
#[macro_export]
macro_rules! py_compile_bytecode {
($($arg:tt)*) => {{
#[macro_use]
mod __m {
$crate::_py_compile_bytecode!($($arg)*);
}
__proc_macro_call!()
}};
}
//extern crate eval; use eval::eval::*;
// use py_code_object::{Function, NativeType, PyCodeObject};
// This is above everything else so that the defined macros are available everywhere
#[macro_use]
pub mod macros;
mod builtins;
pub mod cformat;
mod descriptor;
mod dictdatatype;
#[cfg(feature = "rustpython-compiler")]
pub mod eval;
pub mod exceptions;
pub mod format;
mod frame;
mod frozen;
pub mod function;
pub mod import;
pub mod obj;
pub mod py_serde;
mod pyhash;
pub mod pyobject;
pub mod scope;
mod sequence;
pub mod stdlib;
mod sysmodule;
pub mod types;
pub mod util;
mod version;
mod vm;
// pub use self::pyobject::Executor;
pub use self::vm::{InitParameter, PySettings, VirtualMachine};
pub use rustpython_bytecode::*;
#[doc(hidden)]
pub mod __exports {
pub use maplit::hashmap;
}