|
From: Michalis K. <mic...@gm...> - 2010-10-26 08:13:47
|
The PasDoc2 branch is "closed" now. This merely means that I consider that the useful stuff from PasDoc2 branch is applied to trunk, and this issue is "done" for PasDoc 0.12.0. The dodi/ and PasDoc2/ branches are moved to branches/closed/ subdirectory in SVN (so be sure to do "svn switch" if you were testing them and want to keep doing so). See SVN commit logs for details about why some small changes were applied / or not. Some of the larger changes of PasDoc2 branch had to be rejected, and left inside branches/closed/PasDoc2/ for everyone to eventually retry. Some reasons: 0. The failures mentiond in previous mail are the number zero reason... No matter the rest, we can't apply something that breaks existing stuff. The smaller things that could be applied, easily and without breaking anything, are applied. 1. Do not make TPasDoc an all-options container, do not make it an ancestor of generators, do not pass TPasDoc instance to scanner/tokenizer. Reasoning: this was breaking the fundamental nice separation between scanning (parsing etc.) code and generating code. All the generators, and the scanner, and the parsers "knew" about options of everything else, which doesn't feel clean. I started to revert this change, but this lead me to reverting PasDoc_Base.pas, PasDoc_Gen.pas, which eventually means that other generators must be carefully fixed back or reverted. 2. Do not make TTokenType public. This drags internal stuff, that should be only for scanners/parsers communication, into public. 3. I wanted to poke around TPasScope changes, I could see some potentially useful stuff there, but it's too mixed with the other changes above. Not really possible to just extract it and apply in separation, as far as I can see. Michalis |