esl_compiler/builder/
specification.rs

1//! An Elephant specification.
2
3use crate::builder::def_component::ComponentDefinition;
4use crate::builder::def_relation::RelationDefinition;
5use crate::builder::def_type::TypeDefinition;
6use crate::builder::def_verb::VerbDefinition;
7use crate::map::Map;
8
9/// An Elephant specification.
10#[derive(Clone, Debug, Default, PartialEq)]
11pub struct Specification {
12    /// All component definitions.
13    pub components: Map<String, ComponentDefinition>,
14    /// All relation definitions.
15    pub relations: Map<String, RelationDefinition>,
16    /// All type definitions.
17    pub types: Map<String, TypeDefinition>,
18    /// All verb definitions.
19    pub verbs: Map<String, VerbDefinition>,
20}