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
66
67
68
69
70
71
72
73
74
75
76
77
// #![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;
pub use crate::;
pub use ValkyrieOperator;
// 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,
// }