yog-script-analyze 0.2.2

Yog Script (.ys, .yns) analyzed: its lexer, parser and syntax tree, names resolved, the class index model — what the build and the editors read a source with.
Documentation
// System.Meta: what macros are made with (`ys.md` §3, Attributes and macros).
namespace System.Meta;

/// Marks a method as a function-like macro: `Name!(…)` runs it on the
/// call's text (`string Name(string input)`), and the code it gives takes
/// the call's place.
public sealed class ProcMacro : Attribute {}

/// Marks a method as a derive macro: `[Derive(Name)]` on a type runs it on
/// the type (`string Name(Item item)`), and the code it gives is added
/// after the type.
public sealed class DeriveMacro : Attribute {}

/// A declaration as a macro sees it: its name, its word (`class`,
/// `struct`, `record`, `enum`), its fields, its text.
public record Item(string Name, string Kind, List<Field> Fields, string Source);

/// A field of an `Item`: its name and its type as written.
public record Field(string Name, string Type);