Skip to content

tomzx/abstract-parser

Repository files navigation

Abstract parser

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.

About

An abstract parser written in PHP

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages