Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

apg

Package Overview
Dependencies
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

apg

An ABNF Parser Generator - generates recursive-descent parsers from grammars written in a superset of Augmented Backus-Naur Form (ABNF)

  • 2.0.0
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
261
decreased by-60.15%
Maintainers
1
Weekly downloads
 
Created
Source

##JavaScript APG

Version: 2.0

Description:

APG is an acronym for "ABNF Parser Generator". Version 2.0 is a complete re-write of version 1.0 (apg-js)with the following objectives in mind:

  1. Updating its features to the full apg-6.3 and apg-java complement.
  2. Creating a local version of the parser generator as well as the parsing library (version 1.0 was library only).
  3. Developing it in the node.js framework.

Its features include:

  • generates language parsers and translators from a superset of the Augmented Backus-Naur Form (ABNF RFC5234) grammar syntax
  • accepts valid ABNF grammars
  • use of callback functions keeps the parser's action code separate from the grammar
  • accepts AND & NOT syntactic predicate operators for conditional parsing based on specified, look-ahead phrases
  • accepts User-Defined Terminals (UDTs) which provide user-written, non-Context-Free phrase recognition operators
  • user-written callback functions provide complete monitoring and flow control of the parser
  • optional generation of an Abstract Syntax Tree (AST)
  • translation of the AST with user-written callback functions
  • XML formatting of the AST
  • extensive tracing facilities
  • statistics gathering for a full picture of parse tree node coverage
  • extensive attribute generation for an overview of the grammar's characteristics
  • runs as a node.js, desktop cli function

Installation:
Requires node.js and npm

clone https://github.com/ldthomas/apg-js2.git apg
cd apg
npm install -g ./
apg -v

or just

npm install -g apg
apg -v

You should see something like:

JavaScript APG 2.0, Copyright (C) 2105 Lowell D. Thomas, all rights reserved

Note: If there is a name conflict (for example, Automated Password Generator) there are a couple of options for resolving the conflict.

  1. Make sure that the npm prefix (npm prefix -g) is left-most in the $PATH variable and clear the cache with
    hash -r
  2. If the npm prefix is, say, /my/npm/prefix, create an alias
    alias apg='/my/npm/prefix/bin/apg'
  3. You probably know other ways to do it better to your suiting.

Examples:
See apg-js2-examples for examples of running JavaScript APG 2.0 and the parsers it generates.

Documentation:
To be done.
For now, run apg -h for a list of options and you can look at the code in the examples.

Copyright:
Copyright © 2015 Lowell D. Thomas, all rights reserved

License:
Unlike all previous releases of APG, JavaSript APG, Version 2.0 is released with the more permissive BSD-3-Clause license.

Keywords

FAQs

Package last updated on 31 Oct 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc