-
Notifications
You must be signed in to change notification settings - Fork 2
/
DocDescriptionParser.h
78 lines (58 loc) · 2.1 KB
/
DocDescriptionParser.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
/**
<abstract>ETDoc markup parser.</abstract>
Copyright (C) 2008 Nicolas Roard
Author: Nicolas Roard
Author: Quentin Mathe <[email protected]>
Date: June 2008
License: Modified BSD (see COPYING)
*/
#import <Foundation/Foundation.h>
#import <EtoileFoundation/EtoileFoundation.h>
/** @group ETDoc Parsing
Parser to extract ETDoc markup located in method, function and macro
descriptions. */
@interface DocDescriptionParser : NSObject
{
@private
NSMutableDictionary *parsed;
NSString *currentTag;
}
/** Returns the tags allowed before the main description.
The element order matters. e.g. @taskunit must preceded @task, otherwise
@taskunit is parsed as @task. */
- (NSArray *) validTagsBeforeMainDescription;
/** Returns the tags allowed before the main description.
The element order matters, see -validTagsBeforeMainDescription. */
- (NSArray *) validTagsAfterMainDescription;
/** Resets the parser state and parses ETDoc markup in the given API description.
Query the receiver to retrieve the parsing result. */
- (void) parse: (NSString *)corpus;
/** @taskunit Parsing Result */
/** Returns the parsed main description. */
- (NSString *) description;
/** Returns the parsed content for <em>@task</em> tag. */
- (NSString *) task;
/** Returns the parsed content for <em>@taskunit</em> tag. */
- (NSString *) taskUnit;
/** Returns the parsed content for <em>@return</em> tag. */
- (NSString *) returnDescription;
/** Returns the parsed content for the <em>@param <aName></em> tag sequence. */
- (NSString *) descriptionForParameter: (NSString *)aName;
@end
/** @group ETDoc Parsing
Parser to extract ETDoc markup located in class, protocol or category
descriptions. */
@interface DocMethodGroupDescriptionParser : DocDescriptionParser
{
}
/** @taskunit Parsing Result */
/** Returns the parsed content for <em>@group</em> tag. */
- (NSString *) group;
/** Returns the parsed content for <em>@abstract</em> tag. */
- (NSString *) abstract;
@end
/** @abstract None */
@interface NSString (DocGenerator)
- (NSString *) trimmedString;
- (NSString *) stringByTrimmingWhitespacesAndNewlinesByLine;
@end