| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| #include <precomp.h> |
| #include <s2_dsapi/cx_dsapi.hxx> |
| |
| |
| // NOT FULLY DEFINED SERVICES |
| #include <x_parse2.hxx> |
| #include <tools/tkpchars.hxx> |
| #include <s2_dsapi/tk_atag2.hxx> |
| #include <s2_dsapi/tk_docw2.hxx> |
| #include <s2_dsapi/tk_xml.hxx> |
| #include <s2_dsapi/cx_docu2.hxx> |
| #include <s2_dsapi/tokrecv.hxx> |
| |
| |
| namespace csi |
| { |
| namespace dsapi |
| { |
| |
| |
| const intt C_nStatusSize = 128; |
| const intt C_nCppInitialNrOfStati = 400; |
| |
| |
| const uintt nF_fin_Error = 1; |
| const uintt nF_fin_Ignore = 2; |
| const uintt nF_fin_Eof = 3; |
| const uintt nF_fin_AnyWord = 4; |
| const uintt nF_fin_AtTag = 5; |
| const uintt nF_fin_EndSign = 6; |
| const uintt nF_goto_EoHtml = 7; |
| const uintt nF_goto_EoXmlConst = 8; |
| const uintt nF_goto_EoXmlLink_BeginTag = 9; |
| const uintt nF_goto_EoXmlLink_EndTag = 10; |
| const uintt nF_goto_EoXmlFormat_BeginTag = 11; |
| const uintt nF_goto_EoXmlFormat_EndTag = 12; |
| const uintt nF_goto_CheckStar = 13; |
| const uintt nF_fin_Comma = 14; |
| const uintt nF_fin_White = 15; |
| |
| const UINT16 nTok_at_author = 100 + Tok_AtTag::author; |
| const UINT16 nTok_at_see = 100 + Tok_AtTag::see; |
| const UINT16 nTok_at_param = 100 + Tok_AtTag::param; |
| const UINT16 nTok_at_return = 100 + Tok_AtTag::e_return; |
| const UINT16 nTok_at_throws = 100 + Tok_AtTag::e_throw; |
| const UINT16 nTok_at_example = 100 + Tok_AtTag::example; |
| const UINT16 nTok_at_deprecated = 100 + Tok_AtTag::deprecated; |
| const UINT16 nTok_at_suspicious = 100 + Tok_AtTag::suspicious; |
| const UINT16 nTok_at_missing = 100 + Tok_AtTag::missing; |
| const UINT16 nTok_at_incomplete = 100 + Tok_AtTag::incomplete; |
| const UINT16 nTok_at_version = 100 + Tok_AtTag::version; |
| const UINT16 nTok_at_guarantees = 100 + Tok_AtTag::guarantees; |
| const UINT16 nTok_at_exception = 100 + Tok_AtTag::exception; |
| const UINT16 nTok_at_since = 100 + Tok_AtTag::since; |
| |
| const UINT16 nTok_const_TRUE = 200 + Tok_XmlConst::e_true; |
| const UINT16 nTok_const_FALSE = 200 + Tok_XmlConst::e_false; |
| const UINT16 nTok_const_NULL = 200 + Tok_XmlConst::e_null; |
| const UINT16 nTok_const_void = 200 + Tok_XmlConst::e_void; |
| |
| const UINT16 nTok_link_typeB = 300 + Tok_XmlLink_BeginTag::type; |
| const UINT16 nTok_link_typeE = 325 + Tok_XmlLink_EndTag::type; |
| const UINT16 nTok_link_memberB = 300 + Tok_XmlLink_BeginTag::member; |
| const UINT16 nTok_link_membeE = 325 + Tok_XmlLink_EndTag::member; |
| const UINT16 nTok_link_constB = 300 + Tok_XmlLink_BeginTag::e_const; |
| const UINT16 nTok_link_constE = 325 + Tok_XmlLink_EndTag::e_const; |
| |
| const UINT16 nTok_format_listingB = 350 + Tok_XmlFormat_BeginTag::listing; |
| const UINT16 nTok_format_listingE = 375 + Tok_XmlFormat_EndTag::listing; |
| const UINT16 nTok_format_codeB = 350 + Tok_XmlFormat_BeginTag::code; |
| const UINT16 nTok_format_codeE = 375 + Tok_XmlFormat_EndTag::code; |
| const UINT16 nTok_format_atomB = 350 + Tok_XmlFormat_BeginTag::atom; |
| const UINT16 nTok_format_atomE = 375 + Tok_XmlFormat_EndTag::atom; |
| |
| |
| const UINT16 nTok_html_parastart = 400; |
| |
| const UINT16 nTok_MLDocuEnd = 501; |
| const UINT16 nTok_EOL = 502; |
| |
| |
| Context_Docu::Context_Docu( Token_Receiver & o_rReceiver ) |
| : aStateMachine(C_nStatusSize, C_nCppInitialNrOfStati), |
| pReceiver(&o_rReceiver), |
| pParentContext(0), |
| pCx_EoHtml(0), |
| pCx_EoXmlConst(0), |
| pCx_EoXmlLink_BeginTag(0), |
| pCx_EoXmlLink_EndTag(0), |
| pCx_EoXmlFormat_BeginTag(0), |
| pCx_EoXmlFormat_EndTag(0), |
| pCx_CheckStar(0), |
| pNewToken(0), |
| pFollowUpContext(0), |
| bIsMultiline(false) |
| { |
| pCx_EoHtml = new Cx_EoHtml(o_rReceiver, *this); |
| pCx_EoXmlConst = new Cx_EoXmlConst(o_rReceiver, *this); |
| pCx_EoXmlLink_BeginTag = new Cx_EoXmlLink_BeginTag(o_rReceiver, *this); |
| pCx_EoXmlLink_EndTag = new Cx_EoXmlLink_EndTag(o_rReceiver, *this); |
| pCx_EoXmlFormat_BeginTag = new Cx_EoXmlFormat_BeginTag(o_rReceiver, *this); |
| pCx_EoXmlFormat_EndTag = new Cx_EoXmlFormat_EndTag(o_rReceiver, *this); |
| pCx_CheckStar = new Cx_CheckStar(*pReceiver,*this); |
| |
| SetupStateMachine(); |
| } |
| |
| void |
| Context_Docu::SetParentContext( TkpContext & io_rParentContext, |
| const char * ) |
| { |
| pFollowUpContext = pParentContext = &io_rParentContext; |
| pCx_CheckStar->Set_End_FolloUpContext(io_rParentContext); |
| } |
| |
| Context_Docu::~Context_Docu() |
| { |
| } |
| |
| void |
| Context_Docu::ReadCharChain( CharacterSource & io_rText ) |
| { |
| csv_assert(pParentContext != 0); |
| |
| pNewToken = 0; |
| |
| UINT16 nTokenId = 0; |
| StmBoundsStatu2 & rBound = aStateMachine.GetCharChain(nTokenId, io_rText); |
| |
| // !!! |
| // The order of the next two lines is essential, because |
| // pFollowUpContext may be changed by PerformStatusFunction() also, |
| // which then MUST override the previous assignment. |
| pFollowUpContext = rBound.FollowUpContext(); |
| PerformStatusFunction(rBound.StatusFunctionNr(), nTokenId, io_rText); |
| } |
| |
| bool |
| Context_Docu::PassNewToken() |
| { |
| if (pNewToken) |
| { |
| pReceiver->Receive(*pNewToken.Release()); |
| return true; |
| } |
| return false; |
| } |
| |
| TkpContext & |
| Context_Docu::FollowUpContext() |
| { |
| csv_assert(pFollowUpContext != 0); |
| return *pFollowUpContext; |
| } |
| |
| void |
| Context_Docu::PerformStatusFunction( uintt i_nStatusSignal, |
| UINT16 i_nTokenId, |
| CharacterSource & io_rText ) |
| { |
| switch (i_nStatusSignal) |
| { |
| case nF_fin_White: |
| io_rText.CutToken(); |
| pNewToken = new Tok_White; |
| break; |
| case nF_fin_Error: |
| throw X_AutodocParser(X_AutodocParser::x_InvalidChar); |
| // no break because of throw |
| case nF_fin_Ignore: |
| pNewToken = 0; |
| io_rText.CutToken(); |
| break; |
| case nF_fin_Eof: |
| if (bIsMultiline) |
| throw X_AutodocParser(X_AutodocParser::x_UnexpectedEOF); |
| else |
| io_rText.CutToken(); |
| pNewToken = new Tok_EOF; |
| break; |
| case nF_fin_AnyWord: |
| pNewToken = new Tok_Word(io_rText.CutToken()); |
| break; |
| case nF_fin_AtTag: |
| io_rText.CutToken(); |
| pNewToken = new Tok_AtTag( i_nTokenId - 100 ); |
| break; |
| case nF_fin_Comma: |
| io_rText.CutToken(); |
| pNewToken = new Tok_Comma; |
| break; |
| case nF_fin_EndSign: |
| io_rText.CutToken(); |
| switch (i_nTokenId) |
| { |
| case nTok_MLDocuEnd: |
| if (bIsMultiline) |
| { |
| pNewToken = new Tok_DocuEnd; |
| pFollowUpContext = pParentContext; |
| } |
| else |
| { |
| pNewToken = new Tok_Word(io_rText.CutToken()); |
| pFollowUpContext = this; |
| } |
| break; |
| case nTok_EOL: |
| if (bIsMultiline) |
| { |
| pNewToken = new Tok_EOL; |
| pFollowUpContext = this; |
| } |
| else |
| { |
| pNewToken = new Tok_DocuEnd; |
| pFollowUpContext = pParentContext; |
| } |
| pReceiver->Increment_CurLine(); |
| break; |
| default: |
| csv_assert(false); |
| } |
| break; |
| case nF_goto_EoHtml: |
| pCx_EoHtml->SetIfIsStartOfParagraph(i_nTokenId == nTok_html_parastart); |
| break; |
| case nF_goto_EoXmlConst: |
| pCx_EoXmlConst->SetTokenId(i_nTokenId - 200); |
| break; |
| case nF_goto_EoXmlLink_BeginTag: |
| pCx_EoXmlLink_BeginTag->SetTokenId(i_nTokenId - 300); |
| break; |
| case nF_goto_EoXmlLink_EndTag: |
| pCx_EoXmlLink_EndTag->SetTokenId(i_nTokenId - 325); |
| break; |
| case nF_goto_EoXmlFormat_BeginTag: |
| pCx_EoXmlFormat_BeginTag->SetTokenId(i_nTokenId - 350); |
| break; |
| case nF_goto_EoXmlFormat_EndTag: |
| pCx_EoXmlFormat_EndTag->SetTokenId(i_nTokenId - 375); |
| break; |
| case nF_goto_CheckStar: |
| pCx_CheckStar->SetIsEnd( bIsMultiline ); |
| break; |
| default: |
| csv_assert(false); |
| } // end switch (i_nStatusSignal) |
| } |
| |
| void |
| Context_Docu::SetupStateMachine() |
| { |
| // Besondere Array-Stati (kein Tokenabschluss oder Kontextwechsel): |
| // const INT16 bas = 0; // Base-Status |
| const INT16 wht = 1; // Whitespace-overlook-Status |
| const INT16 awd = 2; // Any-Word-Read-Status |
| |
| // Kontextwechsel-Stati: |
| const INT16 goto_EoHtml = 3; |
| const INT16 goto_EoXmlConst = 4; |
| const INT16 goto_EoXmlLink_BeginTag = 5; |
| const INT16 goto_EoXmlLink_EndTag = 6; |
| const INT16 goto_EoXmlFormat_BeginTag = 7; |
| const INT16 goto_EoXmlFormat_EndTag = 8; |
| const INT16 goto_CheckStar = 9; |
| |
| // Tokenfinish-Stati: |
| const INT16 finError = 10; |
| // const INT16 finIgnore = 11; |
| const INT16 finEof = 12; |
| const INT16 finAnyWord = 13; |
| const INT16 finAtTag = 14; |
| const INT16 finEndSign = 15; |
| // const INT16 finComma = 16; |
| const INT16 finWhite = 17; |
| |
| // Konstanten zur Benutzung in der Tabelle: |
| const INT16 ght = goto_EoHtml; |
| /* |
| const INT16 gxc = goto_EoXmlConst; |
| const INT16 glb = goto_EoXmlLink_TagBegin; |
| const INT16 gle = goto_EoXmlLink_TagEnd; |
| const INT16 gfb = goto_EoXmlFormat_TagBegin; |
| const INT16 gfe = goto_EoXmlFormat_TagEnd; |
| */ |
| const INT16 err = finError; |
| const INT16 faw = finAnyWord; |
| // const INT16 fig = finIgnore; |
| // const INT16 fes = finEndSign; |
| const INT16 fof = finEof; |
| // const INT16 fat = finAtTag; |
| const INT16 fwh = finWhite; |
| |
| /// The '0's will be replaced by calls of AddToken(). |
| |
| const INT16 A_nTopStatus[C_nStatusSize] = |
| // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
| {fof,err,err,err,err,err,err,err,err,wht, 0,wht,wht, 0,err,err, |
| err,err,err,err,err,err,err,err,err,err,fof,err,err,err,err,err, // ... 31 |
| wht,awd,awd,awd,awd,awd,awd,awd,awd,awd, 0,awd,awd,awd,awd,awd, |
| awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd, 0,awd,awd,awd, // ... 63 |
| 0,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd, |
| awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd, // ... 95 |
| awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd, |
| awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd // ... 127 |
| }; |
| |
| const INT16 A_nWhitespaceStatus[C_nStatusSize] = |
| // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
| {fof,err,err,err,err,err,err,err,err,wht,fwh,wht,wht,fwh,err,err, |
| err,err,err,err,err,err,err,err,err,err,fof,err,err,err,err,err, // ... 31 |
| wht,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh, |
| fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh, // ... 63 |
| fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh, |
| fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh, // ... 95 |
| fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh, |
| fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh // ... 127 |
| }; |
| |
| const INT16 A_nWordStatus[C_nStatusSize] = |
| // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
| {faw,err,err,err,err,err,err,err,err,faw,faw,faw,faw,faw,err,err, |
| err,err,err,err,err,err,err,err,err,err,faw,err,err,err,err,err, // ... 31 |
| faw,awd,awd,awd,awd,awd,awd,awd,awd,awd,faw,awd,awd,awd,awd,awd, |
| awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,faw,awd,awd,awd, // ... 63 |
| faw,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd, |
| awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd, // ... 95 |
| awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd, |
| awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd // ... 127 |
| }; |
| |
| const INT16 A_nAtTagDefStatus[C_nStatusSize] = |
| // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
| {faw,err,err,err,err,err,err,err,err,faw,faw,faw,faw,faw,err,err, |
| err,err,err,err,err,err,err,err,err,err,faw,err,err,err,err,err, // ... 31 |
| faw,awd,awd,awd,awd,awd,awd,awd,awd,awd,faw,awd,awd,awd,awd,awd, |
| awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,faw,awd,faw,awd,awd,awd, // ... 63 |
| awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd, |
| awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd, // ... 95 |
| awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd, |
| awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd // ... 127 |
| }; |
| |
| const INT16 A_nHtmlDefStatus[C_nStatusSize] = |
| // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
| {ght,err,err,err,err,err,err,err,err,ght,ght,ght,ght,ght,err,err, |
| err,err,err,err,err,err,err,err,err,err,ght,err,err,err,err,err, // ... 31 |
| ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght, |
| ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght, // ... 63 |
| ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght, |
| ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght, // ... 95 |
| ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght, |
| ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght,ght // ... 127 |
| }; |
| |
| const INT16 A_nPunctDefStatus[C_nStatusSize] = |
| // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
| {err,err,err,err,err,err,err,err,err,err,err,err,err,err,err,err, |
| err,err,err,err,err,err,err,err,err,err,err,err,err,err,err,err, // 16 ... |
| err,err,err,err,err,err,err,err,err,err,err,err,err,err,err,err, |
| err,err,err,err,err,err,err,err,err,err,err,err,err,err,err,err, // 48 ... |
| err,err,err,err,err,err,err,err,err,err,err,err,err,err,err,err, |
| err,err,err,err,err,err,err,err,err,err,err,err,err,err,err,err, // 80 ... |
| err,err,err,err,err,err,err,err,err,err,err,err,err,err,err,err, |
| err,err,err,err,err,err,err,err,err,err,err,err,err,err,err,err // 112 ... |
| }; |
| |
| DYN StmArrayStatu2 * dpStatusTop |
| = new StmArrayStatu2( C_nStatusSize, A_nTopStatus, 0, true); |
| DYN StmArrayStatu2 * dpStatusWhite |
| = new StmArrayStatu2( C_nStatusSize, A_nWhitespaceStatus, 0, true); |
| DYN StmArrayStatu2 * dpStatusWord |
| = new StmArrayStatu2( C_nStatusSize, A_nWordStatus, 0, true); |
| |
| DYN StmBoundsStatu2 * dpBst_goto_EoHtml |
| = new StmBoundsStatu2( *this, *pCx_EoHtml, nF_goto_EoHtml, true ); |
| DYN StmBoundsStatu2 * dpBst_goto_EoXmlConst |
| = new StmBoundsStatu2( *this, *pCx_EoXmlConst, nF_goto_EoXmlConst, true ); |
| DYN StmBoundsStatu2 * dpBst_goto_EoXmlLink_BeginTag |
| = new StmBoundsStatu2( *this, *pCx_EoXmlLink_BeginTag, nF_goto_EoXmlLink_BeginTag, true ); |
| DYN StmBoundsStatu2 * dpBst_goto_EoXmlLink_EndTag |
| = new StmBoundsStatu2( *this, *pCx_EoXmlLink_EndTag, nF_goto_EoXmlLink_EndTag, true ); |
| DYN StmBoundsStatu2 * dpBst_goto_EoXmlFormat_BeginTag |
| = new StmBoundsStatu2( *this, *pCx_EoXmlFormat_BeginTag, nF_goto_EoXmlFormat_BeginTag, true ); |
| DYN StmBoundsStatu2 * dpBst_goto_EoXmlFormat_EndTag |
| = new StmBoundsStatu2( *this, *pCx_EoXmlFormat_EndTag, nF_goto_EoXmlFormat_EndTag, true ); |
| DYN StmBoundsStatu2 * dpBst_goto_CheckStar |
| = new StmBoundsStatu2( *this, *pCx_CheckStar, nF_goto_CheckStar, true ); |
| |
| |
| DYN StmBoundsStatu2 * dpBst_finError |
| = new StmBoundsStatu2( *this, TkpContext_Null2_(), nF_fin_Error, true ); |
| DYN StmBoundsStatu2 * dpBst_finIgnore |
| = new StmBoundsStatu2( *this, *this, nF_fin_Ignore, true); |
| DYN StmBoundsStatu2 * dpBst_finEof |
| = new StmBoundsStatu2( *this, TkpContext_Null2_(), nF_fin_Eof, false); |
| DYN StmBoundsStatu2 * dpBst_finAnyWord |
| = new StmBoundsStatu2( *this, *this, nF_fin_AnyWord, true); |
| DYN StmBoundsStatu2 * dpBst_finAtTag |
| = new StmBoundsStatu2( *this, *this, nF_fin_AtTag, false); |
| DYN StmBoundsStatu2 * dpBst_finEndSign |
| = new StmBoundsStatu2( *this, *pParentContext, nF_fin_EndSign, false); |
| DYN StmBoundsStatu2 * dpBst_fin_Comma |
| = new StmBoundsStatu2( *this, *this, nF_fin_Comma, false ); |
| DYN StmBoundsStatu2 * dpBst_finWhite |
| = new StmBoundsStatu2( *this, *this, nF_fin_White, false); |
| |
| |
| // dpMain aufbauen: |
| aStateMachine.AddStatus(dpStatusTop); |
| aStateMachine.AddStatus(dpStatusWhite); |
| aStateMachine.AddStatus(dpStatusWord); |
| |
| aStateMachine.AddStatus(dpBst_goto_EoHtml); |
| aStateMachine.AddStatus(dpBst_goto_EoXmlConst); |
| aStateMachine.AddStatus(dpBst_goto_EoXmlLink_BeginTag); |
| aStateMachine.AddStatus(dpBst_goto_EoXmlLink_EndTag); |
| aStateMachine.AddStatus(dpBst_goto_EoXmlFormat_BeginTag); |
| aStateMachine.AddStatus(dpBst_goto_EoXmlFormat_EndTag); |
| aStateMachine.AddStatus(dpBst_goto_CheckStar); |
| |
| aStateMachine.AddStatus(dpBst_finError); |
| aStateMachine.AddStatus(dpBst_finIgnore); |
| aStateMachine.AddStatus(dpBst_finEof); |
| aStateMachine.AddStatus(dpBst_finAnyWord); |
| aStateMachine.AddStatus(dpBst_finAtTag); |
| aStateMachine.AddStatus(dpBst_finEndSign); |
| aStateMachine.AddStatus(dpBst_fin_Comma); |
| aStateMachine.AddStatus(dpBst_finWhite); |
| |
| |
| aStateMachine.AddToken( "@author", nTok_at_author, A_nAtTagDefStatus, finAtTag ); |
| aStateMachine.AddToken( "@param", nTok_at_param, A_nAtTagDefStatus, finAtTag ); |
| aStateMachine.AddToken( "@throws", nTok_at_throws, A_nAtTagDefStatus, finAtTag ); |
| aStateMachine.AddToken( "@see", nTok_at_see, A_nAtTagDefStatus, finAtTag ); |
| aStateMachine.AddToken( "@since", nTok_at_since, A_nAtTagDefStatus, finAtTag ); |
| aStateMachine.AddToken( "@example", nTok_at_example, A_nAtTagDefStatus, finAtTag ); |
| aStateMachine.AddToken( "@return", nTok_at_return, A_nAtTagDefStatus, finAtTag ); |
| aStateMachine.AddToken( "@returns", nTok_at_return, A_nAtTagDefStatus, finAtTag ); |
| aStateMachine.AddToken( "@deprecated", |
| nTok_at_deprecated, A_nAtTagDefStatus, finAtTag ); |
| aStateMachine.AddToken( "@suspicious", |
| nTok_at_suspicious, A_nAtTagDefStatus, finAtTag ); |
| aStateMachine.AddToken( "@missing", nTok_at_missing, A_nAtTagDefStatus, finAtTag ); |
| aStateMachine.AddToken( "@incomplete", |
| nTok_at_incomplete, A_nAtTagDefStatus, finAtTag ); |
| aStateMachine.AddToken( "@version", nTok_at_version, A_nAtTagDefStatus, finAtTag ); |
| aStateMachine.AddToken( "@guarantees", |
| nTok_at_guarantees, A_nAtTagDefStatus, finAtTag ); |
| aStateMachine.AddToken( "@exception", |
| nTok_at_exception, A_nAtTagDefStatus, finAtTag ); |
| |
| aStateMachine.AddToken( "<", 0, A_nHtmlDefStatus, goto_EoHtml ); |
| aStateMachine.AddToken( "*", 0, A_nPunctDefStatus, goto_CheckStar ); |
| // aStateMachine.AddToken( ",", 0, A_nPunctDefStatus, finComma ); |
| |
| aStateMachine.AddToken( "<type", nTok_link_typeB, A_nHtmlDefStatus, goto_EoXmlLink_BeginTag ); |
| aStateMachine.AddToken( "</type", nTok_link_typeE, A_nHtmlDefStatus, goto_EoXmlLink_EndTag ); |
| aStateMachine.AddToken( "<member", nTok_link_memberB, A_nHtmlDefStatus, goto_EoXmlLink_BeginTag ); |
| aStateMachine.AddToken( "</member", nTok_link_membeE, A_nHtmlDefStatus, goto_EoXmlLink_EndTag ); |
| aStateMachine.AddToken( "<const", nTok_link_constB, A_nHtmlDefStatus, goto_EoXmlLink_BeginTag ); |
| aStateMachine.AddToken( "</const", nTok_link_constE, A_nHtmlDefStatus, goto_EoXmlLink_EndTag ); |
| |
| aStateMachine.AddToken( "<listing", nTok_format_listingB,A_nHtmlDefStatus, goto_EoXmlFormat_BeginTag ); |
| aStateMachine.AddToken( "</listing",nTok_format_listingE,A_nHtmlDefStatus, goto_EoXmlFormat_EndTag ); |
| aStateMachine.AddToken( "<code", nTok_format_codeB, A_nHtmlDefStatus, goto_EoXmlFormat_BeginTag ); |
| aStateMachine.AddToken( "</code", nTok_format_codeE, A_nHtmlDefStatus, goto_EoXmlFormat_EndTag ); |
| aStateMachine.AddToken( "<atom", nTok_format_atomB, A_nHtmlDefStatus, goto_EoXmlFormat_BeginTag ); |
| aStateMachine.AddToken( "</atom", nTok_format_atomE, A_nHtmlDefStatus, goto_EoXmlFormat_EndTag ); |
| |
| aStateMachine.AddToken( "<TRUE/", nTok_const_TRUE, A_nHtmlDefStatus, goto_EoXmlConst ); |
| aStateMachine.AddToken( "<true/", nTok_const_TRUE, A_nHtmlDefStatus, goto_EoXmlConst ); |
| aStateMachine.AddToken( "<FALSE/", nTok_const_FALSE, A_nHtmlDefStatus, goto_EoXmlConst ); |
| aStateMachine.AddToken( "<false/", nTok_const_FALSE, A_nHtmlDefStatus, goto_EoXmlConst ); |
| aStateMachine.AddToken( "<NULL/", nTok_const_NULL, A_nHtmlDefStatus, goto_EoXmlConst ); |
| aStateMachine.AddToken( "<void/", nTok_const_void, A_nHtmlDefStatus, goto_EoXmlConst ); |
| |
| aStateMachine.AddToken( "<p", nTok_html_parastart, A_nHtmlDefStatus, goto_EoHtml ); |
| aStateMachine.AddToken( "<pre", nTok_html_parastart, A_nHtmlDefStatus, goto_EoHtml ); |
| aStateMachine.AddToken( "<dl", nTok_html_parastart, A_nHtmlDefStatus, goto_EoHtml ); |
| aStateMachine.AddToken( "<ul", nTok_html_parastart, A_nHtmlDefStatus, goto_EoHtml ); |
| aStateMachine.AddToken( "<ol", nTok_html_parastart, A_nHtmlDefStatus, goto_EoHtml ); |
| aStateMachine.AddToken( "<table", nTok_html_parastart, A_nHtmlDefStatus, goto_EoHtml ); |
| aStateMachine.AddToken( "<P", nTok_html_parastart, A_nHtmlDefStatus, goto_EoHtml ); |
| aStateMachine.AddToken( "<PRE", nTok_html_parastart, A_nHtmlDefStatus, goto_EoHtml ); |
| aStateMachine.AddToken( "<DL", nTok_html_parastart, A_nHtmlDefStatus, goto_EoHtml ); |
| aStateMachine.AddToken( "<UL", nTok_html_parastart, A_nHtmlDefStatus, goto_EoHtml ); |
| aStateMachine.AddToken( "<OL", nTok_html_parastart, A_nHtmlDefStatus, goto_EoHtml ); |
| aStateMachine.AddToken( "<TABLE", nTok_html_parastart, A_nHtmlDefStatus, goto_EoHtml ); |
| |
| aStateMachine.AddToken( "\r\n", nTok_EOL, A_nPunctDefStatus, finEndSign ); |
| aStateMachine.AddToken( "\n", nTok_EOL, A_nPunctDefStatus, finEndSign ); |
| aStateMachine.AddToken( "\r", nTok_EOL, A_nPunctDefStatus, finEndSign ); |
| }; |
| |
| void |
| Context_Docu::SetMode_IsMultiLine( bool i_bTrue ) |
| { |
| bIsMultiline = i_bTrue; |
| } |
| |
| |
| } // namespace dsapi |
| } // namespace csi |
| |