38 lines
961 B
Rust
38 lines
961 B
Rust
|
//! This crate can be used to parse python sourcecode into a so
|
||
|
//! called AST (abstract syntax tree).
|
||
|
//!
|
||
|
//! The stages involved in this process are lexical analysis and
|
||
|
//! parsing. The lexical analysis splits the sourcecode into
|
||
|
//! tokens, and the parsing transforms those tokens into an AST.
|
||
|
//!
|
||
|
//! For example, one could do this:
|
||
|
//!
|
||
|
//! ```
|
||
|
//! use rustpython_parser::{parser, ast};
|
||
|
//!
|
||
|
//! let python_source = "print('Hello world')";
|
||
|
//! let python_ast = parser::parse_expression(python_source).unwrap();
|
||
|
//!
|
||
|
//! ```
|
||
|
|
||
|
#![doc(html_logo_url = "https://raw.githubusercontent.com/RustPython/RustPython/master/logo.png")]
|
||
|
#![doc(html_root_url = "https://docs.rs/rustpython-parser/")]
|
||
|
|
||
|
#[macro_use]
|
||
|
extern crate log;
|
||
|
use lalrpop_util::lalrpop_mod;
|
||
|
pub use rustpython_ast as ast;
|
||
|
|
||
|
pub mod error;
|
||
|
mod fstring;
|
||
|
mod function;
|
||
|
pub mod lexer;
|
||
|
pub mod mode;
|
||
|
pub mod parser;
|
||
|
lalrpop_mod!(
|
||
|
#[allow(clippy::all)]
|
||
|
#[allow(unused)]
|
||
|
python
|
||
|
);
|
||
|
pub mod token;
|