Permalink
Commits on Jan 24, 2013
Commits on Jan 23, 2013
  1. Implemented extension types (fixes #33).

    jmalloc committed Jan 23, 2013
    An extension type is specified by preceeding a class name with a colon, eg: `:Foo\Bar`. The parser produces an `ExtensionType` instance with the class name set to `Foo\Bar`.
    
    Attributes are supported, and are passed to the `ExtensionType` instance unmodified, eg: `:Foo\Bar { myAttribute: true }`.
    Support for arbitrary attributes required modification of `Parser::parseAttributes()`, the `$supportedAttributes` parameter is now nullable to indicate that there is no restriction on the supported attribute names.
    
    `ExtensionType` exposes two methods:
     * `className()` which returns a ClassName instance; and
     * `attributes()` which returns the attributes array.
  2. Implemented extension types (fixes #33).

    jmalloc committed Jan 23, 2013
    An extension type is specified by preceeding a class name with a colon, eg: `:Foo\Bar`. The parser produces an `ExtensionType` instance with the class name set to `Foo\Bar`.
    
    Attributes are supported, and are passed to the `ExtensionType` instance unmodified, eg: `:Foo\Bar { myAttribute: true }`.
    Support for arbitrary attributes required modification of `Parser::parseAttributes()`, the `$supportedAttributes` parameter is now nullable to indicate that there is no restriction on the supported attribute names.
    
    `ExtensionType` exposes two methods:
     * `className()` which returns a ClassName instance; and
     * `attributes()` which returns the attributes array.
  3. Implemented custom types (fixes #33).

    jmalloc committed Jan 23, 2013
    A custom type is specified by preceeding a class name with a colon, eg: `:Foo\Bar`. The parser produces an `ExtensionType` instance with the class name set to `Foo\Bar`.
    
    Attributes are supported, and are passed to the `ExtensionType` instance unmodified, eg: `:Foo\Bar { myCustomAttribute: true }`.
    Support for arbitrary attributes required modification of `Parser::parseAttributes()`, the `$supportedAttributes` parameter is now nullable to indicate that there is no restriction on the supported attribute names.
    
    `ExtensionType` exposes two methods:
     * `className()` which returns a ClassName instance; and
     * `attributes()` which returns the attributes array.
Commits on Jan 10, 2013
Commits on Jan 7, 2012
Commits on Jan 5, 2012
  1. Implemented 'precedence map' style binary expression parser, with som…

    jmalloc committed Jan 5, 2012
    …e [probably baffling] annotations regarding error handling