Package avail.descriptor.bundles

Types

Link copied to clipboard
interface A_Bundle : A_BasicObject

A_Bundle is an interface that specifies the operations specific to message bundles that an AvailObject must implement. It's a sub-interface of A_BasicObject, the interface that defines the behavior that all AvailObjects are required to support.

Link copied to clipboard
interface A_BundleTree : A_BasicObject

A_BundleTree is an interface that specifies the operations specific to a message bundle tree that an AvailObject must implement. It's a sub-interface of A_BasicObject, the interface that defines the behavior that all AvailObjects are required to support.

Link copied to clipboard
class MessageBundleDescriptor : Descriptor

A message bundle is how a message name is bound to a method. Besides the message name, which is an A_Atom, the bundle also contains information useful for parsing its invocations. This information includes parsing instructions which, when aggregated with other bundles, forms a message bundle tree. This allows parsing of multiple similar methods in aggregate, avoiding the cost of repeatedly parsing the same constructs (tokens and subexpressions) for different purposes.

Link copied to clipboard
class MessageBundleTreeDescriptor : Descriptor

A message bundle tree is used by the Avail parser. Since the Avail syntax is so flexible, we make up for that simplicity with a complementary complexity in the parsing mechanism. A message bundle tree is used to keep track of how far along the parser has gotten in the parsing of a method invocation. More powerfully, it does this for multiple methods simultaneously, at least up to the point that the method names diverge.