Skip to content

Releases: xp-framework/ast

5.3.0: Yield all tokens as written

26 Sep 22:06
Compare
Choose a tag to compare
  • Fixed named arguments using keywords - @thekid
  • Changed tokens to yield variables including the leading $ sign
    (@thekid)
  • Fixed visitor API for unary prefix (e.g. ++$i) and unary suffix
    (e.g. $i++) operators
    (@thekid)

5.2.0: Named arguments

12 Sep 10:51
Compare
Choose a tag to compare

5.1.0: Comments

09 Sep 19:37
Compare
Choose a tag to compare
  • Merged PR #12: Improve tokenizer performance - @thekid
  • Merged PR #11: Yield comments from tokenizer - @thekid
  • Merged PR #10: Fix PHP 8 native syntax - @thekid

5.0.0: Integrate parser

20 Jul 19:54
Compare
Choose a tag to compare
  • Merged PR #8: Add support for match expression - @thekid
  • Added builtin support for null-safe instance operator ?->, see
    https://wiki.php.net/rfc/nullsafe_operator & xp-framework/compiler#9
    (@thekid)
  • Merged PR #7: PHP8 attributes support - @thekid
  • Integrated throw expressions, see xp-framework/compiler#85 - @thekid
  • Fixed missing support for insteadof trait keyword - @thekid
  • Merged PR #1: Integrate parser
    • Migrate tokenizer, parser and language from xp-framework/compiler
    • Added enclosing type to constants, properties and methods
    • Added lang.ast.Node::is() method to check for node kind
    • Added lang.ast.nodes.TypeDeclaration::declare() in favor of inject.
    • Added new parse tree API
    • Added new visitor API
    • Refactored types API to dedicated package lang.ast.types
    • Added dedicated classes for nullable, literal and value types
      (@thekid)

4.0.0: Drop PHP5

30 Nov 09:35
Compare
Choose a tag to compare

3.0.3: XP10 compatibility

30 Nov 08:31
Compare
Choose a tag to compare

Return statement fix

04 Oct 14:10
Compare
Choose a tag to compare
  • Fixed issue #5: Call to a member function children() on null - @thekid

3.0.1: Children iteration fix

22 Sep 21:32
Compare
Choose a tag to compare
  • Fixed xp-framework/compiler#71: Call to a member function children()
    on array, which occured with if, catch and switch statements
    as well as for array literals.
    (@thekid)

3.0.0: Element -> Node, Code generator

09 Sep 14:36
Compare
Choose a tag to compare
  • Heads up: Changed transformation API - functions must accept a
    reference to the code generation process as their first parameter.
    (@thekid)
  • Heads up: Added kind to UnaryExpression constructor which is
    either prefix or suffix, supporting ++$i as well as $i++.
    (@thekid)
  • Merged PR #4: Add Node class replacing Element and Value - @thekid

2.0.0: Compact AST

06 Sep 11:29
Compare
Choose a tag to compare
  • Merged PR #3: Allow multiple transformations per kind - @thekid
  • Heads up: Removed Symbol and Node classes, which belong to the
    compiler internals now only
    (@thekid)
  • Merged PR #2: Refactor AST. This makes programmatic AST creation far
    easier and improves on memory usage.
    (@thekid)