Smithy IDL syntax for MoonBit: lossless scanner, typed AST, CST, parser and diagnostics
Dependencies
test {
let r = @syntax.parse_idl(
(
#|$version: "2"
#|namespace com.foo
#|
#|string Name
#|
),
name="a.smithy",
)
inspect(r.has_errors(), content="false")
}moon add moonrockz/smithy-syntax| Package | Import path | Holds |
|---|---|---|
| span | moonrockz/smithy-syntax/span | Span, Position, SourceText |
| diagnostic | .../diagnostic | Severity, Label, Diagnostic, codes() |
| scanner | .../scanner | TokenKind, Token, Trivia, Comment, TokenStream, tokenize, unescape, text_block_value |
| ast | .../ast | the typed IDL tree |
| cst | .../cst | IdlCst, StatementCst, StatementKind |
| parser | .../parser | parse, parse_tokens, ParseResult, Version, max_nesting |
| traversal | .../traversal | NodeRef, walk, fold, reduce, reduce_pruned, accept, EventReader, push_events, Tree, TreeCursor, NodePath, kind_table |
| report | .../report | render_terminal, render_plain, render_short |
| root | moonrockz/smithy-syntax | parse_idl, re-exports of every public type |
fn diagnostic_description(code : String) -> String?test {
let r = @syntax.parse_idl(
(
#|$version: "2"
#|namespace com.foo
#|
#|string Name
#|
),
name="a.smithy",
)
inspect(r.has_errors(), content="false")
}Install
Download zipSmithy IDL syntax for MoonBit: lossless scanner, typed AST, CST, parser and diagnostics
Dependencies