Download the PHP package tmilos/gold-parser without Composer

On this page you can find all versions of the php package tmilos/gold-parser. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package gold-parser

Gold Parser

Gold parser PHP runtime LALR engine and compiled grammar loader. For more information check Gold Parser website. Library is written based on the Calitha C# GOLD Parser Engine.

Author Build Status Coverage Status License

Installation

You can use Composer to install

Usage

Use Loader class to load compiled grammar file, and it's createNewParser() to get the LALR parser for that grammar.

Events

The Parser instance has a default event listener, which you could replace. During parsing it dispatches various events. In the Events class are enumerated all events that are dispatched.

Event name constant Event name Event class Description
Events::PARSE_ERROR gp.parse_error ParseErrorEvent Parsing error
Events::TOKEN_ERROR gp.token_error TokenErrorEvent Unexpected token encountered error
Events::TOKEN_READ gp.token_read TokenReadEvent Next token has been read
Events::SHIFT gp.shift ShiftEvent Parser shifted
Events::REDUCE gp.reduce ReduceEvent Parser reduced
Events::ACCEPT gp.accept AcceptEvent Parser got into accept state
Events::GOTO_EVENT gp.goto GotoEvent Parser state changed with goto

Errors

By default the parser adds error listeners that will throw exceptions when error events are dispatched. You can add your own listeners for the error events and disable those default listeners with Parser::setThrowExceptionsOnErrors(false)

Default error handlers will throw ParseException on PARSE_ERROR event, and TokenException on TOKEN_ERROR event.

Performance

On my modest laptop with PHP 7.0 it takes around 0.2 seconds to load grammar and create parser, and around 0.04 seconds to parse ~700 chars json. Feel free to contribute and improve performance. Think the loading is critical.


All versions of gold-parser with dependencies

PHP Build Version
Package Version
Requires php Version >=5.6.1
tmilos/value Version ^1.0
symfony/event-dispatcher Version ^2.0|^3.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package tmilos/gold-parser contains the following files

Loading the files please wait ....