xref: /AOO41X/main/autodoc/source/parser_i/idoc/cx_dsapi.cxx (revision cdf0e10c4e3984b49a9502b011690b615761d4a3)
1*cdf0e10cSrcweir /*************************************************************************
2*cdf0e10cSrcweir  *
3*cdf0e10cSrcweir  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4*cdf0e10cSrcweir  *
5*cdf0e10cSrcweir  * Copyright 2000, 2010 Oracle and/or its affiliates.
6*cdf0e10cSrcweir  *
7*cdf0e10cSrcweir  * OpenOffice.org - a multi-platform office productivity suite
8*cdf0e10cSrcweir  *
9*cdf0e10cSrcweir  * This file is part of OpenOffice.org.
10*cdf0e10cSrcweir  *
11*cdf0e10cSrcweir  * OpenOffice.org is free software: you can redistribute it and/or modify
12*cdf0e10cSrcweir  * it under the terms of the GNU Lesser General Public License version 3
13*cdf0e10cSrcweir  * only, as published by the Free Software Foundation.
14*cdf0e10cSrcweir  *
15*cdf0e10cSrcweir  * OpenOffice.org is distributed in the hope that it will be useful,
16*cdf0e10cSrcweir  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17*cdf0e10cSrcweir  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18*cdf0e10cSrcweir  * GNU Lesser General Public License version 3 for more details
19*cdf0e10cSrcweir  * (a copy is included in the LICENSE file that accompanied this code).
20*cdf0e10cSrcweir  *
21*cdf0e10cSrcweir  * You should have received a copy of the GNU Lesser General Public License
22*cdf0e10cSrcweir  * version 3 along with OpenOffice.org.  If not, see
23*cdf0e10cSrcweir  * <http://www.openoffice.org/license.html>
24*cdf0e10cSrcweir  * for a copy of the LGPLv3 License.
25*cdf0e10cSrcweir  *
26*cdf0e10cSrcweir  ************************************************************************/
27*cdf0e10cSrcweir 
28*cdf0e10cSrcweir #include <precomp.h>
29*cdf0e10cSrcweir #include <s2_dsapi/cx_dsapi.hxx>
30*cdf0e10cSrcweir 
31*cdf0e10cSrcweir 
32*cdf0e10cSrcweir // NOT FULLY DEFINED SERVICES
33*cdf0e10cSrcweir #include <x_parse2.hxx>
34*cdf0e10cSrcweir #include <tools/tkpchars.hxx>
35*cdf0e10cSrcweir #include <s2_dsapi/tk_atag2.hxx>
36*cdf0e10cSrcweir #include <s2_dsapi/tk_docw2.hxx>
37*cdf0e10cSrcweir #include <s2_dsapi/tk_xml.hxx>
38*cdf0e10cSrcweir #include <s2_dsapi/cx_docu2.hxx>
39*cdf0e10cSrcweir #include <s2_dsapi/tokrecv.hxx>
40*cdf0e10cSrcweir 
41*cdf0e10cSrcweir 
42*cdf0e10cSrcweir namespace csi
43*cdf0e10cSrcweir {
44*cdf0e10cSrcweir namespace dsapi
45*cdf0e10cSrcweir {
46*cdf0e10cSrcweir 
47*cdf0e10cSrcweir 
48*cdf0e10cSrcweir const intt C_nStatusSize = 128;
49*cdf0e10cSrcweir const intt C_nCppInitialNrOfStati = 400;
50*cdf0e10cSrcweir 
51*cdf0e10cSrcweir 
52*cdf0e10cSrcweir const uintt nF_fin_Error = 1;
53*cdf0e10cSrcweir const uintt nF_fin_Ignore = 2;
54*cdf0e10cSrcweir const uintt nF_fin_Eof = 3;
55*cdf0e10cSrcweir const uintt nF_fin_AnyWord = 4;
56*cdf0e10cSrcweir const uintt nF_fin_AtTag = 5;
57*cdf0e10cSrcweir const uintt nF_fin_EndSign = 6;
58*cdf0e10cSrcweir const uintt nF_goto_EoHtml = 7;
59*cdf0e10cSrcweir const uintt nF_goto_EoXmlConst = 8;
60*cdf0e10cSrcweir const uintt nF_goto_EoXmlLink_BeginTag = 9;
61*cdf0e10cSrcweir const uintt nF_goto_EoXmlLink_EndTag = 10;
62*cdf0e10cSrcweir const uintt nF_goto_EoXmlFormat_BeginTag = 11;
63*cdf0e10cSrcweir const uintt nF_goto_EoXmlFormat_EndTag = 12;
64*cdf0e10cSrcweir const uintt nF_goto_CheckStar = 13;
65*cdf0e10cSrcweir const uintt nF_fin_Comma = 14;
66*cdf0e10cSrcweir const uintt nF_fin_White = 15;
67*cdf0e10cSrcweir 
68*cdf0e10cSrcweir const UINT16 nTok_at_author = 100 + Tok_AtTag::author;
69*cdf0e10cSrcweir const UINT16 nTok_at_see = 100 + Tok_AtTag::see;
70*cdf0e10cSrcweir const UINT16 nTok_at_param = 100 + Tok_AtTag::param;
71*cdf0e10cSrcweir const UINT16 nTok_at_return = 100 + Tok_AtTag::e_return;
72*cdf0e10cSrcweir const UINT16 nTok_at_throws = 100 + Tok_AtTag::e_throw;
73*cdf0e10cSrcweir const UINT16 nTok_at_example = 100 + Tok_AtTag::example;
74*cdf0e10cSrcweir const UINT16 nTok_at_deprecated = 100 + Tok_AtTag::deprecated;
75*cdf0e10cSrcweir const UINT16 nTok_at_suspicious = 100 + Tok_AtTag::suspicious;
76*cdf0e10cSrcweir const UINT16 nTok_at_missing = 100 + Tok_AtTag::missing;
77*cdf0e10cSrcweir const UINT16 nTok_at_incomplete = 100 + Tok_AtTag::incomplete;
78*cdf0e10cSrcweir const UINT16 nTok_at_version = 100 + Tok_AtTag::version;
79*cdf0e10cSrcweir const UINT16 nTok_at_guarantees = 100 + Tok_AtTag::guarantees;
80*cdf0e10cSrcweir const UINT16 nTok_at_exception = 100 + Tok_AtTag::exception;
81*cdf0e10cSrcweir const UINT16 nTok_at_since = 100 + Tok_AtTag::since;
82*cdf0e10cSrcweir 
83*cdf0e10cSrcweir const UINT16 nTok_const_TRUE = 200 + Tok_XmlConst::e_true;
84*cdf0e10cSrcweir const UINT16 nTok_const_FALSE = 200 + Tok_XmlConst::e_false;
85*cdf0e10cSrcweir const UINT16 nTok_const_NULL = 200 + Tok_XmlConst::e_null;
86*cdf0e10cSrcweir const UINT16 nTok_const_void = 200 + Tok_XmlConst::e_void;
87*cdf0e10cSrcweir 
88*cdf0e10cSrcweir const UINT16 nTok_link_typeB = 300 + Tok_XmlLink_BeginTag::type;
89*cdf0e10cSrcweir const UINT16 nTok_link_typeE = 325 + Tok_XmlLink_EndTag::type;
90*cdf0e10cSrcweir const UINT16 nTok_link_memberB = 300 + Tok_XmlLink_BeginTag::member;
91*cdf0e10cSrcweir const UINT16 nTok_link_membeE = 325 + Tok_XmlLink_EndTag::member;
92*cdf0e10cSrcweir const UINT16 nTok_link_constB = 300 + Tok_XmlLink_BeginTag::e_const;
93*cdf0e10cSrcweir const UINT16 nTok_link_constE = 325 + Tok_XmlLink_EndTag::e_const;
94*cdf0e10cSrcweir 
95*cdf0e10cSrcweir const UINT16 nTok_format_listingB = 350 + Tok_XmlFormat_BeginTag::listing;
96*cdf0e10cSrcweir const UINT16 nTok_format_listingE = 375 + Tok_XmlFormat_EndTag::listing;
97*cdf0e10cSrcweir const UINT16 nTok_format_codeB = 350 + Tok_XmlFormat_BeginTag::code;
98*cdf0e10cSrcweir const UINT16 nTok_format_codeE = 375 + Tok_XmlFormat_EndTag::code;
99*cdf0e10cSrcweir const UINT16 nTok_format_atomB = 350 + Tok_XmlFormat_BeginTag::atom;
100*cdf0e10cSrcweir const UINT16 nTok_format_atomE = 375 + Tok_XmlFormat_EndTag::atom;
101*cdf0e10cSrcweir 
102*cdf0e10cSrcweir 
103*cdf0e10cSrcweir const UINT16 nTok_html_parastart = 400;
104*cdf0e10cSrcweir 
105*cdf0e10cSrcweir const UINT16 nTok_MLDocuEnd = 501;
106*cdf0e10cSrcweir const UINT16 nTok_EOL = 502;
107*cdf0e10cSrcweir 
108*cdf0e10cSrcweir 
109*cdf0e10cSrcweir Context_Docu::Context_Docu( Token_Receiver & o_rReceiver )
110*cdf0e10cSrcweir 	:	aStateMachine(C_nStatusSize, C_nCppInitialNrOfStati),
111*cdf0e10cSrcweir 		pReceiver(&o_rReceiver),
112*cdf0e10cSrcweir 		pParentContext(0),
113*cdf0e10cSrcweir 		pCx_EoHtml(0),
114*cdf0e10cSrcweir 		pCx_EoXmlConst(0),
115*cdf0e10cSrcweir 		pCx_EoXmlLink_BeginTag(0),
116*cdf0e10cSrcweir 		pCx_EoXmlLink_EndTag(0),
117*cdf0e10cSrcweir 		pCx_EoXmlFormat_BeginTag(0),
118*cdf0e10cSrcweir 		pCx_EoXmlFormat_EndTag(0),
119*cdf0e10cSrcweir 		pCx_CheckStar(0),
120*cdf0e10cSrcweir 		pNewToken(0),
121*cdf0e10cSrcweir 		pFollowUpContext(0),
122*cdf0e10cSrcweir 		bIsMultiline(false)
123*cdf0e10cSrcweir {
124*cdf0e10cSrcweir 	pCx_EoHtml = new Cx_EoHtml(o_rReceiver, *this);
125*cdf0e10cSrcweir 	pCx_EoXmlConst = new Cx_EoXmlConst(o_rReceiver, *this);
126*cdf0e10cSrcweir 	pCx_EoXmlLink_BeginTag = new Cx_EoXmlLink_BeginTag(o_rReceiver, *this);
127*cdf0e10cSrcweir 	pCx_EoXmlLink_EndTag = new Cx_EoXmlLink_EndTag(o_rReceiver, *this);
128*cdf0e10cSrcweir 	pCx_EoXmlFormat_BeginTag = new Cx_EoXmlFormat_BeginTag(o_rReceiver, *this);
129*cdf0e10cSrcweir 	pCx_EoXmlFormat_EndTag = new Cx_EoXmlFormat_EndTag(o_rReceiver, *this);
130*cdf0e10cSrcweir 	pCx_CheckStar = new Cx_CheckStar(*pReceiver,*this);
131*cdf0e10cSrcweir 
132*cdf0e10cSrcweir 	SetupStateMachine();
133*cdf0e10cSrcweir }
134*cdf0e10cSrcweir 
135*cdf0e10cSrcweir void
136*cdf0e10cSrcweir Context_Docu::SetParentContext( TkpContext & io_rParentContext,
137*cdf0e10cSrcweir 								const char * )
138*cdf0e10cSrcweir {
139*cdf0e10cSrcweir 	pFollowUpContext = pParentContext = &io_rParentContext;
140*cdf0e10cSrcweir 	pCx_CheckStar->Set_End_FolloUpContext(io_rParentContext);
141*cdf0e10cSrcweir }
142*cdf0e10cSrcweir 
143*cdf0e10cSrcweir Context_Docu::~Context_Docu()
144*cdf0e10cSrcweir {
145*cdf0e10cSrcweir }
146*cdf0e10cSrcweir 
147*cdf0e10cSrcweir void
148*cdf0e10cSrcweir Context_Docu::ReadCharChain( CharacterSource & io_rText )
149*cdf0e10cSrcweir {
150*cdf0e10cSrcweir 	csv_assert(pParentContext != 0);
151*cdf0e10cSrcweir 
152*cdf0e10cSrcweir 	pNewToken = 0;
153*cdf0e10cSrcweir 
154*cdf0e10cSrcweir 	UINT16 nTokenId = 0;
155*cdf0e10cSrcweir 	StmBoundsStatu2 & rBound = aStateMachine.GetCharChain(nTokenId, io_rText);
156*cdf0e10cSrcweir 
157*cdf0e10cSrcweir 	// !!!
158*cdf0e10cSrcweir 	// 	 The order of the next two lines is essential, because
159*cdf0e10cSrcweir 	//   pFollowUpContext may be changed by PerformStatusFunction() also,
160*cdf0e10cSrcweir 	//   which then MUST override the previous assignment.
161*cdf0e10cSrcweir 	pFollowUpContext = rBound.FollowUpContext();
162*cdf0e10cSrcweir 	PerformStatusFunction(rBound.StatusFunctionNr(), nTokenId, io_rText);
163*cdf0e10cSrcweir }
164*cdf0e10cSrcweir 
165*cdf0e10cSrcweir bool
166*cdf0e10cSrcweir Context_Docu::PassNewToken()
167*cdf0e10cSrcweir {
168*cdf0e10cSrcweir 	if (pNewToken)
169*cdf0e10cSrcweir 	{
170*cdf0e10cSrcweir 		pReceiver->Receive(*pNewToken.Release());
171*cdf0e10cSrcweir 		return true;
172*cdf0e10cSrcweir 	}
173*cdf0e10cSrcweir 	return false;
174*cdf0e10cSrcweir }
175*cdf0e10cSrcweir 
176*cdf0e10cSrcweir TkpContext &
177*cdf0e10cSrcweir Context_Docu::FollowUpContext()
178*cdf0e10cSrcweir {
179*cdf0e10cSrcweir 	csv_assert(pFollowUpContext != 0);
180*cdf0e10cSrcweir 	return *pFollowUpContext;
181*cdf0e10cSrcweir }
182*cdf0e10cSrcweir 
183*cdf0e10cSrcweir void
184*cdf0e10cSrcweir Context_Docu::PerformStatusFunction( uintt				i_nStatusSignal,
185*cdf0e10cSrcweir 									 UINT16 	      	i_nTokenId,
186*cdf0e10cSrcweir 									 CharacterSource &	io_rText )
187*cdf0e10cSrcweir {
188*cdf0e10cSrcweir 	switch (i_nStatusSignal)
189*cdf0e10cSrcweir 	{
190*cdf0e10cSrcweir 		case nF_fin_White:
191*cdf0e10cSrcweir 			io_rText.CutToken();
192*cdf0e10cSrcweir 			pNewToken = new Tok_White;
193*cdf0e10cSrcweir             break;
194*cdf0e10cSrcweir 		case nF_fin_Error:
195*cdf0e10cSrcweir 			throw X_AutodocParser(X_AutodocParser::x_InvalidChar);
196*cdf0e10cSrcweir             // no break because of throw
197*cdf0e10cSrcweir 		case nF_fin_Ignore:
198*cdf0e10cSrcweir 			pNewToken = 0;
199*cdf0e10cSrcweir 			io_rText.CutToken();
200*cdf0e10cSrcweir 			break;
201*cdf0e10cSrcweir 		case nF_fin_Eof:
202*cdf0e10cSrcweir 			if (bIsMultiline)
203*cdf0e10cSrcweir 				throw X_AutodocParser(X_AutodocParser::x_UnexpectedEOF);
204*cdf0e10cSrcweir 			else
205*cdf0e10cSrcweir 				io_rText.CutToken();
206*cdf0e10cSrcweir 				pNewToken = new Tok_EOF;
207*cdf0e10cSrcweir 			break;
208*cdf0e10cSrcweir 		case nF_fin_AnyWord:
209*cdf0e10cSrcweir 			pNewToken = new Tok_Word(io_rText.CutToken());
210*cdf0e10cSrcweir 			break;
211*cdf0e10cSrcweir 		case nF_fin_AtTag:
212*cdf0e10cSrcweir 			io_rText.CutToken();
213*cdf0e10cSrcweir 			pNewToken = new Tok_AtTag( i_nTokenId - 100 );
214*cdf0e10cSrcweir 			break;
215*cdf0e10cSrcweir 		case nF_fin_Comma:
216*cdf0e10cSrcweir 			io_rText.CutToken();
217*cdf0e10cSrcweir 			pNewToken = new Tok_Comma;
218*cdf0e10cSrcweir 			break;
219*cdf0e10cSrcweir 		case nF_fin_EndSign:
220*cdf0e10cSrcweir 			io_rText.CutToken();
221*cdf0e10cSrcweir 			switch (i_nTokenId)
222*cdf0e10cSrcweir 			{
223*cdf0e10cSrcweir 				case nTok_MLDocuEnd:
224*cdf0e10cSrcweir 					if (bIsMultiline)
225*cdf0e10cSrcweir 					{
226*cdf0e10cSrcweir 						pNewToken = new Tok_DocuEnd;
227*cdf0e10cSrcweir 						pFollowUpContext = pParentContext;
228*cdf0e10cSrcweir 					}
229*cdf0e10cSrcweir 					else
230*cdf0e10cSrcweir 					{
231*cdf0e10cSrcweir 						pNewToken = new Tok_Word(io_rText.CutToken());
232*cdf0e10cSrcweir 						pFollowUpContext = this;
233*cdf0e10cSrcweir 					}
234*cdf0e10cSrcweir 					break;
235*cdf0e10cSrcweir 				case nTok_EOL:
236*cdf0e10cSrcweir 					if (bIsMultiline)
237*cdf0e10cSrcweir 					{
238*cdf0e10cSrcweir 						pNewToken = new Tok_EOL;
239*cdf0e10cSrcweir 						pFollowUpContext = this;
240*cdf0e10cSrcweir 					}
241*cdf0e10cSrcweir 					else
242*cdf0e10cSrcweir 					{
243*cdf0e10cSrcweir 						pNewToken = new Tok_DocuEnd;
244*cdf0e10cSrcweir 						pFollowUpContext = pParentContext;
245*cdf0e10cSrcweir 					}
246*cdf0e10cSrcweir 					pReceiver->Increment_CurLine();
247*cdf0e10cSrcweir 					break;
248*cdf0e10cSrcweir 				default:
249*cdf0e10cSrcweir 					csv_assert(false);
250*cdf0e10cSrcweir 			}
251*cdf0e10cSrcweir 			break;
252*cdf0e10cSrcweir 		case nF_goto_EoHtml:
253*cdf0e10cSrcweir 			pCx_EoHtml->SetIfIsStartOfParagraph(i_nTokenId == nTok_html_parastart);
254*cdf0e10cSrcweir 			break;
255*cdf0e10cSrcweir 		case nF_goto_EoXmlConst:
256*cdf0e10cSrcweir 			pCx_EoXmlConst->SetTokenId(i_nTokenId - 200);
257*cdf0e10cSrcweir 			break;
258*cdf0e10cSrcweir 		case nF_goto_EoXmlLink_BeginTag:
259*cdf0e10cSrcweir 			pCx_EoXmlLink_BeginTag->SetTokenId(i_nTokenId - 300);
260*cdf0e10cSrcweir 			break;
261*cdf0e10cSrcweir 		case nF_goto_EoXmlLink_EndTag:
262*cdf0e10cSrcweir 			pCx_EoXmlLink_EndTag->SetTokenId(i_nTokenId - 325);
263*cdf0e10cSrcweir 			break;
264*cdf0e10cSrcweir 		case nF_goto_EoXmlFormat_BeginTag:
265*cdf0e10cSrcweir 			pCx_EoXmlFormat_BeginTag->SetTokenId(i_nTokenId - 350);
266*cdf0e10cSrcweir 			break;
267*cdf0e10cSrcweir 		case nF_goto_EoXmlFormat_EndTag:
268*cdf0e10cSrcweir 			pCx_EoXmlFormat_EndTag->SetTokenId(i_nTokenId - 375);
269*cdf0e10cSrcweir 			break;
270*cdf0e10cSrcweir 		case nF_goto_CheckStar:
271*cdf0e10cSrcweir 			pCx_CheckStar->SetIsEnd( bIsMultiline );
272*cdf0e10cSrcweir 			break;
273*cdf0e10cSrcweir 		default:
274*cdf0e10cSrcweir 			csv_assert(false);
275*cdf0e10cSrcweir 	}	// end switch (i_nStatusSignal)
276*cdf0e10cSrcweir }
277*cdf0e10cSrcweir 
278*cdf0e10cSrcweir void
279*cdf0e10cSrcweir Context_Docu::SetupStateMachine()
280*cdf0e10cSrcweir {
281*cdf0e10cSrcweir 	// Besondere Array-Stati (kein Tokenabschluss oder Kontextwechsel):
282*cdf0e10cSrcweir //	const INT16	bas = 0;		// Base-Status
283*cdf0e10cSrcweir 	const INT16	wht = 1;		// Whitespace-overlook-Status
284*cdf0e10cSrcweir 	const INT16	awd = 2;        // Any-Word-Read-Status
285*cdf0e10cSrcweir 
286*cdf0e10cSrcweir 	// Kontextwechsel-Stati:
287*cdf0e10cSrcweir 	const INT16	goto_EoHtml = 3;
288*cdf0e10cSrcweir 	const INT16	goto_EoXmlConst = 4;
289*cdf0e10cSrcweir 	const INT16	goto_EoXmlLink_BeginTag = 5;
290*cdf0e10cSrcweir 	const INT16	goto_EoXmlLink_EndTag = 6;
291*cdf0e10cSrcweir 	const INT16	goto_EoXmlFormat_BeginTag = 7;
292*cdf0e10cSrcweir 	const INT16	goto_EoXmlFormat_EndTag = 8;
293*cdf0e10cSrcweir 	const INT16	goto_CheckStar = 9;
294*cdf0e10cSrcweir 
295*cdf0e10cSrcweir 	// Tokenfinish-Stati:
296*cdf0e10cSrcweir 	const INT16 finError = 10;
297*cdf0e10cSrcweir //	const INT16 finIgnore = 11;
298*cdf0e10cSrcweir 	const INT16 finEof = 12;
299*cdf0e10cSrcweir 	const INT16 finAnyWord = 13;
300*cdf0e10cSrcweir 	const INT16 finAtTag = 14;
301*cdf0e10cSrcweir 	const INT16 finEndSign = 15;
302*cdf0e10cSrcweir //	const INT16 finComma = 16;
303*cdf0e10cSrcweir 	const INT16 finWhite = 17;
304*cdf0e10cSrcweir 
305*cdf0e10cSrcweir 	// Konstanten zur Benutzung in der Tabelle:
306*cdf0e10cSrcweir 	const INT16 ght = goto_EoHtml;
307*cdf0e10cSrcweir /*
308*cdf0e10cSrcweir 	const INT16 gxc = goto_EoXmlConst;
309*cdf0e10cSrcweir 	const INT16 glb = goto_EoXmlLink_TagBegin;
310*cdf0e10cSrcweir 	const INT16 gle = goto_EoXmlLink_TagEnd;
311*cdf0e10cSrcweir 	const INT16 gfb = goto_EoXmlFormat_TagBegin;
312*cdf0e10cSrcweir 	const INT16 gfe = goto_EoXmlFormat_TagEnd;
313*cdf0e10cSrcweir */
314*cdf0e10cSrcweir 	const INT16 err = finError;
315*cdf0e10cSrcweir 	const INT16 faw = finAnyWord;
316*cdf0e10cSrcweir //	const INT16 fig = finIgnore;
317*cdf0e10cSrcweir //	const INT16 fes = finEndSign;
318*cdf0e10cSrcweir 	const INT16 fof = finEof;
319*cdf0e10cSrcweir //	const INT16 fat = finAtTag;
320*cdf0e10cSrcweir     const INT16 fwh = finWhite;
321*cdf0e10cSrcweir 
322*cdf0e10cSrcweir 	/// The '0's  will be replaced by calls of AddToken().
323*cdf0e10cSrcweir 
324*cdf0e10cSrcweir 	const INT16 A_nTopStatus[C_nStatusSize] =
325*cdf0e10cSrcweir 	//  0	1	2	3	4	5	6	7	8	9  10  11  12  13  14  15
326*cdf0e10cSrcweir 	{fof,err,err,err,err,err,err,err,err,wht,  0,wht,wht,  0,err,err,
327*cdf0e10cSrcweir 	 err,err,err,err,err,err,err,err,err,err,fof,err,err,err,err,err, // ... 31
328*cdf0e10cSrcweir 	 wht,awd,awd,awd,awd,awd,awd,awd,awd,awd,  0,awd,awd,awd,awd,awd,
329*cdf0e10cSrcweir 	 awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,  0,awd,awd,awd, // ... 63
330*cdf0e10cSrcweir 	   0,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,
331*cdf0e10cSrcweir 	 awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd, // ... 95
332*cdf0e10cSrcweir 	 awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,
333*cdf0e10cSrcweir 	 awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd  // ... 127
334*cdf0e10cSrcweir 	};
335*cdf0e10cSrcweir 
336*cdf0e10cSrcweir 	const INT16 A_nWhitespaceStatus[C_nStatusSize] =
337*cdf0e10cSrcweir   //   0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15
338*cdf0e10cSrcweir 	{fof,err,err,err,err,err,err,err,err,wht,fwh,wht,wht,fwh,err,err,
339*cdf0e10cSrcweir 	 err,err,err,err,err,err,err,err,err,err,fof,err,err,err,err,err, // ... 31
340*cdf0e10cSrcweir 	 wht,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,
341*cdf0e10cSrcweir 	 fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh, // ... 63
342*cdf0e10cSrcweir 	 fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,
343*cdf0e10cSrcweir 	 fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh, // ... 95
344*cdf0e10cSrcweir 	 fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,
345*cdf0e10cSrcweir 	 fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh  // ... 127
346*cdf0e10cSrcweir 	};
347*cdf0e10cSrcweir 
348*cdf0e10cSrcweir 	const INT16 A_nWordStatus[C_nStatusSize] =
349*cdf0e10cSrcweir 	// 	0	1	2	3	4	5	6	7	8	9  10  11  12  13  14  15
350*cdf0e10cSrcweir 	{faw,err,err,err,err,err,err,err,err,faw,faw,faw,faw,faw,err,err,
351*cdf0e10cSrcweir 	 err,err,err,err,err,err,err,err,err,err,faw,err,err,err,err,err, // ... 31
352*cdf0e10cSrcweir 	 faw,awd,awd,awd,awd,awd,awd,awd,awd,awd,faw,awd,awd,awd,awd,awd,
353*cdf0e10cSrcweir 	 awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,faw,awd,awd,awd, // ... 63
354*cdf0e10cSrcweir 	 faw,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,
355*cdf0e10cSrcweir 	 awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd, // ... 95
356*cdf0e10cSrcweir 	 awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,
357*cdf0e10cSrcweir 	 awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd  // ... 127
358*cdf0e10cSrcweir 	};
359*cdf0e10cSrcweir 
360*cdf0e10cSrcweir 	const INT16 A_nAtTagDefStatus[C_nStatusSize] =
361*cdf0e10cSrcweir 	// 	0	1	2	3	4	5	6	7	8	9  10  11  12  13  14  15
362*cdf0e10cSrcweir 	{faw,err,err,err,err,err,err,err,err,faw,faw,faw,faw,faw,err,err,
363*cdf0e10cSrcweir 	 err,err,err,err,err,err,err,err,err,err,faw,err,err,err,err,err, // ... 31
364*cdf0e10cSrcweir 	 faw,awd,awd,awd,awd,awd,awd,awd,awd,awd,faw,awd,awd,awd,awd,awd,
365*cdf0e10cSrcweir 	 awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,faw,awd,faw,awd,awd,awd, // ... 63
366*cdf0e10cSrcweir 	 awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,
367*cdf0e10cSrcweir 	 awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd, // ... 95
368*cdf0e10cSrcweir 	 awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,
369*cdf0e10cSrcweir 	 awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd  // ... 127
370*cdf0e10cSrcweir 	};
371*cdf0e10cSrcweir 
372*cdf0e10cSrcweir 	const INT16 A_nHtmlDefStatus[C_nStatusSize] =
373*cdf0e10cSrcweir 	// 	0	1	2	3	4	5	6	7	8	9  10  11  12  13  14  15
374*cdf0e10cSrcweir 	{ght,err,err,err,err,err,err,err,err,ght,ght,ght,ght,ght,err,err,
375*cdf0e10cSrcweir 	 err,err,err,err,err,err,err,err,err,err,ght,err,err,err,err,err, // ... 31
376*cdf0e10cSrcweir 	 ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,
377*cdf0e10cSrcweir 	 ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght, // ... 63
378*cdf0e10cSrcweir 	 ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,
379*cdf0e10cSrcweir 	 ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght, // ... 95
380*cdf0e10cSrcweir 	 ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,
381*cdf0e10cSrcweir 	 ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght  // ... 127
382*cdf0e10cSrcweir 	};
383*cdf0e10cSrcweir 
384*cdf0e10cSrcweir 	const INT16 A_nPunctDefStatus[C_nStatusSize] =
385*cdf0e10cSrcweir 	// 	0	1	2	3	4	5	6	7	8	9  10  11  12  13  14  15
386*cdf0e10cSrcweir 	{err,err,err,err,err,err,err,err,err,err,err,err,err,err,err,err,
387*cdf0e10cSrcweir 	 err,err,err,err,err,err,err,err,err,err,err,err,err,err,err,err, // 16 ...
388*cdf0e10cSrcweir 	 err,err,err,err,err,err,err,err,err,err,err,err,err,err,err,err,
389*cdf0e10cSrcweir 	 err,err,err,err,err,err,err,err,err,err,err,err,err,err,err,err, // 48 ...
390*cdf0e10cSrcweir 	 err,err,err,err,err,err,err,err,err,err,err,err,err,err,err,err,
391*cdf0e10cSrcweir 	 err,err,err,err,err,err,err,err,err,err,err,err,err,err,err,err, // 80 ...
392*cdf0e10cSrcweir 	 err,err,err,err,err,err,err,err,err,err,err,err,err,err,err,err,
393*cdf0e10cSrcweir 	 err,err,err,err,err,err,err,err,err,err,err,err,err,err,err,err  // 112 ...
394*cdf0e10cSrcweir 	};
395*cdf0e10cSrcweir 
396*cdf0e10cSrcweir 	DYN StmArrayStatu2 * dpStatusTop
397*cdf0e10cSrcweir 			= new StmArrayStatu2( C_nStatusSize, A_nTopStatus, 0, true);
398*cdf0e10cSrcweir 	DYN StmArrayStatu2 * dpStatusWhite
399*cdf0e10cSrcweir 			= new StmArrayStatu2( C_nStatusSize, A_nWhitespaceStatus, 0, true);
400*cdf0e10cSrcweir 	DYN StmArrayStatu2 * dpStatusWord
401*cdf0e10cSrcweir 			= new StmArrayStatu2( C_nStatusSize, A_nWordStatus, 0, true);
402*cdf0e10cSrcweir 
403*cdf0e10cSrcweir 	DYN StmBoundsStatu2 *  	dpBst_goto_EoHtml
404*cdf0e10cSrcweir 			= new StmBoundsStatu2( *this, *pCx_EoHtml, nF_goto_EoHtml, true );
405*cdf0e10cSrcweir 	DYN StmBoundsStatu2 *  	dpBst_goto_EoXmlConst
406*cdf0e10cSrcweir 			= new StmBoundsStatu2( *this, *pCx_EoXmlConst, nF_goto_EoXmlConst, true );
407*cdf0e10cSrcweir 	DYN StmBoundsStatu2 *  	dpBst_goto_EoXmlLink_BeginTag
408*cdf0e10cSrcweir 			= new StmBoundsStatu2( *this, *pCx_EoXmlLink_BeginTag, nF_goto_EoXmlLink_BeginTag, true );
409*cdf0e10cSrcweir 	DYN StmBoundsStatu2 *  	dpBst_goto_EoXmlLink_EndTag
410*cdf0e10cSrcweir 			= new StmBoundsStatu2( *this, *pCx_EoXmlLink_EndTag, nF_goto_EoXmlLink_EndTag, true );
411*cdf0e10cSrcweir 	DYN StmBoundsStatu2 *  	dpBst_goto_EoXmlFormat_BeginTag
412*cdf0e10cSrcweir 			= new StmBoundsStatu2( *this, *pCx_EoXmlFormat_BeginTag, nF_goto_EoXmlFormat_BeginTag, true );
413*cdf0e10cSrcweir 	DYN StmBoundsStatu2 *  	dpBst_goto_EoXmlFormat_EndTag
414*cdf0e10cSrcweir 			= new StmBoundsStatu2( *this, *pCx_EoXmlFormat_EndTag, nF_goto_EoXmlFormat_EndTag, true );
415*cdf0e10cSrcweir 	DYN StmBoundsStatu2 *  	dpBst_goto_CheckStar
416*cdf0e10cSrcweir 			= new StmBoundsStatu2( *this, *pCx_CheckStar, nF_goto_CheckStar, true );
417*cdf0e10cSrcweir 
418*cdf0e10cSrcweir 
419*cdf0e10cSrcweir 	DYN StmBoundsStatu2 *  	dpBst_finError
420*cdf0e10cSrcweir 			= new StmBoundsStatu2( *this, TkpContext_Null2_(), nF_fin_Error, true );
421*cdf0e10cSrcweir 	DYN StmBoundsStatu2 *  	dpBst_finIgnore
422*cdf0e10cSrcweir 			= new StmBoundsStatu2( *this, *this, nF_fin_Ignore, true);
423*cdf0e10cSrcweir 	DYN StmBoundsStatu2 *  	dpBst_finEof
424*cdf0e10cSrcweir 			= new StmBoundsStatu2(  *this, TkpContext_Null2_(), nF_fin_Eof, false);
425*cdf0e10cSrcweir 	DYN StmBoundsStatu2 *  	dpBst_finAnyWord
426*cdf0e10cSrcweir 			= new StmBoundsStatu2( *this, *this, nF_fin_AnyWord, true);
427*cdf0e10cSrcweir 	DYN StmBoundsStatu2 *  	dpBst_finAtTag
428*cdf0e10cSrcweir 			= new StmBoundsStatu2( *this, *this, nF_fin_AtTag, false);
429*cdf0e10cSrcweir 	DYN StmBoundsStatu2 *  	dpBst_finEndSign
430*cdf0e10cSrcweir 			= new StmBoundsStatu2( *this, *pParentContext, nF_fin_EndSign, false);
431*cdf0e10cSrcweir 	DYN StmBoundsStatu2 *  	dpBst_fin_Comma
432*cdf0e10cSrcweir 			= new StmBoundsStatu2( *this, *this, nF_fin_Comma, false );
433*cdf0e10cSrcweir 	DYN StmBoundsStatu2 *  	dpBst_finWhite
434*cdf0e10cSrcweir 			= new StmBoundsStatu2( *this, *this, nF_fin_White, false);
435*cdf0e10cSrcweir 
436*cdf0e10cSrcweir 
437*cdf0e10cSrcweir 	// dpMain aufbauen:
438*cdf0e10cSrcweir 	aStateMachine.AddStatus(dpStatusTop);
439*cdf0e10cSrcweir 	aStateMachine.AddStatus(dpStatusWhite);
440*cdf0e10cSrcweir 	aStateMachine.AddStatus(dpStatusWord);
441*cdf0e10cSrcweir 
442*cdf0e10cSrcweir 	aStateMachine.AddStatus(dpBst_goto_EoHtml);
443*cdf0e10cSrcweir 	aStateMachine.AddStatus(dpBst_goto_EoXmlConst);
444*cdf0e10cSrcweir 	aStateMachine.AddStatus(dpBst_goto_EoXmlLink_BeginTag);
445*cdf0e10cSrcweir 	aStateMachine.AddStatus(dpBst_goto_EoXmlLink_EndTag);
446*cdf0e10cSrcweir 	aStateMachine.AddStatus(dpBst_goto_EoXmlFormat_BeginTag);
447*cdf0e10cSrcweir 	aStateMachine.AddStatus(dpBst_goto_EoXmlFormat_EndTag);
448*cdf0e10cSrcweir 	aStateMachine.AddStatus(dpBst_goto_CheckStar);
449*cdf0e10cSrcweir 
450*cdf0e10cSrcweir 	aStateMachine.AddStatus(dpBst_finError);
451*cdf0e10cSrcweir 	aStateMachine.AddStatus(dpBst_finIgnore);
452*cdf0e10cSrcweir 	aStateMachine.AddStatus(dpBst_finEof);
453*cdf0e10cSrcweir 	aStateMachine.AddStatus(dpBst_finAnyWord);
454*cdf0e10cSrcweir 	aStateMachine.AddStatus(dpBst_finAtTag);
455*cdf0e10cSrcweir 	aStateMachine.AddStatus(dpBst_finEndSign);
456*cdf0e10cSrcweir 	aStateMachine.AddStatus(dpBst_fin_Comma);
457*cdf0e10cSrcweir 	aStateMachine.AddStatus(dpBst_finWhite);
458*cdf0e10cSrcweir 
459*cdf0e10cSrcweir 
460*cdf0e10cSrcweir 	aStateMachine.AddToken( "@author",	nTok_at_author,		 A_nAtTagDefStatus,	finAtTag );
461*cdf0e10cSrcweir 	aStateMachine.AddToken( "@param",   nTok_at_param,       A_nAtTagDefStatus, finAtTag );
462*cdf0e10cSrcweir 	aStateMachine.AddToken( "@throws",  nTok_at_throws,      A_nAtTagDefStatus, finAtTag );
463*cdf0e10cSrcweir 	aStateMachine.AddToken( "@see",     nTok_at_see,         A_nAtTagDefStatus, finAtTag );
464*cdf0e10cSrcweir 	aStateMachine.AddToken( "@since",   nTok_at_since,       A_nAtTagDefStatus, finAtTag );
465*cdf0e10cSrcweir 	aStateMachine.AddToken( "@example", nTok_at_example,     A_nAtTagDefStatus, finAtTag );
466*cdf0e10cSrcweir 	aStateMachine.AddToken( "@return",  nTok_at_return,      A_nAtTagDefStatus, finAtTag );
467*cdf0e10cSrcweir 	aStateMachine.AddToken( "@returns", nTok_at_return,      A_nAtTagDefStatus, finAtTag );
468*cdf0e10cSrcweir 	aStateMachine.AddToken( "@deprecated",
469*cdf0e10cSrcweir 										nTok_at_deprecated,  A_nAtTagDefStatus, finAtTag );
470*cdf0e10cSrcweir 	aStateMachine.AddToken( "@suspicious",
471*cdf0e10cSrcweir 										nTok_at_suspicious,  A_nAtTagDefStatus, finAtTag );
472*cdf0e10cSrcweir 	aStateMachine.AddToken( "@missing", nTok_at_missing,     A_nAtTagDefStatus, finAtTag );
473*cdf0e10cSrcweir 	aStateMachine.AddToken( "@incomplete",
474*cdf0e10cSrcweir 										nTok_at_incomplete,  A_nAtTagDefStatus, finAtTag );
475*cdf0e10cSrcweir 	aStateMachine.AddToken( "@version", nTok_at_version,     A_nAtTagDefStatus, finAtTag );
476*cdf0e10cSrcweir 	aStateMachine.AddToken( "@guarantees",
477*cdf0e10cSrcweir 										nTok_at_guarantees,  A_nAtTagDefStatus, finAtTag );
478*cdf0e10cSrcweir 	aStateMachine.AddToken( "@exception",
479*cdf0e10cSrcweir 										nTok_at_exception,   A_nAtTagDefStatus, finAtTag );
480*cdf0e10cSrcweir 
481*cdf0e10cSrcweir 	aStateMachine.AddToken( "<",        0,                   A_nHtmlDefStatus,  goto_EoHtml );
482*cdf0e10cSrcweir 	aStateMachine.AddToken( "*",        0,                   A_nPunctDefStatus, goto_CheckStar );
483*cdf0e10cSrcweir //	aStateMachine.AddToken( ",",        0,                   A_nPunctDefStatus, finComma );
484*cdf0e10cSrcweir 
485*cdf0e10cSrcweir 	aStateMachine.AddToken( "<type",    nTok_link_typeB,     A_nHtmlDefStatus,  goto_EoXmlLink_BeginTag );
486*cdf0e10cSrcweir 	aStateMachine.AddToken( "</type",   nTok_link_typeE,     A_nHtmlDefStatus,  goto_EoXmlLink_EndTag );
487*cdf0e10cSrcweir 	aStateMachine.AddToken( "<member",  nTok_link_memberB,   A_nHtmlDefStatus,  goto_EoXmlLink_BeginTag );
488*cdf0e10cSrcweir 	aStateMachine.AddToken( "</member", nTok_link_membeE,    A_nHtmlDefStatus,  goto_EoXmlLink_EndTag );
489*cdf0e10cSrcweir 	aStateMachine.AddToken( "<const",   nTok_link_constB,    A_nHtmlDefStatus,  goto_EoXmlLink_BeginTag );
490*cdf0e10cSrcweir 	aStateMachine.AddToken( "</const",  nTok_link_constE,    A_nHtmlDefStatus,	goto_EoXmlLink_EndTag );
491*cdf0e10cSrcweir 
492*cdf0e10cSrcweir 	aStateMachine.AddToken( "<listing", nTok_format_listingB,A_nHtmlDefStatus,	goto_EoXmlFormat_BeginTag );
493*cdf0e10cSrcweir 	aStateMachine.AddToken( "</listing",nTok_format_listingE,A_nHtmlDefStatus,  goto_EoXmlFormat_EndTag );
494*cdf0e10cSrcweir 	aStateMachine.AddToken( "<code",   	nTok_format_codeB,	 A_nHtmlDefStatus,  goto_EoXmlFormat_BeginTag  );
495*cdf0e10cSrcweir 	aStateMachine.AddToken( "</code",   nTok_format_codeE,   A_nHtmlDefStatus,  goto_EoXmlFormat_EndTag );
496*cdf0e10cSrcweir 	aStateMachine.AddToken( "<atom",   	nTok_format_atomB,	 A_nHtmlDefStatus,  goto_EoXmlFormat_BeginTag  );
497*cdf0e10cSrcweir 	aStateMachine.AddToken( "</atom",   nTok_format_atomE,   A_nHtmlDefStatus,  goto_EoXmlFormat_EndTag );
498*cdf0e10cSrcweir 
499*cdf0e10cSrcweir 	aStateMachine.AddToken( "<TRUE/",   nTok_const_TRUE,	 A_nHtmlDefStatus,	goto_EoXmlConst );
500*cdf0e10cSrcweir 	aStateMachine.AddToken( "<true/",   nTok_const_TRUE,	 A_nHtmlDefStatus,	goto_EoXmlConst );
501*cdf0e10cSrcweir 	aStateMachine.AddToken( "<FALSE/",  nTok_const_FALSE,    A_nHtmlDefStatus,	goto_EoXmlConst );
502*cdf0e10cSrcweir 	aStateMachine.AddToken( "<false/",  nTok_const_FALSE,    A_nHtmlDefStatus,	goto_EoXmlConst );
503*cdf0e10cSrcweir 	aStateMachine.AddToken( "<NULL/",   nTok_const_NULL,     A_nHtmlDefStatus,  goto_EoXmlConst );
504*cdf0e10cSrcweir 	aStateMachine.AddToken( "<void/",   nTok_const_void,     A_nHtmlDefStatus,  goto_EoXmlConst );
505*cdf0e10cSrcweir 
506*cdf0e10cSrcweir 	aStateMachine.AddToken( "<p",       nTok_html_parastart, A_nHtmlDefStatus,	goto_EoHtml );
507*cdf0e10cSrcweir 	aStateMachine.AddToken( "<pre",     nTok_html_parastart, A_nHtmlDefStatus,	goto_EoHtml );
508*cdf0e10cSrcweir 	aStateMachine.AddToken( "<dl",      nTok_html_parastart, A_nHtmlDefStatus,  goto_EoHtml );
509*cdf0e10cSrcweir 	aStateMachine.AddToken( "<ul",      nTok_html_parastart, A_nHtmlDefStatus,  goto_EoHtml );
510*cdf0e10cSrcweir 	aStateMachine.AddToken( "<ol",      nTok_html_parastart, A_nHtmlDefStatus,  goto_EoHtml );
511*cdf0e10cSrcweir 	aStateMachine.AddToken( "<table",   nTok_html_parastart, A_nHtmlDefStatus,  goto_EoHtml );
512*cdf0e10cSrcweir 	aStateMachine.AddToken( "<P",       nTok_html_parastart, A_nHtmlDefStatus,  goto_EoHtml );
513*cdf0e10cSrcweir 	aStateMachine.AddToken( "<PRE",     nTok_html_parastart, A_nHtmlDefStatus,  goto_EoHtml );
514*cdf0e10cSrcweir 	aStateMachine.AddToken( "<DL",      nTok_html_parastart, A_nHtmlDefStatus,  goto_EoHtml );
515*cdf0e10cSrcweir 	aStateMachine.AddToken( "<UL",      nTok_html_parastart, A_nHtmlDefStatus,  goto_EoHtml );
516*cdf0e10cSrcweir 	aStateMachine.AddToken( "<OL",      nTok_html_parastart, A_nHtmlDefStatus,  goto_EoHtml );
517*cdf0e10cSrcweir 	aStateMachine.AddToken( "<TABLE",   nTok_html_parastart, A_nHtmlDefStatus,  goto_EoHtml );
518*cdf0e10cSrcweir 
519*cdf0e10cSrcweir 	aStateMachine.AddToken( "\r\n",	    nTok_EOL,            A_nPunctDefStatus,	finEndSign );
520*cdf0e10cSrcweir 	aStateMachine.AddToken( "\n",       nTok_EOL,            A_nPunctDefStatus,	finEndSign );
521*cdf0e10cSrcweir 	aStateMachine.AddToken( "\r",       nTok_EOL,            A_nPunctDefStatus,	finEndSign );
522*cdf0e10cSrcweir };
523*cdf0e10cSrcweir 
524*cdf0e10cSrcweir void
525*cdf0e10cSrcweir Context_Docu::SetMode_IsMultiLine( bool	i_bTrue )
526*cdf0e10cSrcweir {
527*cdf0e10cSrcweir 	bIsMultiline = i_bTrue;
528*cdf0e10cSrcweir }
529*cdf0e10cSrcweir 
530*cdf0e10cSrcweir 
531*cdf0e10cSrcweir }   // namespace dsapi
532*cdf0e10cSrcweir }   // namespace csi
533*cdf0e10cSrcweir 
534