-
Notifications
You must be signed in to change notification settings - Fork 502
V21configparse
Jim Lieb edited this page Jun 27, 2014
·
4 revisions
The configuration file is processed by a combination of a Bison/Flex parser and specialized C code. This has the following deficiencies:
- The parser is pretty simple. The lexer does minimal tokenizing, the parser is very simple and the parse tree is a generic linked list of token names and string values. This requires extra string scanning and tokenizing code throughout the code base.
- There are some minimal parse tree walking functions but they are very generic and limited.
- The real work of processing the parse tree is scattered across the code base. Much of this code is replicated with minor pattern changes.
- Since most of the processing is dispersed, it is not consistant, especially in error reporting and handling and in places cumbersome.
The first commits of this work appeared in https://github.com/nfs-ganesha/nfs-ganesha/tree/V2.1-dev_3|V2.1-dev_3.