Re: Re: Synopsis roadmap
[email protected] (Gilles J. Seguin)
| Newsgroups | gmane.comp.documentation.synopsis |
|---|---|
| Message-ID | <[email protected]> |
On Mon, 2006-01-02 at 00:07 -0500, Stefan Seefeld wrote: Bonne annee, Stefan > David Abrahams wrote: > > >>Adding productions to accept the syntax is (almost) straight forward, > >>but doing even the least bit of semantic analysis is not. > > > > > > I don't think any semantic analysis is needed. But maybe you're > > calling some things semantic analysis that I am not? > > [...] > > > What does it mean to not "have" real partial template specialization > > in a parser? Or overload resolution, for that matter? (Partial) > > specialization support in a parser is just a matter of being able to > > eat the syntax. Overload resolution is a semantic analysis issue. > > No? Using synopsis in a documentation mode, the answer is yes. > As I'm working my way through the boost headers (with the synopsis > parser, of course), I'm reminded that I do need at least some type > analysis: I need to be able to do non-dependent symbol lookup in the > presence of template specializations. > I haven't really looked into the topic yet, but I would expect it to > be comparably complex to overload resolution, i.e. with the evaluation > of multiple conversion paths etc. > > Am I missing something here ? Or would you not call this 'semantic analysis' ? Stefan, you seem to assume that the parser is only useful on validated files. I think that the parser do not require ambiguities to be resolved to produce a valid ptree on either overload and template specialization. That means, we must try to push the program analysis or validation has far has we can from the ptree construction. I see the produce ptree has a saved file - that can be used as precompile headers, - that can be used to produce what is necessary for documentation using java comments for example. - that can be used for programs transformation. Probably different levels of analysis are necessary depending of the documentation required. May be more advanced documentation can be postponed.