t4_idl_parser/
lib.rs

1/// # T4 IDL Parser
2///
3/// A parser for the interface definition language (IDL) specified by Object Management Group (OMG)  written in Rust. This supports IDL version 4.2.
4///
5/// # Example
6///
7/// ```
8/// use t4_idl_parser::parse;
9/// use nom_greedyerror::convert_error;
10///
11/// let input = r#"
12/// // generated from rosidl_adapter/resource/msg.idl.em
13/// // with input from example_msg/bar/Buz.msg
14/// // generated code does not contain a copyright notice
15///
16/// module example_msg {
17///     module msg {
18///         struct Buz {
19///             string c;
20///
21///             @verbatim (language="comment", text="http://wiki.ros.org/std_msgs")
22///             sequence<int32> o;
23///         };
24///     };
25/// };"#;
26///
27/// match parse(input) {
28///     Ok(result) => {
29///         println!("{:?}", result);
30///     }
31///     Err(e) => {
32///         eprintln!("{e}");
33///         panic!();
34///     }
35/// }
36/// ```
37pub(crate) mod character;
38pub mod expr;
39pub(crate) mod parser;
40
41pub use parser::parse;