We have developed a generic parser class for name=value assignment languages. It sits atop Sof in our environment, multiple-data objects use the Parser in reading ASCII Sof files. It also supports the string parsing routines typical for parameter settings, including tokenization, quoting, and literal character translation. While the user has some control on special characters, the finite state transducer is hard-coded for a pre-defined assignment language format.
This seminar will delve into the implementation issues of the Parser class. One hot topic is where the data is stored -- can it be left on disk or does it need to be stored in memory? The interface to other classes needs to be as simple as possible, but in passing array pointers (such as strings) one must be careful to avoid memory leaks. These and other issues will be hammered out so as to create an easily usable and efficient Parser class.