#![cfg_attr(
not(test),
deny(clippy::unwrap_used, clippy::expect_used, clippy::panic)
)]
pub mod ast;
pub mod error;
pub mod parser;
pub use ast::{
ActionDef, ActionDefBody, ActionDefBodyElement, ActionUsage, ActionUsageBody,
ActionUsageBodyElement, AliasBody, AliasDef, AllocationDef, AllocationUsage, AnalysisCaseDef,
AnalysisCaseUsage, Annotation, AstNode, AttributeBody, AttributeDef, AttributeUsage, Bind,
CaseDef, CaseUsage, CommentAnnotation, Connect, ConnectBody, ConnectStmt, ConnectionDef,
ConnectionDefBody, ConnectionDefBodyElement, DocComment, EndDecl, Expression, FilterMember,
FilterPackageMember, FirstMergeBody, FirstStmt, Flow, FlowDef, FlowUsage, Identification,
Import, InOut, InOutDecl, InterfaceDef, InterfaceDefBody, InterfaceDefBodyElement,
InterfaceUsage, InterfaceUsageBodyElement, ItemUsage, MergeStmt, NamespaceDecl, Node,
OccurrenceBodyElement, OccurrenceUsage, OccurrenceUsageBody, Package, PackageBody,
PackageBodyElement, ParseErrorNode, PartDef, PartDefBody, PartDefBodyElement, PartUsage,
PartUsageBody, PartUsageBodyElement, Perform, PerformBody, PerformBodyElement,
PerformInOutBinding, PortBody, PortBodyElement, PortDef, PortDefBody, PortDefBodyElement,
PortUsage, RefBody, RefDecl, RequireConstraint, RequireConstraintBody, RequirementDef,
RequirementDefBody, RequirementDefBodyElement, RequirementUsage, RootElement, RootNamespace,
Span, TextualRepresentation, VerificationCaseDef, VerificationCaseUsage, Visibility,
};
pub use error::{DiagnosticCategory, DiagnosticSeverity, ParseError};
pub use parser::{parse_root, parse_with_diagnostics, ParseResult};
#[allow(clippy::result_large_err)]
pub fn parse(input: &str) -> Result<RootNamespace, ParseError> {
parse_root(input)
}
pub fn parse_for_editor(input: &str) -> ParseResult {
parse_with_diagnostics(input)
}