Skip to main content

endf_parser/section/
mod.rs

1use crate::record::cont::Cont;
2use crate::record::dir::Dir;
3use crate::record::head::Head;
4use crate::record::text::Text;
5use crate::record::ParseEndfRecordError;
6
7pub mod mt451;
8
9#[derive(Debug)]
10pub enum ParseEndfSectionError {
11    InvalidRecord {
12        record: String,
13        error: ParseEndfRecordError,
14    },
15    IOError,
16}
17
18fn parse_cont_record(record: &str) -> Result<Cont, ParseEndfSectionError> {
19    Cont::parse(record).map_err(|error| ParseEndfSectionError::InvalidRecord {
20        record: record.to_string(),
21        error,
22    })
23}
24
25fn parse_dir_record(record: &str) -> Result<Dir, ParseEndfSectionError> {
26    Dir::parse(record).map_err(|error| ParseEndfSectionError::InvalidRecord {
27        record: record.to_string(),
28        error,
29    })
30}
31
32fn parse_head_record(record: &str) -> Result<Head, ParseEndfSectionError> {
33    Head::parse(record).map_err(|error| ParseEndfSectionError::InvalidRecord {
34        record: record.to_string(),
35        error,
36    })
37}
38
39// fn parse_list_record(record: &str) -> Result<List, ParseEndfSectionError> {
40//     List::parse(record).map_err(|error| ParseEndfSectionError::InvalidRecord {
41//         record: record.to_string(),
42//         error,
43//     })
44// }
45//
46// fn parse_tab1_record(record: &str) -> Result<Tab1, ParseEndfSectionError> {
47//     Tab1::parse(record).map_err(|error| ParseEndfSectionError::InvalidRecord {
48//         record: record.to_string(),
49//         error,
50//     })
51// }
52
53fn parse_text_record(record: &str) -> Result<Text, ParseEndfSectionError> {
54    Text::parse(record).map_err(|error| ParseEndfSectionError::InvalidRecord {
55        record: record.to_string(),
56        error,
57    })
58}