README
(text)-->(ast)-->(text)
gram.js
is a collection of packages for working with the gram
textual format for graph data.
You can parse .gram
files into an AST.
Or, you can produce .gram
files from an existing AST.
The AST is not a data model. But it does easily maps to a data model. For example see d3-gram.
How to gram in javascript
The 2 best places to start:
- Parse from text using gram-parse
- Build an AST by hand using gram-builder
All packages
- gram for general use
- gram-ast defines abstract syntax tree types
- gram-builder composes a valid AST
- gram-identity generates identity. (available as a unified plugin )
- gram-ops extracts features from the AST
- gram-parse processes text literal
.gram
into an AST. (available as a unified plugin ) - gram-preset-basic a unified preset for processing
.gram
files - gram-stringify serializes AST back to text literal format (available as a unified plugin )
- gram-value enrich AST text literals with JS primitive or object values
Credit
Unified “Content as structured data”
Gram leverages the excellent unified framework “for parsing, inspecting, transforming, and serializing content through syntax trees.”