Function rustpython_parser::parse

source ·
pub fn parse(
    source: &str,
    mode: Mode,
    source_path: &str
) -> Result<Mod, ParseError>
Expand description

Parse the given Python source code using the specified Mode.

This function is the most general function to parse Python code. Based on the Mode supplied, it can be used to parse a single expression, a full Python program or an interactive expression.

§Example

If we want to parse a simple expression, we can use the Mode::Expression mode during parsing:

use rustpython_parser::{Mode, parse};

let expr = parse("1 + 2", Mode::Expression, "<embedded>");
assert!(expr.is_ok());

Alternatively, we can parse a full Python program consisting of multiple lines:

use rustpython_parser::{Mode, parse};

let source = r#"
class Greeter:

  def greet(self):
   print("Hello, world!")
"#;
let program = parse(source, Mode::Module, "<embedded>");
assert!(program.is_ok());