1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
// #![feature(trivial_bounds)]
// #![feature(never_type)]
//
// use serde::{Deserialize, Serialize};
//
// use valkyrie_errors::FileSpan;
//
// pub use crate::{
// control_flow::{
// for_loop::ForLoop, match_case::MatchCase, pattern::ValkyriePattern, which_case::WhichCase, while_loop::WhileLoop,
// },
// expression_level::{
// binary::BinaryExpression, decimal::ValkyrieDecimalNode, dict::HeterogeneousDict, identifier::ValkyrieIdentifier,
// integer::ValkyrieIntegerNode, list::HeterogeneousList, string::ValkyrieStringNode, unary::UnaryExpression,
// },
// operators::{
// annotaiton::ValkyrieAnnotation, keywords::ValkyrieKeyword, resolver::ExpressionOrderResolver, OperatorKind,
// UnknownOrder, ValkyrieOperator,
// },
// package_level::{
// class_field::ClassFieldDeclare, class_method::ClassMethodDeclare, classes::ClassDeclare, NamespaceDeclare,
// NamespaceKind,
// },
// };
//
// mod control_flow;
// mod display;
// mod expression_level;
mod operators;
pub use crate::operators::{ValkyrieOperator, ValkyrieOperatorKind};
// mod package_level;
//
// #[derive(Clone, Debug, Serialize, Deserialize)]
// pub struct ValkyrieASTNode {
// pub kind: ValkyrieASTKind,
// pub span: FileSpan,
// }
//
// #[derive(Clone, Serialize, Deserialize)]
// pub enum ValkyrieASTKind {
// Statement(Vec<ValkyrieASTNode>),
// Namespace(Box<NamespaceDeclare>),
// Class(Box<ClassDeclare>),
// For(Box<ForLoop>),
// While(Box<WhileLoop>),
// Match(Box<MatchCase>),
// Which(Box<WhichCase>),
// Binary(Box<BinaryExpression>),
// Unary(Box<UnaryExpression>),
// // ()
// // (1, )
// // (1, 2, 3)
// HList(Box<HeterogeneousList>),
// HDict(Box<HeterogeneousDict>),
// StringInterpolation(Box<ValkyrieStringNode>),
// String(String),
// Namepath(Vec<ValkyrieIdentifier>),
// Integer(Box<ValkyrieIntegerNode>),
// Decimal(Box<ValkyrieDecimalNode>),
// Bytes(Vec<u8>),
// Boolean(bool),
// Null,
// }