From: Stefan S. <sse...@ar...> - 2004-10-14 15:47:15
|
> From: SF Markus Elfring [mailto:el...@us...] > Sent: October 5, 2004 01:18 > The summary about the Edward Willink's "Meta-Compilation for > C++" PhD thesis in the article "Parsing C++" shows more > design alternatives to structure this process into multiple > layers, phases, passes or stages. > http://www.nobugs.org/developer/parsingcpp/ FWIW, here is a list of papers we currently look into to enhance the parser: * Symbol table construction and name lookup in ISO C++, J. F. Power and B. A. Malloy, http://citeseer.ist.psu.edu/power00symbol.html * An Approach for Modeling the Name Lookup Problem in the C++ Programming Language, James F. Power and Brian A. Malloy, http://citeseer.ist.psu.edu/power00approach.html * Decorating tokens to facilitate recognition of ambiguous language constructs, B. A. Malloy, J. F. Power and T. H. Gibbs, Software, http://www.cs.clemson.edu/~malloy/papers/papers.html * The Design and Implementation of a Parser and Front-end for the ISO C++ Language and Validation of the Parser, Tanton H.Gibbs, http://www.cs.clemson.edu/~malloy/papers/papers.html Also, there appears to be a GPLed C++ parser project available at http://sourceforge.net/projects/keystone/, which I'm going to look into. One of the advantages OpenC++ has is its non-lossy storage of the input, which makes it robust and less error-prone for code generation (as you can modify specific places in the code and don't need to regenerate the whole). Right now I'm aiming at a modular structure with three or four (logical) modules: PTree, SymbolTable, AST, and Processor. That's roughly in alignment with the above papers, and a natural (smooth) evolution for the OpenC++ design itself. Comments ? Regards, Stefan |