This page is intended for the subject of parsing and storing data using Emacs Lisp.

DataModes has more about /editing/ data using specialized major modes.

== Parsing Data ==

* XmlParser -- Writing code which reads and manipulates XML.  Pointers to DOM, XPath, etc.
* [[JSON]] -- Writing code which reads and manipulates JSON.
* ElispParser -- A small parser tool written in EmacsLisp.
* ParserCompiler -- A macro that compiles Recursive Descent parsers in elisp.
* SemanticBovinator -- A flex/bison lexer and parser generator written in EmacsLisp.
* [http://github.com/skeeto/rdp rdp.el] -- Recursive Descent Parser library
* Lisp:peg.el -- Parsing Expression Grammars in Emacs Lisp
* [http://github.com/funkenblatt/EPDF EPDF] -- pdf parsing routines

== Storing Data ==

* [http://cedet.sourceforge.net/eieio.shtml Eieio] -- provided with Emacs (GIT:emacs-lisp/eieio.el)
* GIT:gnus/registry.el -- Track and remember data items by various fields
* [https://github.com/tarsius/object-registry object-registry.el] -- track data items by various instance slots
* [https://github.com/sigma/pcache Pcache] -- persistent caching
* PersistentSoft -- persistent storage, returning nil on failure
* EmacsDataBase -- a flexible system for defining, accessing, modifying, summarizing, and generally playing with, a set of records.  You can view each record individually or summarized (with other records) in separate buffer. Record format (field names and their types) can be arbitrarily complex.
* TinyDb -- A mini-database, smaller than EmacsDataBase
* [http://github.com/VincentToups/emacs-utils/blob/master/persistent-hash-tables.el persistent-hash-tables.el] 
