Expand description
Abstract Syntax Tree definitions for Shape
This module defines the complete AST for the Shape language, supporting all features from the language specification.
Re-exports§
pub use span::Span;pub use span::Spanned;pub use literals::Duration;pub use literals::DurationUnit;pub use literals::InterpolationMode;pub use literals::Literal;pub use operators::BinaryOp;pub use operators::RangeKind;pub use operators::UnaryOp;pub use time::DateTimeExpr;pub use time::NamedTime;pub use time::RelativeTime;pub use time::TimeDirection;pub use time::TimeReference;pub use time::TimeUnit;pub use time::TimeWindow;pub use time::Timeframe;pub use time::TimeframeUnit;pub use data_refs::DataDateTimeRef;pub use data_refs::DataIndex;pub use data_refs::DataRef;pub use docs::DocComment;pub use docs::DocEntry;pub use docs::DocLink;pub use docs::DocTag;pub use docs::DocTagKind;pub use docs::DocTarget;pub use docs::DocTargetKind;pub use docs::ProgramDocs;pub use docs::extend_method_doc_path;pub use docs::impl_method_doc_path;pub use docs::qualify_doc_owner_path;pub use docs::type_annotation_doc_path;pub use docs::type_name_doc_path;pub use type_path::TypePath;pub use types::EnumDef;pub use types::EnumMember;pub use types::EnumMemberKind;pub use types::EnumValue;pub use types::ExtendStatement;pub use types::FunctionParam;pub use types::ImplBlock;pub use types::MethodDef;pub use types::NativeLayoutBinding;pub use types::ObjectTypeField;pub use types::StructField;pub use types::StructTypeDef;pub use types::TraitDef;pub use types::TraitMember;pub use types::TraitMemberSignature;pub use types::TypeAliasDef;pub use types::TypeAnnotation;pub use types::TypeName;pub use types::TypeParam;pub use patterns::DecompositionBinding;pub use patterns::DestructurePattern;pub use patterns::ObjectPatternField;pub use patterns::Pattern;pub use patterns::PatternConstructorFields;pub use patterns::SweepParam;pub use expressions::EnumConstructorPayload;pub use expressions::Expr;pub use expressions::ObjectEntry;pub use expr_helpers::AssignExpr;pub use expr_helpers::AsyncLetExpr;pub use expr_helpers::BlockExpr;pub use expr_helpers::BlockItem;pub use expr_helpers::ComprehensionClause;pub use expr_helpers::ComptimeForExpr;pub use expr_helpers::ForExpr;pub use expr_helpers::FromQueryExpr;pub use expr_helpers::IfExpr;pub use expr_helpers::JoinBranch;pub use expr_helpers::JoinExpr;pub use expr_helpers::JoinKind;pub use expr_helpers::LetExpr;pub use expr_helpers::ListComprehension;pub use expr_helpers::LoopExpr;pub use expr_helpers::MatchArm;pub use expr_helpers::MatchExpr;pub use expr_helpers::OrderBySpec;pub use expr_helpers::QueryClause;pub use expr_helpers::WhileExpr;pub use statements::Block;pub use statements::ForInit;pub use statements::ForLoop;pub use statements::IfStatement;pub use statements::Statement;pub use statements::WhileLoop;pub use functions::Annotation;pub use functions::AnnotationDef;pub use functions::AnnotationHandler;pub use functions::AnnotationHandlerParam;pub use functions::AnnotationHandlerType;pub use functions::AnnotationTargetKind;pub use functions::ForeignFunctionDef;pub use functions::FunctionDef;pub use functions::FunctionParameter;pub use functions::NativeAbiBinding;pub use modules::ExportItem;pub use modules::ExportSpec;pub use modules::ExportStmt;pub use modules::ImportItems;pub use modules::ImportSpec;pub use modules::ImportStmt;pub use modules::ModuleDecl;pub use queries::AlertQuery;pub use queries::BacktestQuery;pub use queries::Cte;pub use queries::Query;pub use queries::QueryModifiers;pub use queries::WithQuery;pub use joins::JoinClause;pub use joins::JoinCondition;pub use joins::JoinSource;pub use joins::JoinType;pub use windows::OrderByClause;pub use windows::SortDirection;pub use windows::WindowBound;pub use windows::WindowExpr;pub use windows::WindowFrame;pub use windows::WindowFrameType;pub use windows::WindowFunction;pub use windows::WindowSpec;pub use streams::StreamConfig;pub use streams::StreamDef;pub use streams::StreamOnError;pub use streams::StreamOnEvent;pub use streams::StreamOnWindow;pub use tests::AssertStatement;pub use tests::ExpectStatement;pub use tests::ExpectationMatcher;pub use tests::ShouldMatcher;pub use tests::ShouldStatement;pub use tests::TestCase;pub use tests::TestDef;pub use tests::TestFixture;pub use tests::TestMatchOptions;pub use tests::TestStatement;pub use data_sources::DataSourceDecl;pub use data_sources::QueryDecl;pub use program::Assignment;pub use program::BuiltinFunctionDecl;pub use program::BuiltinTypeDecl;pub use program::Item;pub use program::OptimizationMetric;pub use program::OptimizeStatement;pub use program::OwnershipModifier;pub use program::Program;pub use program::VarKind;pub use program::VariableDecl;
Modules§
- data_
refs - Data reference types for Shape AST
- data_
sources - Data source and query declaration types for Shape AST
- docs
- expr_
helpers - Helper types for expressions in Shape AST
- expressions
- Core expression types for Shape AST
- functions
- Function definition and parameter types for Shape AST
- joins
- JOIN operation types for Shape AST
- literals
- Literal types for Shape AST
- modules
- Module system types for Shape AST
- operators
- Operator types for Shape AST
- patterns
- Pattern matching and destructuring types for Shape AST
- program
- Program structure types for Shape AST
- queries
- Query types for Shape AST
- span
- Source span tracking for AST nodes
- statements
- Statement types for Shape AST
- streams
- Stream processing types for Shape AST
- tests
- Test framework types for Shape AST
- time
- Time-related types for Shape AST
- type_
path - Module-qualified type path for Shape AST
- types
- Type system definitions for Shape AST
- windows
- Window function types for Shape AST