tomzx/abstract-parser

An abstract parser written in PHP

v0.1.0 2016-01-24 13:33 UTC

This package is auto-updated.

Last update: 2024-04-10 05:38:20 UTC


README

License Latest Stable Version Latest Unstable Version Build Status Code Quality Code Coverage Total Downloads

An abstract parser written in PHP. Based on nikic's PHP Parser.

Getting started

Abstract parser offers 2 interfaces which you'll want to implement:

  • NodeInterface: A basic interface for all of the elements of your tree structured data structure.
  • NodeVisitorInterface: Actions to execute when entering/exiting a NodeInterface element or at the beginning/end of a traversal.

Once you have implemented the NodeInterface for your data elements, you can walk through them using something like the following:

<?php

$rootElement = ...; // Root element of your data structure

$traverser = new NodeTraverser();
$traverser->addVisitor(new MyVisitor());

$traverser->traverse([$rootElement]);

License

The code is licensed under the MIT license. See LICENSE.