Actually just three programming languages in a trenchcoat
at string-repr-callable 203 lines 6.3 kB view raw
1//! The various AST nodes of a parsed Trilogy program. 2 3mod amble; 4mod application; 5mod array_comprehension; 6mod array_literal; 7mod array_pattern; 8mod assert_statement; 9mod assignment_statement; 10mod atom_literal; 11mod become_expression; 12mod binary_operation; 13mod binding_pattern; 14mod bits_literal; 15mod block; 16mod boolean_literal; 17mod boolean_query; 18mod break_expression; 19mod call_expression; 20mod cancel_expression; 21mod character_literal; 22mod constant_definition; 23mod continue_expression; 24mod defer_statement; 25mod definition; 26mod direct_unification; 27mod do_expression; 28mod document; 29mod documentation; 30mod element_unification; 31mod else_handler; 32mod end_expression; 33mod exit_expression; 34mod export_definition; 35mod expression; 36mod external_procedure_definition; 37mod fn_expression; 38mod for_statement; 39mod function_assignment; 40mod function_definition; 41mod function_head; 42mod glue_pattern; 43mod handled_expression; 44mod handler; 45mod handler_strategy; 46mod identifier; 47mod if_else_expression; 48mod import_definition; 49mod is_expression; 50mod keyword_reference; 51mod let_expression; 52mod let_statement; 53mod lookup; 54mod match_expression; 55mod module_access; 56mod mut_modifier; 57mod negative_pattern; 58mod not_query; 59mod number_literal; 60mod parenthesized_expression; 61mod parenthesized_pattern; 62mod parenthesized_query; 63mod pattern; 64mod pattern_conjunction; 65mod pattern_disjunction; 66mod pinned_pattern; 67mod procedure_definition; 68mod procedure_head; 69mod punctuated; 70mod query; 71mod query_alternative; 72mod query_conjunction; 73mod query_disjunction; 74mod query_implication; 75mod qy_expression; 76mod record_comprehension; 77mod record_literal; 78mod record_pattern; 79mod rest_pattern; 80mod resume_expression; 81mod return_expression; 82mod rule_definition; 83mod rule_head; 84mod set_comprehension; 85mod set_literal; 86mod set_pattern; 87mod statement; 88mod string_literal; 89mod struct_literal; 90mod struct_pattern; 91mod syntax_error; 92mod template; 93mod test_definition; 94mod tuple_pattern; 95mod type_definition; 96mod type_head; 97mod type_use; 98mod typeof_pattern; 99mod unary_operation; 100mod unit_literal; 101mod when_handler; 102mod while_statement; 103 104pub(crate) use amble::Amble; 105pub use application::Application; 106pub use array_comprehension::ArrayComprehension; 107pub use array_literal::{ArrayElement, ArrayLiteral}; 108pub use array_pattern::ArrayPattern; 109pub use assert_statement::{AssertMessage, AssertStatement}; 110pub use assignment_statement::{AssignmentStatement, AssignmentStrategy}; 111pub use atom_literal::AtomLiteral; 112pub use become_expression::BecomeExpression; 113pub use binary_operation::{BinaryOperation, BinaryOperator}; 114pub use binding_pattern::BindingPattern; 115pub use bits_literal::BitsLiteral; 116pub use block::Block; 117pub use boolean_literal::BooleanLiteral; 118pub use boolean_query::BooleanQuery; 119pub use break_expression::BreakExpression; 120pub use call_expression::CallExpression; 121pub use cancel_expression::CancelExpression; 122pub use character_literal::CharacterLiteral; 123pub use constant_definition::ConstantDefinition; 124pub use continue_expression::ContinueExpression; 125pub use defer_statement::DeferStatement; 126pub use definition::{Definition, DefinitionItem}; 127pub use direct_unification::DirectUnification; 128pub use do_expression::{DoBody, DoExpression}; 129pub use document::Document; 130pub use documentation::Documentation; 131pub use element_unification::ElementUnification; 132pub use else_handler::ElseHandler; 133pub use end_expression::EndExpression; 134pub use exit_expression::ExitExpression; 135pub use export_definition::ExportDefinition; 136pub use expression::Expression; 137pub use external_procedure_definition::ExternalProcedureDefinition; 138pub use fn_expression::FnExpression; 139pub use for_statement::ForStatement; 140pub use function_assignment::FunctionAssignment; 141pub use function_definition::FunctionDefinition; 142pub use function_head::FunctionHead; 143pub use glue_pattern::GluePattern; 144pub use handled_expression::HandledExpression; 145pub use handler::Handler; 146pub use handler_strategy::HandlerStrategy; 147pub use identifier::Identifier; 148pub use if_else_expression::{ElseBody, ElseClause, IfBody, IfElseExpression}; 149pub use import_definition::ImportDefinition; 150pub use is_expression::IsExpression; 151pub use keyword_reference::{Keyword, KeywordReference}; 152pub use let_expression::LetExpression; 153pub use let_statement::LetStatement; 154pub use lookup::Lookup; 155pub use match_expression::{MatchExpression, MatchExpressionCase, MatchExpressionCaseBody}; 156pub use module_access::ModuleAccess; 157pub use mut_modifier::MutModifier; 158pub use negative_pattern::NegativePattern; 159pub use not_query::NotQuery; 160pub use number_literal::NumberLiteral; 161pub use parenthesized_expression::ParenthesizedExpression; 162pub use parenthesized_pattern::ParenthesizedPattern; 163pub use parenthesized_query::ParenthesizedQuery; 164pub use pattern::Pattern; 165pub use pattern_conjunction::PatternConjunction; 166pub use pattern_disjunction::PatternDisjunction; 167pub use pinned_pattern::PinnedPattern; 168pub use procedure_definition::ProcedureDefinition; 169pub use procedure_head::ProcedureHead; 170pub use punctuated::Punctuated; 171pub use query::Query; 172pub use query_alternative::QueryAlternative; 173pub use query_conjunction::QueryConjunction; 174pub use query_disjunction::QueryDisjunction; 175pub use query_implication::QueryImplication; 176pub use qy_expression::QyExpression; 177pub use record_comprehension::RecordComprehension; 178pub use record_literal::{RecordElement, RecordLiteral}; 179pub use record_pattern::RecordPattern; 180pub use rest_pattern::RestPattern; 181pub use resume_expression::ResumeExpression; 182pub use return_expression::ReturnExpression; 183pub use rule_definition::RuleDefinition; 184pub use rule_head::RuleHead; 185pub use set_comprehension::SetComprehension; 186pub use set_literal::{SetElement, SetLiteral}; 187pub use set_pattern::SetPattern; 188pub use statement::Statement; 189pub use string_literal::StringLiteral; 190pub use struct_literal::StructLiteral; 191pub use struct_pattern::StructPattern; 192pub use syntax_error::{ErrorKind, SyntaxError, SyntaxResult}; 193pub use template::{Template, TemplateSegment}; 194pub use test_definition::TestDefinition; 195pub use tuple_pattern::TuplePattern; 196pub use type_definition::TypeDefinition; 197pub use type_head::TypeHead; 198pub use type_use::TypeUse; 199pub use typeof_pattern::TypeofPattern; 200pub use unary_operation::{UnaryOperation, UnaryOperator}; 201pub use unit_literal::UnitLiteral; 202pub use when_handler::WhenHandler; 203pub use while_statement::WhileStatement;