(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.
The 2 best places to start:
- Parse from text using [[gram-parse]]
- Build an AST by hand using [[gram-builder]]
- [[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
Gram leverages the excellent unified framework "for parsing, inspecting, transforming, and serializing content through syntax trees."