Document the member parser module.
This commit is contained in:
parent
a699bce5fe
commit
462862c542
1 changed files with 42 additions and 0 deletions
42
MODULES.md
42
MODULES.md
|
@ -307,6 +307,48 @@ Returns the payments (bank transactions) list of given member record
|
||||||
|
|
||||||
### Member Parser
|
### Member Parser
|
||||||
|
|
||||||
|
This module exports only one function - the ```load-member-file```
|
||||||
|
which loads and parses given file as member file. The specification of
|
||||||
|
this file format is in a separate document ```MEMBERS.md```.
|
||||||
|
|
||||||
|
The module implements this specification as multi-pass parser with
|
||||||
|
important definitions being at the top of the module.
|
||||||
|
|
||||||
|
mandatory-keys
|
||||||
|
|
||||||
|
A list of symbols containing keys which must be present in the
|
||||||
|
file. If any of them is missing, it is added to the resulting
|
||||||
|
structure with the ```#f``` value.
|
||||||
|
|
||||||
|
optional-keys
|
||||||
|
|
||||||
|
A list of symbols of keys which the parser recognizes and adds them to
|
||||||
|
the resulting data structure.
|
||||||
|
|
||||||
|
ignored-keys
|
||||||
|
|
||||||
|
A list of symbols with keys that are parsed, and albeit not added to
|
||||||
|
the result they do not generate warnings.
|
||||||
|
|
||||||
|
known-multikeys
|
||||||
|
|
||||||
|
A list of keys that can appear multiple times and in the 2nd pass they
|
||||||
|
are collected as lists of values.
|
||||||
|
|
||||||
|
start-stop-markers-lookup
|
||||||
|
|
||||||
|
A list of start/stop specifications - each key is paired with given
|
||||||
|
key and start/stop tag.
|
||||||
|
|
||||||
|
(load-member-file mr)
|
||||||
|
|
||||||
|
* ```mr``` - (almost) empty member record structure
|
||||||
|
|
||||||
|
It must be possible to get the member file using
|
||||||
|
```member-record-input-file``` function. Loads the file as a list of
|
||||||
|
lines, processes these lines with 1st and 2nd pass parsers, interprets
|
||||||
|
the result using 3rd passes and finalizes the result in the 4th pass.
|
||||||
|
|
||||||
### Members Directory
|
### Members Directory
|
||||||
|
|
||||||
### Members Base
|
### Members Base
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue