Rudiments
codetree.h
1// Copyright (c) 1999-2018 David Muse
2// See the COPYING file for more information.
3
4 codetree(codetree &c) {};
5 codetree &operator=(codetree &c) { return *this; };
6
7 private:
8 char getSymbolType(domnode *nt);
9 bool isTag(domnode *nt);
10 bool parseChild(domnode *grammarnode,
11 domnode *treeparent,
12 const char **codeposition,
13 stringbuffer *ntbuffer);
14 bool parseConcatenation(domnode *grammarnode,
15 domnode *treeparent,
16 const char **codeposition,
17 stringbuffer *ntbuffer);
18 bool endOfStringOk(domnode *grammarnode);
19 bool parseAlternation(domnode *grammarnode,
20 domnode *treeparent,
21 const char **codeposition,
22 stringbuffer *ntbuffer);
23 bool parseOption(domnode *grammarnode,
24 domnode *treeparent,
25 const char **codeposition,
26 stringbuffer *ntbuffer);
27 bool parseRepetition(domnode *grammarnode,
28 domnode *treeparent,
29 const char **codeposition,
30 stringbuffer *ntbuffer);
31 bool parseException(domnode *grammarnode,
32 domnode *treeparent,
33 const char **codeposition,
34 stringbuffer *ntbuffer);
35 bool parseTerminal(domnode *grammarnode,
36 domnode *treeparent,
37 const char **codeposition,
38 stringbuffer *ntbuffer);
39 bool compareValue(const char *code,
40 const char *value,
41 size_t *valuelength,
42 const char *casesensitive);
43 bool parseLetter(domnode *grammarnode,
44 domnode *treeparent,
45 const char **codeposition,
46 stringbuffer *ntbuffer);
47 bool parseLowerCaseLetter(domnode *grammarnode,
48 domnode *treeparent,
49 const char **codeposition,
50 stringbuffer *ntbuffer);
51 bool parseUpperCaseLetter(domnode *grammarnode,
52 domnode *treeparent,
53 const char **codeposition,
54 stringbuffer *ntbuffer);
55 bool parseDigit(domnode *grammarnode,
56 domnode *treeparent,
57 const char **codeposition,
58 stringbuffer *ntbuffer);
59 bool parseNonPrintableCharacter(
60 domnode *grammarnode,
61 domnode *treeparent,
62 const char **codeposition,
63 stringbuffer *ntbuffer);
64 bool parseSet(domnode *grammarnode,
65 domnode *treeparent,
66 const char **codeposition,
67 stringbuffer *ntbuffer);
68 bool parseBreak(domnode *grammarnode,
69 domnode *treeparent,
70 const char **codeposition,
71 stringbuffer *ntbuffer);
72 bool parseNonTerminal(domnode *grammarnode,
73 domnode *treeparent,
74 const char **codeposition,
75 stringbuffer *ntbuffer);
76
77 void pushBreakStack();
78 void popBreakStack();
79 bool parseBreakStack(const char **codeposition);
80
81 bool writeNode(domnode *node, output *out);
82 void indent(output *out);
83 void writeStartEnd(output *out, const char *string);
84 void write(output *out, char ch);
85 void write(output *out, const char *string);
86
87 codetreeprivate *pvt;
Definition codetree.h:328
Definition domnode.h:122
Definition output.h:11
Definition stringbuffer.h:13