Parsely FAQ -- distributed with version 0.1.0.

Last updated 9 Apr 2000.
(c)2000 Nick Mathewson.  I'll probably release this document under the
GNU Free Documentation License, as soon as I understand it. ;)  For now,
treat is as being GPL.

Please contact with any questions.


1.1. What is Parsely?

Parsely is a programming tool designed to make it easier to manipulate data
stored in arbitrary file formats.  It should be particularly useful for
programmers who want to write configuration tools.

To write a program with Parsely, you first write a description of the file
format you need to parse.  Parsely uses this description to read the file
into memory as a data structure, which you can manipulate in arbitrary ways,
and later save back to disk.  When you save the file, Parsely will preserve
all comments and formatting.

Parsely is written in Python, but should support C by the end of May.

Please consult the documentation to see an example of Parsely in action.

1.2. What is Parsely _not_?

Parsely is not a new scanner or parser.  

   The authors of flex, pcre, bison, and SPARK have spent a lot of time
   tuning and debugging their code.  Rather than duplicating their effort,
   Parsely wraps their tools under a uniform interface.

Parsely is not a replacement for Linuxconf.

   A general-purpose configuration tool needs to provide a GUI, and present
   information to the user on a semantic level.  Parsely does neither of

Parsely is not a good way to implement new configuration languages.

   We have enough incompatible file formats as it is.  If you're writing a
   new tool that needs to store configuration information, please consider
   using XML, shell variables, GConf, or some other general-purpose

Parsely is not finished.

   Currently, Parsely is usable and fairly well tested.  It is not, however,
   as full-featured as I'd like.  Most notable, I'd like it to have better
   support for includes, and for it to support C-like languages.

1.3. What makes Parsely different from other tools?

* Parsely can handle arbitrary context-free grammars, not just line-based
  file formats.  

* Parsely is designed to be cross-language.  Though the current
  implementation is Python-only, I expect to be able to generate C-based
  parsers by the end of May.

* Parsely preserves comments and whitespace.


 [no entries yet]


 [no entries yet]