Kinds
Norg.Kinds
— ModuleTo provide a type-stable parser, we handle types ourselves. This is directly inspired by JuliaSyntax.jl. See here
You can see kinds as an advanced Enum
type that allows some kind of grouping of values. We use Kinds.Kind
to classify the different types of tokens ast nodes.
Norg.Kinds._kind_names
— ConstantAll the defined kind names.
Norg.Kinds.Kind
— TypeKind(name)
K"name"
This is type tag, used to specify the type of tokens and AST nodes.
Norg.Kinds.kind
— Methodkind(x)
Return the Kind
of x
.
Norg.Kinds.@KSet_str
— MacroA set of kinds which can be used with the in
operator. For example k in KSet"+ - *"
Norg.Kinds.@K_str
— MacroK"s"
The kind of a token or AST internal node with string "s". For example
- K">" is the kind of the greater than sign token