microcad_lang/parse/
init_definition.rs

1// Copyright © 2025 The µcad authors <info@ucad.xyz>
2// SPDX-License-Identifier: AGPL-3.0-or-later
3
4use crate::{parse::*, parser::*, syntax::*};
5
6impl Parse for InitDefinition {
7    fn parse(pair: Pair) -> ParseResult<Self> {
8        Parser::ensure_rule(&pair, Rule::init_definition);
9
10        Ok(InitDefinition {
11            doc: crate::find_rule_opt!(pair, doc_block),
12            parameters: crate::find_rule!(pair, parameter_list)?,
13            body: crate::find_rule!(pair, body)?,
14            src_ref: pair.into(),
15        })
16    }
17}