☰
Current Page
Main Menu
Home
Home
Editing
GenericAnnotationOfCode
Edit
Preview
h1
h2
h3
Keybinding
default
vim
emacs
Markup
Markdown
Plain Text
Pod
RDoc
reStructuredText
AsciiDoc
BibTeX
Creole
MediaWiki
Org-mode
Textile
Help 1
Help 1
Help 1
Help 2
Help 3
Help 4
Help 5
Help 6
Help 7
Help 8
Autosaved text is available. Click the button to restore it.
Restore Text
--- title: GenericAnnotationOfCode --- # Objective * Semantic annotations for source code * Able to integrate with or generate tags for * splint * doxygen # Syntax ## Operators | Operator | Meaning | |:-------- | ------- | | ! | error | | ? | warning | ## Attributes | Tag | splint | doxygen | Meaning | |:------- | -------- | -------------- | ------------------------ | | in | @in | @param [in] | Input parameter | | out | @out | @param [out] | Output parameter | | inout | @in @out | @param[in,out] | | | nullin | @null | - | Null input is ok | | nullout | | | Null output is ok | | zeroin | | | Zero input is ok | | zeroout | | | Zero output is ok | | pointer | | | Target is a pointer type | # Example ## Plain C extern int handle_init(void* handle); ## Commented C /* * Initialize the handle. * * Returns non-zero on error. */ extern int handle_init( void* handle /* pointer to handle, can be null */ ); ## splint /* Initialize the handle. * * Returns non-zero on error. */ extern int handle_init( /*@out*/ /*@null@*/ void* handle /* pointer to handle */ ); ## Doxygen /** * Initialize the handle. * * @return non-zero on error */ extern int handle_init( void* handle /**< [out] pointer to handle, can be null */ ); ## splint and Doxygen /** * Initialize the handle. * * @return non-zero on error */ extern int handle_init( /*@out*/ /*@null@*/ void* handle /**< [out] pointer to handle, can be null */ ); ## GAC /** Initialize the handle. */ extern int /**< @!notzero */ handle_init( void* handle /**< @inout @nullin @?nullout @pointer to handle */ ); # Notes * Aim to document only what can't be expressed in code <!-- vim: filetype=markdown -->
Uploading file...
Sidebar
# SideBar * [Home][1] * [Projects][2] * * * <!-- --> * [Code][3] * [Tech][4] * [Network][5] * [MediaCentre][6] * [UAV][7] * * * <!-- --> * [Travel][8] * [Music][9] * [Horse Riding][10] * [Study][11] * [Games][12] * [Other Activities][13] * * * <!-- --> * [Car][14] * [House][15] * [Watch][16] * [Clothing][17] * [Miscellany][18] * * * [1]: /Home [2]: /Projects [3]: /Code/Code [4]: /Tech/Tech [5]: /Network/Network [6]: /MediaCentre/MediaCentre [7]: /UAV/UAV [8]: /Travel/Travel [9]: /Music/Music [10]: /HorseRiding/HorseRiding [11]: /Study/Study [12]: /Games/Games [13]: /Do/Do [14]: /Car/Car [15]: /House/House [16]: /Watch/Watch [17]: /Clothing/Clothing [18]: /Miscellany/Miscellany <!-- vim: filetype=markdown -->
Edit message:
Cancel