Attribute.Parse
The interface to the abstract parse tree.
The parse tree is a functionally an s-expression.
val atom : tree -> string option
atom tree
is Some atom
if tree is an atom.
tree ~atom:f ~list:g tree
parses tree.
Calls f x
if atom tree
is not None
, otherwise calls g x
.
fail problem tree
reports an ill-formed attribute declaration.
The passed tree
is used to properly report error that references the original source code and its location.
It could be an empty if the problem is somewhat generic and doesn't reference any particular tree or source.