Skip to content

pomagma/puddle-corpus

Repository files navigation

Build Status NPM Version NPM Dependencies Coverage Status

Puddle-corpus

Corpus representaion stored in JSON and wrapped into Corpus CRUD API

###Features: [X] Minimum dependencies [X] .json <-> .corpus file conversion utility [X] Pretty prints .json output to make it easier to track with git [X] Uses STDIO and STDOUT as input and output [X] Automatically determines type of input data (json or corpus) [X] Corpus file may have comments starting with # [X] Normalize corpus (i.e. cat corpus.dump | sort | uniq)
[X] Stores data as JSON [X] Conforms to Corpus CRUD API
To be implemented:
[ ] Validate variable appearance constraints
[ ] Duplicate lines are removed. [ ] No variable is DEFINE'd multiple times, [ ] Every free variable is DEFINE'd once.

###Installation:

npm install puddle-corpus
npm test        # optional

###Usage:

var corpus = require(‘puddle-corpus’)(corpus.json)

In corpus variable you will have Corpus CRUD API object which will use given file as a DB. Referr to puddle-crud module for API documentation.

###JSON file format:

[{id: code, id2: code2, id3: code3 ...}]

###.json<=>.corpus conversion utility //Takes file on STDIO and outputs to STDOUT //Input format is determined automatically by calling JSON.parse() node convert < corpus/main.json > corpus/main.corpus node convert < corpus/main.corpus > corpus/main.json

###Corpus file format

The corpus file format is as follows:

  • One line per statement,
  • Statements are either ASSERT or DEFINE
  • No trailing newline,
  • Lines are sorted lexicographically,

In addition, each file should satisfy the constraints:

  • Duplicate lines are removed.
  • No variable is DEFINE'd multiple times,
  • Every free variable is DEFINE'd once.

Contributors

Puddle was factored out of Pomagma in 2014.

License

Copyright 2013-2014 Fritz Obermeyer.
Puddle is licensed under the MIT license.

Releases

No releases published

Packages

No packages published