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

parsimmon

Package Overview
Dependencies
Maintainers
1
Versions
49
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

parsimmon - npm Package Compare versions

Comparing version 0.2.1 to 0.3.0

25

build/parsimmon.commonjs.js

@@ -72,3 +72,3 @@ var P = require('pjs').P;

_.or = function(alternative) {
return alt([this, alternative]);
return alt(this, alternative);
};

@@ -188,3 +188,3 @@

var self = this;
return seq([this.times(n), this.many()]).map(function(results) {
return seq(this.times(n), this.many()).map(function(results) {
return results[0].concat(results[1]);

@@ -204,7 +204,7 @@ });

_.skip = function(next) {
return seq([this, next]).map(function(results) { return results[0]; });
return seq(this, next).map(function(results) { return results[0]; });
};
_.mark = function() {
return seq([index, this, index]).map(function(results) {
return seq(index, this, index).map(function(results) {
return { start: results[0], value: results[1], end: results[2] };

@@ -290,8 +290,11 @@ });

// [Parser a] -> Parser [a]
var seq = Parsimmon.seq = function(parsers) {
var seq = Parsimmon.seq = function() {
var parsers = [].slice.call(arguments);
var numParsers = parsers.length;
return Parser(function(stream, i) {
var result;
var accum = new Array(parsers.length);
var accum = new Array(numParsers);
for (var j = 0; j < parsers.length; j += 1) {
for (var j = 0; j < numParsers; j += 1) {
result = furthestBacktrackFor(parsers[j]._(stream, i), result);

@@ -307,3 +310,7 @@ if (!result.status) return result;

var alt = Parsimmon.alt = function(parsers) {
var alt = Parsimmon.alt = function() {
var parsers = [].slice.call(arguments);
var numParsers = parsers.length;
if (numParsers === 0) return fail('zero alternates')
return Parser(function(stream, i) {

@@ -333,3 +340,3 @@ var result;

_.ap = function(other) {
return seq([this, other]).map(function(results) {
return seq(this, other).map(function(results) {
return results[0](results[1]);

@@ -336,0 +343,0 @@ });

{
"name": "parsimmon",
"version": "0.2.1",
"version": "0.3.0",
"description": "A monadic LL(infinity) parser combinator library",

@@ -5,0 +5,0 @@ "keywords": ["parsing", "parse", "parser combinators"],

@@ -94,4 +94,4 @@ [![Build Status](https://secure.travis-ci.org/jayferd/parsimmon.png)](http://travis-ci.org/jayferd/parsimmon)

the string, and yields `result`.
- `Parsimmon.seq(parsers)` accepts an array of parsers that it expects to find in order,
yielding an array of the results.
- `Parsimmon.seq(p1, p2, ... pn)` accepts a variable number of parsers
that it expects to find in order, yielding an array of the results.
- `Parsimmon.lazy(f)` accepts a function that returns a parser, which is evaluated the

@@ -98,0 +98,0 @@ first time the parser is used. This is useful for referencing parsers that haven't yet

@@ -71,3 +71,3 @@ var Parsimmon = {};

_.or = function(alternative) {
return alt([this, alternative]);
return alt(this, alternative);
};

@@ -187,3 +187,3 @@

var self = this;
return seq([this.times(n), this.many()]).map(function(results) {
return seq(this.times(n), this.many()).map(function(results) {
return results[0].concat(results[1]);

@@ -203,7 +203,7 @@ });

_.skip = function(next) {
return seq([this, next]).map(function(results) { return results[0]; });
return seq(this, next).map(function(results) { return results[0]; });
};
_.mark = function() {
return seq([index, this, index]).map(function(results) {
return seq(index, this, index).map(function(results) {
return { start: results[0], value: results[1], end: results[2] };

@@ -289,8 +289,11 @@ });

// [Parser a] -> Parser [a]
var seq = Parsimmon.seq = function(parsers) {
var seq = Parsimmon.seq = function() {
var parsers = [].slice.call(arguments);
var numParsers = parsers.length;
return Parser(function(stream, i) {
var result;
var accum = new Array(parsers.length);
var accum = new Array(numParsers);
for (var j = 0; j < parsers.length; j += 1) {
for (var j = 0; j < numParsers; j += 1) {
result = furthestBacktrackFor(parsers[j]._(stream, i), result);

@@ -306,3 +309,7 @@ if (!result.status) return result;

var alt = Parsimmon.alt = function(parsers) {
var alt = Parsimmon.alt = function() {
var parsers = [].slice.call(arguments);
var numParsers = parsers.length;
if (numParsers === 0) return fail('zero alternates')
return Parser(function(stream, i) {

@@ -332,3 +339,3 @@ var result;

_.ap = function(other) {
return seq([this, other]).map(function(results) {
return seq(this, other).map(function(results) {
return results[0](results[1]);

@@ -335,0 +342,0 @@ });

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