diff --git a/src/ast.rs b/src/ast.rs index 4dbdc26..d366464 100644 --- a/src/ast.rs +++ b/src/ast.rs @@ -4,32 +4,18 @@ mod expr; mod field; mod func_def; mod lit; +mod program; mod table_constr; mod table_destr; mod var; -use crate::span::{HasSpan, Span}; - pub use self::basic::*; pub use self::call::*; pub use self::expr::*; pub use self::field::*; pub use self::func_def::*; pub use self::lit::*; +pub use self::program::*; pub use self::table_constr::*; pub use self::table_destr::*; pub use self::var::*; - -#[derive(Debug, Clone)] -pub struct Program { - pub elems: Vec<(Space, TableLitElem, Space)>, - /// `Some` if there is a trailing comma, `None` otherwise. - pub trailing_comma: Option, - pub span: Span, -} - -impl HasSpan for Program { - fn span(&self) -> Span { - self.span - } -} diff --git a/src/ast/program.rs b/src/ast/program.rs new file mode 100644 index 0000000..8573ec1 --- /dev/null +++ b/src/ast/program.rs @@ -0,0 +1,17 @@ +use crate::span::{HasSpan, Span}; + +use super::{Space, TableLitElem}; + +#[derive(Debug, Clone)] +pub struct Program { + pub elems: Vec<(Space, TableLitElem, Space)>, + /// `Some` if there is a trailing comma, `None` otherwise. + pub trailing_comma: Option, + pub span: Span, +} + +impl HasSpan for Program { + fn span(&self) -> Span { + self.span + } +}