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}