litex/parse/
parse_prove_stmt.rs1use crate::prelude::*;
2
3impl Runtime {
4 pub fn parse_prove_stmt(&mut self, tb: &mut TokenBlock) -> Result<Stmt, RuntimeError> {
5 tb.skip_token(PROVE)?;
6 tb.skip_token(COLON)?;
7 let result = self.run_in_local_parsing_time_name_scope(|this| {
8 let mut proof = Vec::with_capacity(tb.body.len());
9 for block in tb.body.iter_mut() {
10 proof.push(this.parse_stmt(block)?);
11 }
12 Ok(proof)
13 });
14 match result {
15 Ok(proof) => Ok(ProveStmt::new(proof, tb.line_file.clone()).into()),
16 Err(e) => Err(e),
17 }
18 }
19}