Great job.
I'm working on a templates namespace/tag doc. It will replace
templates/toc.html files. It's a frameset of 3 frames: namespaces, tags
and tags description. Just like javdoc where you see packages, classes
and class descriptions. I'll commit it tomorrow and will then look at
what you've done on xjavadoc. Keep up the good work pal :o)

Ara. 

> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:xdoclet-devel-
> [EMAIL PROTECTED]] On Behalf Of [EMAIL PROTECTED]
> Sent: Friday, November 30, 2001 12:58 PM
> To: [EMAIL PROTECTED]
> Subject: [Xdoclet-devel] xjavadoc is getting there...
> 
> I have committed a lotta new stuff. you bold ones go ahead and try it.
the
> code is a bit messy, but i thought i'd need some comments from you
before
> i
> start tidying up.
> 
> here is a brief description about how it works:
> 
> the xjavadoc package contains the "public" part of xjavadoc. these
classes
> resemble the javadoc api. the main difference is that xjavadoc has
> separated
> the code level and the comment level. there are a lot of classes that
> represent code constructs, but only one class that represent docs
(XDoc).
> javadoc had mixed code and comments in the same classes (most javadoc
> classes are subclasses of Doc).
> 
> there are source and binary implementations for the XClass interface.
This
> is required to get the full class hierarchy when some classes are only
> available as compiled classes.
> 
> the core package (will be renamed to ant I think) only contains the
ant
> task. this is a thin wrapper around the XJavaDoc class, and the ant
task
> is
> not strictly needed. it only does the directory scanning.
> 
> the javacc folder contains a JJTree grammar for the Java language.
> JavaCC/JJTree is a code generator that generates java source code.
This
> source code goes in the ast package. -So what are these classes? The
> AST***
> classes each represent a java program element, such as an import
> statement,
> a package declaration, a class declaration, a for loop, etc. Tha
> JavaParser
> class can parse an input stream containing a java source file, and
> generates
> a tree structure of different AST objects. The topmost node in the
tree is
> an ASTCompilationUnit, and this represents the whole class. The
immediate
> nodes under this object is typically one or more import declarations
etc.
> (see the grammar file). The parser can return such a tree for any java
> source file, and then we can start examining what's in the source file
by
> accessing objects.
> 
> This is done with visitors (JJTree adds visitor support to JavaCC).
The
> JavaDocVisitor traverses a tree that the parser has created, extracts
> information every time it visits various nodes, and builds a new
> datastructure (the xjavadoc.* classes). This is done for all the
classes
> that are passed to the ant task, and the result is a data structure
> similar
> to the data structure that JavaDoc provides.
> 
> I have planned for code mutation. The syntax tree is kept, so new
nodes
> (like method nodes) can be inserted at desired locations. a special
print
> visitor can traverse the tree and print it out to a (file) output
stream.
> 
> The most important thing right now is not code mutation, but make
xjavadoc
> complete enough so it can replace javadoc in xdoclet. That would be a
good
> start.
> 
> I tried running xjavadoc on the JDK sources, but it fails on some of
the
> classes, notably classes that define inner classes with a ; after the
> last }. According to the language spec, this semicolon is not allowed,
but
> javac seems to accept them. Jikes doesn't AFAIK. I think xjavadoc
needs to
> be relaxed and accept this kind of rubbish. Also, we should stop
parsing
> when we get to a method declaration. We don't care about the body of a
> method, do we? It would improve performance.
> 
> Enough blabla. You get the picture I hope. Play around with it a bit
and
> feed back.
> 
> Aslak
> 
> 
> _______________________________________________
> Xdoclet-devel mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/xdoclet-devel


_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


_______________________________________________
Xdoclet-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel

Reply via email to