daml-syntax
daml-syntax is the shared parsed-source surface for Daml tools in this
workspace. It owns source presentation around daml-parser: diagnostics, line
mapping, UTF-16 offsets, token/trivia access, and parser span conversion.
Public dependencies
daml-parser and text-size are intentional public dependencies: parser AST,
lexer, and layout types plus TextRange/TextSize appear in this crate's public
API. SemVer for daml-syntax includes compatible major versions of those crates
when upgrading.
Quick start
use ;
let source = "module M where\nfoo : Int\nfoo = 1\n";
let file = parse;
assert!;
assert_eq!;
assert_eq!;
For callers that only need lexer, trivia, or laid-out token facts, use the lighter tokenized surface:
use SourceTokens;
let source = "module M where\nfoo : Int\nfoo = 1\n";
let tokens = lex;
assert!;
assert!;
README examples are also compile-tested via cargo test -p daml-syntax --doc.