1#![cfg_attr(
5 not(test),
6 deny(clippy::unwrap_used, clippy::expect_used, clippy::panic)
7)]
8
9pub mod ast;
10pub mod error;
11pub mod parser;
12
13pub use ast::{
14 ActionDef, ActionDefBody, ActionDefBodyElement, ActionUsage, ActionUsageBody,
15 ActionUsageBodyElement, AliasBody, AliasDef, AllocationDef, AllocationUsage, AnalysisCaseDef,
16 AnalysisCaseUsage, AstNode, AttributeBody, AttributeDef, AttributeUsage, Bind, CaseDef,
17 CaseUsage, CommentAnnotation, Connect, ConnectBody, ConnectStmt, DocComment, EndDecl,
18 Expression, FilterMember, FilterPackageMember, FirstMergeBody, FirstStmt, Flow, FlowDef,
19 FlowUsage, Identification, Import, InOut, InOutDecl, InterfaceDef, InterfaceDefBody,
20 InterfaceDefBodyElement, InterfaceUsage, InterfaceUsageBodyElement, MergeStmt, NamespaceDecl,
21 Node, OccurrenceUsage, Package, PackageBody, PackageBodyElement, ParseErrorNode, PartDef,
22 PartDefBody, PartDefBodyElement, PartUsage, PartUsageBody, PartUsageBodyElement, Perform,
23 PerformBody, PerformBodyElement, PerformInOutBinding, PortBody, PortDef, PortDefBody,
24 PortDefBodyElement, PortUsage, RefBody, RefDecl, RequireConstraint, RequireConstraintBody,
25 RequirementDef, RequirementDefBody, RequirementDefBodyElement, RequirementUsage, RootElement,
26 RootNamespace, Span, TextualRepresentation, VerificationCaseDef, VerificationCaseUsage,
27 Visibility,
28};
29pub use error::{DiagnosticSeverity, ParseError};
30pub use parser::{parse_root, parse_with_diagnostics, ParseResult};
31
32#[allow(clippy::result_large_err)]
36pub fn parse(input: &str) -> Result<RootNamespace, ParseError> {
37 parse_root(input)
38}
39
40pub fn parse_for_editor(input: &str) -> ParseResult {
45 parse_with_diagnostics(input)
46}