Class Summary | |
trait
|
AbstractSyntax
extends AnyRef
This component provides the core abstractions for representing an Abstract Syntax Tree
|
trait
|
Binders
extends AbstractSyntax with Mappable
This component provides functionality for enforcing variable binding during parse-time. When parsing simple languages, like Featherweight Scala, these parser combinators will fully enforce the binding discipline. When names are allowed to be left unqualified, these mechanisms would have to be complemented by an extra phase that resolves names that couldn't be resolved using the naive binding rules. (Maybe some machinery to model `implicit' binders (e.g., `this' and imported qualifiers) and selection on a binder will suffice?) |
trait
|
Mappable
extends AnyRef
This trait provides the core Scrap-Your-Boilerplate abstractions as well as implementations for common datatypes. Based on Ralph Laemmel's SYB papers. |