Outdated egg!
This is an egg for CHICKEN 4, the unsupported old release. You're almost certainly looking for the CHICKEN 5 version of this egg, if it exists.
If it does not exist, there may be equivalent functionality provided by another egg; have a look at the egg index. Otherwise, please consider porting this egg to the current version of CHICKEN.
iexpr
Description
The iexpr library contains a procedure for parsing of I-expressions as described in SRFI-49.
Library Procedures
[procedure] (parse LOC STRING-OR-PORT) => TREEParses I-expression text and returns a tree object with the parsed content. LOC is a symbol that indicates the name of the current entity being parsed. It is used for error reporting.
[procedure] (tree-empty? TREE) => BOOLReturns #t is the given tree object is empty, #f otherwise.
[procedure] (tree-level TREE) => INTEGERReturns the indentation level of the text contained in the given tree node.
[procedure] (tree-child TREE) => TREEReturns the first child of the given tree node.
[procedure] (tree-sibling TREE) => TREEReturns the first sibling of the given tree node.
[procedure] (tree->list TREE) => LISTConverts the given tree to a list structure.
Requires
Version History
- 1.9 Added srfi-49 test case
- 1.8 Allow line breaks as group separators
- 1.6 Bug fixes, allow ; as comment character, additional tests
- 1.5 Using make egg instead of setup-api for make macro
- 1.2 Updated unit tests
- 1.1 Various fixes to handle boundary cases: empty input stream, 1-character words and others
- 1.0 Initial Release
License
Copyright 2010-2012 Ivan Raikov and the Okinawa Institute of Science and Technology.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
A full copy of the GPL license can be found at <http://www.gnu.org/licenses/>.