Documentation Generators

Slides:



Advertisements
Similar presentations
Samsung Smart TV is a web-based application running on an application engine installed on digital TVs connected to the Internet.
Advertisements

Introduction to JavaScript
Documentation Generators: Internals of Doxygen John Tully.
Copyright 2004 Monash University IMS5401 Web-based Systems Development Topic 2: Elements of the Web (g) Interactivity.
Object-Oriented Enterprise Application Development Javadoc Last Updated: 06/30/2001.
CS 290C: Formal Models for Web Software Lecture 1: Introduction Instructor: Tevfik Bultan.
Scripting Languages. Originally, a script was a file containing a sequence of commands that needed to be executed Control structures were added to make.
Doxygen and Javadoc By Derzsy Noemi.
Doxygen: Source Code Documentation Generator John Tully.
Concordia University Department of Computer Science and Software Engineering Click to edit Master title style ADVANCED PROGRAMING PRACTICES API documentation.
Copyright © Curt Hill PhP History and Introduction.
XP Tutorial 6New Perspectives on HTML and XHTML, Comprehensive 1 Creating Web Page Forms Designing a Product Registration Form Tutorial 6.
Working Out with KURL! Shayne Koestler Kinetic Data.
Javadoc. The Plan ● What is Javadoc? ● Writing Javadoc comments ● Using the Javadoc tool ● Demo ● Practice.
Client Scripting1 Internet Systems Design. Client Scripting2 n “A scripting language is a programming language that is used to manipulate, customize,
JavaDoc1 JavaDoc DEPARTMENT OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING CONCORDIA UNIVERSITY July 24, 2006 by Emil Vassev & Joey Paquet revision 1.2 –
The Basics of Javadoc Presented By: Wes Toland. Outline  Overview  Background  Environment  Features Javadoc Comment Format Javadoc Program HTML API.
Copyright © Curt Hill Java Looking at our first console application in Eclipse.
Program documentation Using the Doxygen tool Program documentation1.
Program documentation using the Javadoc tool 1 Program documentation Using the Javadoc tool.
July 2011CMSC 341 CVS/Ant 1 CMSC 341 Java Packages Ant CVS Project Submission.
Copyright © 2015 – Curt Hill Version Control Systems Why use? What systems? What functions?
Javadoc: Advanced Features & Limitations Presented By: Wes Toland.
Documentation javadoc. Documentation not a programmer's first love lives in a separate file somewhere usually a deliverable on the schedule often not.
Javadoc A very short tutorial. What is it A program that automatically generates documentation of your Java classes in a standard format For each X.java.
Javadoc Dwight Deugo Nesa Matic
JavaDoc and Contracts Spring Documenting Contracts with JavaDoc Contract model for methods Preconditions Postconditions JavaDoc Industry standard.
Javadoc. Purpose of javadoc javadoc is a program that reads your Java program and produces great-looking documentation in HTML format Without any help,
CSE IntroductiontoDoxygen. Contents Introduction Main Steps for creating documentation Examples.
Javadoc. Purpose of javadoc  javadoc is a program that reads your Java program and produces great-looking documentation in HTML format  Without any.
A brief introduction to javadoc and doxygen. What’s in a program file? 1. Comments 2. Code.
Doxygen Documentation
Javadoc Summary. Javadoc comments Delemented by /** and */ Used to document – Classes – Methods – Fields Must be placed immediately above the feature.
Scanner Generation Using SLK and Flex++ Followed by a Demo Copyright © 2015 Curt Hill.
Today Javadoc. Packages and static import. Viewing API source code. Upcoming Topics: –protected access modifier –Using the debugger in Eclipse –JUnit testing.
PDF Accessibility with Python Anand B Pillai. A few terms ● Accessibility – *“Accessibility is a general term used to describe the degree to which a product,
L.A.M.P. İlker Korkmaz & Kaya Oğuz CS 350. Why cover a lecture on LAMP? ● Job Opportunities – There are many hosting companies offering LAMP as a web.
1 Doxygen. 2 Doxygen: What is it ? ● A documentation generator – for C++, C, Java, Objective-C, Python, IDL (Corba and Microsoft flavors), Fortran, VHDL,
Variable Scope & Lifetime
Problem Solving With C++ Doxygen Oct/Nov Introduction Doxygen is a documentation generator, a tool for writing software reference documentation.
2440: 141 Web Site Administration Web Forms Instructor: Joseph Nattey.
HTML Simple Introduction
Automatic Documentation Systems
Advanced Programing practices
Basic 1960s It was designed to emphasize ease of use. Became widespread on microcomputers It is relatively simple. Will make it easier for people with.
Doxygen.
An Eclipse Plugin for Creating Windows Graphical User Interfaces
Introduction Python is an interpreted, object-oriented and high-level programming language, which is different from a compiled one like C/C++/Java. Its.
Console and GUI Programs
Using SLK and Flex++ Followed by a Demo
Tortoise SubVersion Client Again
© 2015 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
Doxygen Documentation
Introduction to javadoc
Predefined Dialog Boxes
Guide To UNIX Using Linux Third Edition
Compilers, Make and SubVersion
UNIX/LINUX Commands Using BASH Copyright © 2017 – Curt Hill.
Cmdlets “Command-lets”
JavaDoc and Contracts Fall 2008.
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Advanced Programing practices
Intro to PHP.
Introduction to javadoc
Tutorial 6 PHP & MySQL Li Xu
JavaScript Overview By Kevin Harville.
An Introduction to JavaScript
Java Looking at our first console application in Eclipse
An Eclipse Plugin for Creating Windows Graphical User Interfaces
Web Application Development Using PHP
Presentation transcript:

Documentation Generators What they are with some examples Copyright © 2016 Curt Hill

Introduction A program that examines source code files and automatically generates documentation from the files They typically look for and format class names and functions They must be language sensitive In addition there is usually a facility that allows the programmer to enter special comments that are used in the result Copyright © 2016 Curt Hill

History The oldest one I could find was mkd from 1986 Still in use on LINUX systems The most famous is probably Javadoc Introduced with the Java language or very shortly thereafter We will likely use Doxygen Copyright © 2016 Curt Hill

Why? Documenting programs has always been a burden for developers It was perceived to be less important that getting things to run Technical writers tend to have a different perspective, attitude and skill set than developers It is very easy to let the documentation lag the code in updates Making it easy greatly helps Copyright © 2016 Curt Hill

Languages A document generator must process the source code of a system of programs It must be designed for a particular language Inside every one of these is a partial parser Does not have to know all the language details but must successfully recognize certain critical portions Copyright © 2016 Curt Hill

Several Languages Haskell - Haddock JavaScript – JSDoc Pascal – fpdoc Perl – POD PhP – phpDocumentor Python - Epydoc Ruby – RDoc SQL – HyperSQL Many languages Several documenters may take multiple languages Copyright © 2016 Curt Hill

Input/Output Generally these programs take the source code as input This is a simple text file Some may also take a binary file The most common output is HTML Some can produce RTF, PDF, PostScript, LaTex, CHM, UNIX man page Copyright © 2016 Curt Hill

Javadoc Originally designed to produce documentation for Java APIs It scans Java files and recognizes classes, methods and properties Produces HTML It has a special comment that allows additional information This comment is the Java multiline command with an additional * Copyright © 2016 Curt Hill

Special Comment Starts with /** Precedes the class or method header and gives additional information Any information is copied into the output file May use HTML formatting tags as well The @ identifies predefined tags that Javadoc processes Copyright © 2016 Curt Hill

Predefined Tags For a class: For a method: @author @version @since For a method: @param @return @throws You may also put in HTML links to other pages Copyright © 2016 Curt Hill

DOxygen Similar to Javadoc: Different as well Scans a directory or directory tree Uses the /** comment Looks for classes, properties, methods and functions Different as well May handle several different languages Uses a control file to set the many options May produce things other than HTML Copyright © 2016 Curt Hill

Control File Looks like a UNIX initialization file The # is the comment Options look like assignments: option = value The default file is larger than 2000 lines Many more comments than directives Copyright © 2016 Curt Hill

Flavors The program itself is a console program There is a GUI program(doxywizard) as well that: Finds the directory or directory tree Sets the options Executes the console program It may also start a browser on the result We will next look at some screen shots that describe usage Copyright © 2016 Curt Hill

Wizard Starts Copyright © 2016 Curt Hill

Select Language Copyright © 2016 Curt Hill

Output Selection Copyright © 2016 Curt Hill

Diagram Options Copyright © 2016 Curt Hill

Ready to Run Copyright © 2016 Curt Hill

Done with Run Copyright © 2016 Curt Hill

Index Copyright © 2016 Curt Hill

Class List Copyright © 2016 Curt Hill

Conclusion This was a program with no preparation for DOxygen Lets do the demo Augment with special comments Regenerate the documentation Copyright © 2016 Curt Hill