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());