Headerdoc Unfettered

Total Page:16

File Type:pdf, Size:1020Kb

Headerdoc Unfettered HeaderDoc Unfettered May 27, 2004 CDB is a trademark of Third Eye Software, Apple Computer, Inc. Inc. © 1999, 2004 Apple Computer, Inc. Helvetica is a trademark of Heidelberger All rights reserved. Druckmaschinen AG, available from Linotype Library GmbH. No part of this publication may be reproduced, stored in a retrieval system, or Java and all Java-based trademarks are transmitted, in any form or by any means, trademarks or registered trademarks of Sun mechanical, electronic, photocopying, Microsystems, Inc. in the U.S. and other recording, or otherwise, without prior countries. written permission of Apple Computer, Inc., Simultaneously published in the United with the following exceptions: Any person States and Canada. is hereby authorized to store documentation Even though Apple has reviewed this manual, on a single computer for personal use only APPLE MAKES NO WARRANTY OR and to print copies of documentation for REPRESENTATION, EITHER EXPRESS OR IMPLIED, WITH RESPECT TO THIS MANUAL, personal use provided that the ITS QUALITY, ACCURACY, documentation contains Apple's copyright MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. AS A RESULT, THIS notice. MANUAL IS SOLD ªAS IS,º AND YOU, THE PURCHASER, ARE ASSUMING THE ENTIRE The Apple logo is a trademark of Apple RISK AS TO ITS QUALITY AND ACCURACY. Computer, Inc. IN NO EVENT WILL APPLE BE LIABLE FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, Use of the ªkeyboardº Apple logo OR CONSEQUENTIAL DAMAGES (Option-Shift-K) for commercial purposes RESULTING FROM ANY DEFECT OR without the prior written consent of Apple INACCURACY IN THIS MANUAL, even if advised of the possibility of such damages. may constitute trademark infringement and THE WARRANTY AND REMEDIES SET unfair competition in violation of federal FORTH ABOVE ARE EXCLUSIVE AND IN and state laws. LIEU OF ALL OTHERS, ORAL OR WRITTEN, EXPRESS OR IMPLIED. No Apple dealer, agent, No licenses, express or implied, are granted or employee is authorized to make any modification, extension, or addition to this with respect to any of the technology warranty. described in this document. Apple retains Some states do not allow the exclusion or all intellectual property rights associated limitation of implied warranties or liability for with the technology described in this incidental or consequential damages, so the above limitation or exclusion may not apply to document. This document is intended to you. This warranty gives you specific legal assist application developers to develop rights, and you may also have other rights which applications only for Apple-labeled or vary from state to state. Apple-licensed computers. Every effort has been made to ensure that the information in this document is accurate. Apple is not responsible for typographical errors. Apple Computer, Inc. 1 Infinite Loop Cupertino, CA 95014 408-996-1010 Apple, the Apple logo, Cocoa, FireWire, Geneva, Mac, Mac OS, Macintosh, and Sand are trademarks of Apple Computer, Inc., registered in the United States and other countries. Velocity Engine and Xcode are trademarks of Apple Computer, Inc. Objective-C is a trademark of NeXT Software, Inc. Contents Chapter 1 Introduction to HeaderDoc: API Documentation From Header Files 7 What is HeaderDoc? 7 Organization of this Document 7 Chapter 2 HeaderDoc Tags 9 Introduction to HeaderDoc Comments and Tags 9 HMBalloonRect 11 Multiword Names 11 Automatic Tagging 12 Tags for Frameworks 12 Tags for All Headers 13 Tags Common to All API Types 17 Tags for All Languages 17 Availability Macro Tags 17 Constant Tags 18 #define Tags 18 Enum Tags 19 Function Tags 19 Function Group Tags 20 Struct and Union Tags 21 Typedef Tags 21 Variable tags 23 C Pseudoclass Tags 23 Class Tags 23 Interface Tags 24 Superclass Tags 24 Tags for C++ Headers 25 Conventions 26 Additional Tags for C++ Class Declarations 26 Tags for Objective-C Headers 29 Tags for Objective-C Headers 29 Chapter 3 Using HeaderDoc 33 Running headerDoc2HTML.pl 33 HeaderDoc Command-line Switches 33 3 May 27, 2004 | © 1999, 2004 Apple Computer, Inc. All Rights Reserved. CONTENTS Running the Scripts Using MacPerl 34 Cocoa Front End 35 Chapter 4 Using gatherHeaderDoc 37 Running gatherHeaderDoc.pl 37 Creating a TOC Template File 38 Using Multiple Landing Page Templates 40 Example gatherHeaderDoc Template 41 Chapter 5 Using the MPGL Suite 43 Man Page Generation Language (MPGL) Dialect 43 A Simple Function Example 45 A Simple Command Example 47 A Multi-Command Example 49 Chapter 6 Configuring HeaderDoc 51 Configuration File Example 53 Appendix A Symbol Markers for HTML-Based Documentation 55 The Marker String 55 Symbol Types for All Languages 56 Symbol Types for Languages With Classes 57 C++ (cpp) Symbol Types 57 Java (java) Symbol Types 57 Objective-C (occ) Method Name Format 57 C++/Java (cpp/java) Method Name Format 58 Appendix B HeaderDoc Class Hierarchy 59 Chapter 7 HeaderDoc Release Notes 61 Languages Supported 61 Major Features 62 New Tags 63 Additional Notes 64 4 May 27, 2004 | © 1999, 2004 Apple Computer, Inc. All Rights Reserved. Tables and Listings Chapter 2 HeaderDoc Tags 9 Listing 2-1 Example of multiword names using @discussion 11 Listing 2-2 Example of multiword names using multiple lines 12 Listing 2-3 Example of @header tag 16 Listing 2-4 Example of @availabilitymacro tag 17 Listing 2-5 Example of @const tag 18 Listing 2-6 Example of @defined tag 18 Listing 2-7 Example of @enum tag 19 Listing 2-8 Example of @function tag 20 Listing 2-9 Example of @functiongroup tag 20 Listing 2-10 Example of @struct tag 21 Listing 2-11 Typedef for a simple struct 21 Listing 2-12 Typedef for an enumeration 22 Listing 2-13 Typedef for a simple function pointer 22 Listing 2-14 Typedef for a struct containing function pointers 22 Listing 2-15 Example of @var tag 23 Listing 2-16 Example of @class tag 23 Listing 2-17 Example of @interface tag 24 Listing 2-18 Example of @superclass tag 25 Listing 2-19 Example of documentation with @abstract and @discussion tags 26 Listing 2-20 Example of documentation as a single block of text 27 Listing 2-21 Example of @templatefield tag 28 Listing 2-22 Documentation tagged as abstract and discussion 30 Listing 2-23 Documentation included as single block of text 30 Listing 2-24 Example of @method tag 31 Chapter 5 Using the MPGL Suite 43 Listing 5-1 A simple MPGL example for a function 46 Listing 5-2 A simple MPGL example for a command 47 Listing 5-3 An MPGL example for multiple commands 49 Table 5-1 MPGL block tags 44 Table 5-2 XHTML tags supported by MPGL 45 Table 5-3 Additional MPGL-specific inline tags 45 5 May 27, 2004 | © 1999, 2004 Apple Computer, Inc. All Rights Reserved. TABLES AND LISTINGS Chapter 6 Configuring HeaderDoc 51 Listing 6-1 Sample HeaderDoc configuration file 53 Appendix A Symbol Markers for HTML-Based Documentation 55 Table A-1 HeaderDoc API reference language types 56 Table A-2 Symbol types for all languages 56 Chapter 7 HeaderDoc Release Notes 61 Table 7-1 HeaderDoc 8 Language Support 62 6 May 27, 2004 | © 1999, 2004 Apple Computer, Inc. All Rights Reserved. CHAPTER 1 Introduction to HeaderDoc: API Documentation From Header Files This document describes how to use the HeaderDoc tool. It also explains how to insert HeaderDoc comments into your headers and other files. What is HeaderDoc? HeaderDoc is a set of tools for embedding structured comments in source code and header files written in various languages and subsequently producing rich HTML and XML output from those comments. HeaderDoc comments are similar in appearance to JavaDoc comments in a Java source file, but traditional HeaderDoc comments provide a slightly more formal tag set to allow greater control over HeaderDoc behavior. In addition to traditional HeaderDoc markup, HeaderDoc 8 supports JavaDoc markup. HeaderDoc 8 also supports a number of languages: Bourne shell (and Korn and Bourne Again), C Headers, C source code, C shell, C++ headers, Java, JavaScript, Mach MIG definitions, Objective C/C++ headers, Pascal, Perl, and PHP. Most of these languages (besides C/C++/ObjC/Pascal) support documenting only functions or subroutines. Also included with the main script (headerDoc2HTML) is gatherHeaderDoc, a utility script that creates a master table of contents for all documentation generated by headerDoc2HTML. Information on running gatherHeaderDoc is provided in ªUsing gatherHeaderDocº (page 37). Both scripts are typically installed in /usr/bin, as headerdoc2html and gatherheaderdoc. Finally, HeaderDoc comes with a series of tools for man page generation, xml2man and hdxml2manxml. The first tool , xml2man, converts an mdoc-like XML dialect into mdoc-style man pages. The second tool, hdxml2manxml, converts HeaderDoc XML (generated with the -X flag) into a series of .mxml files suitable for use with xml2man. Organization of this Document This document is divided into several chapters describing various aspects of the tool suite.. ■ ªHeaderDoc Tagsº (page 9) explains how to add HeaderDoc markup to header (and source code) files. What is HeaderDoc? 7 May 27, 2004 | © 1999, 2004 Apple Computer, Inc. All Rights Reserved. CHAPTER 1 Introduction to HeaderDoc: API Documentation From Header Files ■ ªUsing HeaderDocº (page 33) explains the syntax for the HeaderDoc command-line tool itself. ■ ªUsing gatherHeaderDocº (page 37) explains how to use gatherHeaderDoc to produce landing pages and cross-linked trees of related documentation. ■ ªUsing the MPGL Suiteº (page 43) exmplains how to use the Manual Page Generation Language (MPGL) tool suite. ■ ªConfiguring HeaderDocº (page 51) explains the HeaderDoc configuration file. ■ ªSymbol Markers for HTML-Based Documentationº (page 55) describes the symbol markers used by HeaderDoc and various other utilities to provide linking functionality. ■ ªHeaderDoc Class Hierarchyº (page 59) describes the class hierarchy of the HeaderDoc tool itself.
Recommended publications
  • Doxydoxygen User Guide Release 0.79.4
    DoxyDoxygen User Guide Release 0.79.4 20Tauri Aug 16, 2021 MANUAL 1 Welcome to DoxyDoxygen 1 2 Installation 3 2.1 Software installation with Package Control...............................3 2.2 Manual software installation.......................................3 2.3 License installation............................................4 2.4 EULA (End User License Agreement)..................................4 2.4.1 Licenses.............................................4 2.4.2 Description of other rights and limitations...........................4 2.4.3 No warranties..........................................5 3 Usage 7 3.1 Create a documentation block......................................7 3.2 Update / wrap an existing documentation block.............................8 3.3 Switch between comment styles.....................................9 3.4 Extend a documentation block......................................9 3.4.1 Auto-completion........................................9 3.4.2 Comment continuation..................................... 10 3.5 Navigate in documentation........................................ 10 3.5.1 Move to the right column.................................... 10 3.5.2 Follow references........................................ 10 3.6 Fold / Unfold comments......................................... 11 3.7 Translate................................................. 11 3.8 Generate documentation......................................... 12 4 Customization 13 4.1 Settings.................................................. 13 4.1.1 Understand
    [Show full text]
  • Use of the Protocol Generator
    Manual for the protocol generator Table of contents Manual for the protocol generator.....................................................................................................................1 Introduction..................................................................................................................................................3 Acknowledgements.......................................................................................................................................................3 Preparation and installation..........................................................................................................................4 Preparation for Presentation *.log file before acquiring data........................................................................................4 Installation......................................................................................................................................................................5 Using the protocol generator........................................................................................................................6 Activating the plugin......................................................................................................................................................6 Main menu.....................................................................................................................................................................7 Option 1: generating a protocol file..............................................................................................................8
    [Show full text]
  • Comments and Documentation 2501ICT/7421Ictnathan
    C Comments Using Doxygen Comments and Documentation 2501ICT/7421ICTNathan René Hexel School of Information and Communication Technology Griffith University Semester 1, 2012 René Hexel Comments and Documentation C Comments Using Doxygen Outline 1 C Comments 2 Using Doxygen René Hexel Comments and Documentation C Comments Using Doxygen Comments Plain C allows comments between /* and */ /* this is a valid C comment */ Comments may not be nested /* this /* is not a valid C comment */ */ C99 also allows double-slash // end-of-line comments // this is a valid comment no closing sequence needed – the comment ends at the end of the line René Hexel Comments and Documentation C Comments Using Doxygen Comment Example Example (Program with Comments) /* * This program prints "j = 007". * It does not take any parameters and returns 0 on success. */ int main(void)/ * main function definition */ { int j; // our int variable to play with j=7; // assign a value to be printed printf("j = %03.3dnn",j); // print value with leading zeroes return 0; // everything is fine, exit program } René Hexel Comments and Documentation C Comments Using Doxygen Where to put comments? At the beginning of each file (module) describe the name of the module, purpose, author, and dates when first created and last modified Before each function (method) describe the purpose of the function or method, input parameters (arguments), return values (output parameters), and pre- and postconditions (contract) At the beginning of each class describe the purpose of the class, and things to
    [Show full text]
  • Nateguyver Breakpoints LLDB Debug Toolchain More
    ��������������������������� ��������������������������� �������� ����������������������������������������������������������������������������������� ���������������������������������������������������������������������������������������������� ������������������������������������������������������������������������������������������� ������������������������������� ��������������������������������������������������������������������������������������� ����������������������������������������������������������������������� �������������������������������������������������������������������������������������� �������������������������������������������� ◼ Breakpoints & watchpoints ◼ Xcode's graphical debugger ◼ LLDB �������������� “ ������������������������������������������������������������������������������������ ��������������������������� ”������������������ ���������������������������� ◼ Assertions, Logging, and Debug configuration ◼ Static analysis & runtime memory tools ◼ Unit testing in xcode ���������������� ◼ Emphasis on LLDB as our debugging foundation ◼ Tips and tricks to stramline your the debuggin experience ◼ Use LLDB as an extensible investigative tool “�������������”������������ “��’���������������������������������������������������’���������������������’�������������� ��������’����������������������������������� ”������������������ ��������������������������������������������������� ���������������������������������������������������������������������������������� ����������������������������������������������������������������������������
    [Show full text]
  • Session 402 Evan Cheng Sr
    What's New in the LLVM Compiler Session 402 Evan Cheng Sr. Manager, Compilation Technologies These are confidential sessions—please refrain from streaming, blogging, or taking pictures Focused on Providing Best-in-Class Tools Focused on Providing Best-in-Class Tools Support for latest hardware Focused on Providing Best-in-Class Tools Support for latest hardware Improving performance Focused on Providing Best-in-Class Tools Support for latest hardware Improving performance Improving developer productivity Support for Latest Hardware armv7s Architecture • Architecture for Apple A6 processor ■ iPhone 5 and new iPads • Extensive tuning and optimization in the compiler ■ Uses instructions only available in armv7s armv7s Architecture • Architecture for Apple A6 processor ■ iPhone 5 and new iPads • Extensive tuning and optimization in the compiler ■ Uses instructions only available in armv7s Important for achieving max performance! armv7s Architecture • Already part of the standard architectures for iOS apps Intel AVX • 256-bit floating-point vector computation ■ Twice as wide as SSE vectors ■ Supported in Sandy Bridge and Ivy Bridge processors • Good for loops with operations that can be performed in parallel ■ Floating-point intensive ■ High ratio of computation to memory bandwidth Intel AVX2 • Supported in “Haswell” processors ■ Extend the AVX instruction set to integers ■ Adds fused multiply-accumulate for increased floating point throughput ■ More extensive set of vector shuffle instructions Using AVX2 with Fallback to AVX / SSE • Check
    [Show full text]
  • Darwin: Mac OS X's Core OS
    ADC April 2001 3/8/01 1:57 PM Page 1 Apple Developer Connection Direct Darwin: Mac OS X’s Core OS eneath Mac OS X’s user-friendly and attractive user interface, Most of the reference documents can be Aqua, and the application frameworks (Classic, Carbon and found in the /Developer/Documentation/ BCocoa) is Darwin: Mac OS X’s core OS. Unseen by users, Kernel directory on any Mac OS X system Darwin provides a strong yet flexible foundation with features like with the Mac OS X Developer Tools package preemptive multitasking, protected memory and real-time support installed. that make Mac OS X a truly modern operating system. The focus of this article is to provide a brief overview of Components of Darwin Darwin and its components as well as give an introduction to Just like in the old Reese’s Peanut Butter developing kernel extensions—modules that extend Darwin’s Cups commercials (“You’ve got chocolate in functionality. For more in-depth information, you should read my peanut butter… No, you’ve got peanut butter on my choco- Inside Mac OS X: Kernel Environment which is available, along late!”), Darwin blends a mixture of mature industry standard com- with other documents referred to in this article, on the Apple ponents such as Mach and BSD with Apple-engineered components Developer Connection (ADC) web site in the Mac OS X to provide Mac OS X with a stable, reliable and extensible founda- Documentation section: tion. Darwin consists of five main components: Mach, I/O Kit, File http://developer.apple.com/techpubs/macosx/macosx.html System, Networking and BSD.
    [Show full text]
  • Mac OS X Server
    Mac OS X Server Version 10.4 Technology Overview August 2006 Technology Overview 2 Mac OS X Server Contents Page 3 Introduction Page 5 New in Version 10.4 Page 7 Operating System Fundamentals UNIX-Based Foundation 64-Bit Computing Advanced BSD Networking Architecture Robust Security Directory Integration High Availability Page 10 Integrated Management Tools Server Admin Workgroup Manager Page 14 Service Deployment and Administration Open Directory Server File and Print Services Mail Services Web Hosting Enterprise Applications Media Streaming iChat Server Software Update Server NetBoot and NetInstall Networking and VPN Distributed Computing Page 29 Product Details Page 31 Open Source Projects Page 35 Additional Resources Technology Overview 3 Mac OS X Server Introduction Mac OS X Server version 10.4 Tiger gives you everything you need to manage servers in a mixed-platform environment and to con gure, deploy, and manage powerful network services. Featuring the renowned Mac OS X interface, Mac OS X Server streamlines your management tasks with applications and utilities that are robust yet easy to use. Apple’s award-winning server software brings people and data together in innovative ways. Whether you want to empower users with instant messaging and blogging, gain greater control over email, reduce the cost and hassle of updating software, or build your own distributed supercomputer, Mac OS X Server v10.4 has the tools you need. The Universal release of Mac OS X Server runs on both Intel- and PowerPC-based The power and simplicity of Mac OS X Server are a re ection of Apple’s operating sys- Mac desktop and Xserve systems.
    [Show full text]
  • Mac OS X Technology Overview
    Mac OS X Technology Overview 2006-06-28 Finder, Safari, Spotlight, Tiger, and Xserve Apple Inc. are trademarks of Apple Inc. © 2004, 2006 Apple Computer, Inc. Adobe, Acrobat, and PostScript are All rights reserved. trademarks or registered trademarks of Adobe Systems Incorporated in the U.S. No part of this publication may be and/or other countries. reproduced, stored in a retrieval system, or transmitted, in any form or by any means, Intel and Intel Core are registered mechanical, electronic, photocopying, trademarks of Intel Corportation or its recording, or otherwise, without prior subsidiaries in the United States and other written permission of Apple Inc., with the countries. following exceptions: Any person is hereby Java and all Java-based trademarks are authorized to store documentation on a trademarks or registered trademarks of Sun single computer for personal use only and Microsystems, Inc. in the U.S. and other to print copies of documentation for countries. personal use provided that the OpenGL is a registered trademark of Silicon documentation contains Apple’s copyright Graphics, Inc. notice. PowerPC and and the PowerPC logo are The Apple logo is a trademark of Apple Inc. trademarks of International Business Use of the “keyboard” Apple logo Machines Corporation, used under license (Option-Shift-K) for commercial purposes therefrom. without the prior written consent of Apple UNIX is a registered trademark of The Open may constitute trademark infringement and Group unfair competition in violation of federal and state laws. Simultaneously published in the United States and Canada. No licenses, express or implied, are granted with respect to any of the technology Even though Apple has reviewed this document, APPLE MAKES NO WARRANTY OR described in this document.
    [Show full text]
  • Mac OS X Server Introduction to Command-Line Administration Version 10.6 Snow Leopard Kkapple Inc
    Mac OS X Server Introduction to Command-Line Administration Version 10.6 Snow Leopard K Apple Inc. Apple Remote Desktop, Finder, and Snow Leopard are © 2009 Apple Inc. All rights reserved. trademarks of Apple Inc. Under the copyright laws, this manual may not AIX is a trademark of IBM Corp., registered in the U.S. be copied, in whole or in part, without the written and other countries, and is being used under license. consent of Apple. The Bluetooth® word mark and logos are registered The Apple logo is a trademark of Apple Inc., registered trademarks owned by Bluetooth SIG, Inc. and any use in the U.S. and other countries. Use of the “keyboard” of such marks by Apple is under license. Apple logo (Option-Shift-K) for commercial purposes without the prior written consent of Apple may This product includes software developed by the constitute trademark infringement and unfair University of California, Berkeley, FreeBSD, Inc., competition in violation of federal and state laws. The NetBSD Foundation, Inc., and their respective contributors. Every effort has been made to ensure that the information in this manual is accurate. Apple is not Java™ and all Java-based trademarks and logos responsible for printing or clerical errors. are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. Apple 1 Infinite Loop PowerPC™ and the PowerPC logo™ are trademarks Cupertino, CA 95014 of International Business Machines Corporation, used 408-996-1010 under license therefrom. www.apple.com UNIX® is a registered trademark of The Open Group. Apple, the Apple logo, AppleScript, FireWire, Keychain, Other company and product names mentioned herein Leopard, Mac, Mac OS, Quartz, Safari, Xcode, Xgrid, and are trademarks of their respective companies.
    [Show full text]
  • Developer Guide: Ios Native Applications Sybase Unwired Platform 2.1 DOCUMENT ID: DC01217-01-0210-03 LAST REVISED: July 2012 Copyright © 2012 by Sybase, Inc
    Developer Guide: iOS Native Applications Sybase Unwired Platform 2.1 DOCUMENT ID: DC01217-01-0210-03 LAST REVISED: July 2012 Copyright © 2012 by Sybase, Inc. All rights reserved. This publication pertains to Sybase software and to any subsequent release until otherwise indicated in new editions or technical notes. Information in this document is subject to change without notice. The software described herein is furnished under a license agreement, and it may be used or copied only in accordance with the terms of that agreement. Upgrades are provided only at regularly scheduled software release dates. No part of this publication may be reproduced, transmitted, or translated in any form or by any means, electronic, mechanical, manual, optical, or otherwise, without the prior written permission of Sybase, Inc. Sybase trademarks can be viewed at the Sybase trademarks page at http://www.sybase.com/detail?id=1011207. Sybase and the marks listed are trademarks of Sybase, Inc. ® indicates registration in the United States of America. SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. Java and all Java-based marks are trademarks or registered trademarks of Oracle and/or its affiliates in the U.S. and other countries. Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. All other company and product names mentioned may be trademarks of the respective companies with which they are associated. Use, duplication, or disclosure by the government is subject to the restrictions set forth in subparagraph (c)(1)(ii) of DFARS 52.227-7013 for the DOD and as set forth in FAR 52.227-19(a)-(d) for civilian agencies.
    [Show full text]
  • Introduction to Objective-C 2501ICT/7421ICT Nathan
    Objective-C Classes Compiling Objective-C Code Introduction to Objective-C 2501ICT/7421ICT Nathan René Hexel School of Information and Communication Technology Griffith University Semester 1, 2012 René Hexel Introduction to Objective-C Objective-C Classes Compiling Objective-C Code Outline 1 Objective-C Classes Objective-C 2 Compiling Objective-C Code Compiling and Makefiles Documentation with HeaderDoc René Hexel Introduction to Objective-C Objective-C Classes Objective-C Compiling Objective-C Code Classes and Objects in Objective-C So far: Pure C procedural, no object-oriented concepts difficult to write re-usable code: disadvantage for larger projects Objective-C is a small syntax addition to C highly dynamic and very powerful object model classes are first class objects ! most features implemented through methods René Hexel Introduction to Objective-C Objective-C Classes Objective-C Compiling Objective-C Code A Point Class Interface Java: Point.java Objective-C: Point.h import java.lang.System; #import <Foundation/Foundation.h> class Point extends Object @interface Point: NSObject { { int x; int x; // member variables int y; int y; // protected by default } public Point() {x=0;y=0;} - init; // constructor public int getX() { return x;} -(int)x; // access methods public void setX(int newx) -(void) setX:(int) newx; {x= newx;} } @end René Hexel Introduction to Objective-C Objective-C Classes Objective-C Compiling Objective-C Code A Point Class Implementation Java: Point.java Objective-C: Point.m import java.lang.System; #import "Point.h"
    [Show full text]
  • Conceptual Model of an Application and Its Use for Application Documentation
    Conceptual model of an application and its use for application documentation Martin Vonka Faculty of Civil Engeneering Czech Technical University in Prague [email protected] Abstract: Following article proposes methodology for conceptual design of a software application. This form of design is suitable for dynamic development environment and agile principles of software development. Article discus the required scope and style used for description of the application. Unification of a documentation significantly reduces the time required for communication within the development team. Some part of the documentation are obtained using the method of reverse engineering, for example by analysis of the application structure or its source code. Key words: software development, documentation, application concept 1. Introduction This article deals with the design methodology on how to build a conceptual model of an application. Using this model in the development of the application itself and during the preparation of a documentation required for the final product. Therefore, not just the operational and maintenance documentation, but also the user documentation. Using the principles of application design described in this article it is possible to achieve significant time savings during the actual development as well as during documentation process. This should be the primary objective for every developer - effectiveness in the entire application lifecycle. Software development is undergoing in recent years a great innovation. There is a lot of new software development companies applying agile methodologies of software development. Clearly defined developments phases are fading out. - taken from [Weske, 2007]: requirements definition design and project documentation programming testing customer hand off, documentation updates maintenance and operations decommissioning These tightly defined phases are being replaced by dynamic development methods based on the principles of extreme programming and the spiral model.
    [Show full text]