CVersionInfop.Dr. Detlef Meyer-EltzPParsergenerator and Interpreter1.4.1.0  Tetra.exe+Copyright 2002 - 08 Dr. Detlef Meyer-Eltz Tetra.exeTextTransformer1.4.1.0 EOLCTokenEOL\r?\n  Csv2TreeXMLCProduction_LINK  Csv2TreeXMLu{{ node xn("Csv2TreeXML"); xxn.addChildLast(xn); }} ( Line[xn] )* {{ m_ftWriteXML.visit(xn, 0); }} EOL* node& xxn4 LineCProduction_LINK"Line{{ node xn("Line"); xxn.addChildLast(xn); }} SKIP {{xn.add( "Item", xState.str() );}} ( "," SKIP {{xn.add( "Item", xState.str() );}} )* EOL node& xxn4 EncodeCElementScriptp&Encode{{ str s; int pos, last = 0; for(pos = xs.find_first_of("&<>'\"\r\n"); pos != str::npos; pos = xs.find_first_of("&<>'\"\r\n", pos)) { s += xs.substr(last, pos - last); switch(xs[pos]) { case '\"': s +="""; break; case '\'': s +="'"; break; case '\n': s += " "; break; case '\r': break; case '&': s += "&"; break; case '<': s +="<"; break; case '>': s += ">"; break; default: throw CTT_Error(ctos(s[pos]) + " found in EncodeContent"); } pos++; last = pos; } s += xs.substr(last, xs.size() - last); return s; }} const str& xsstr m_ftWriteXMLCElementScript, m_ftWriteXML{{ m_ftWriteXML.add("", WriteXMLDefault); m_ftWriteXML.add("Csv2TreeXML", Write_Csv2TreeXML); m_ftWriteXML.add("Item", Write_Item); }} #const node& xnNode, int iCountItemsmstrfun m_vIndentCElementScript. m_vIndentvstrm_vTagCElementScript/m_vTagvstr WriteAttibuteCElementScript0 WriteAttibute0{{ out << " " << xsKey << "=" << xsValue; }} $const str& xsKey, const str& xsValue WriteTagCloseCElementScript1 WriteTagCloseS{{ out << ">" << endl; m_vIndent.push_back(m_vIndent.back() + "\t"); }} WriteTagEndCElementScriptT2 WriteTagEnd{{ m_vIndent.pop_back(); out << m_vIndent.back() << "" << endl; m_vTag.pop_back(); }} WriteTagOpenCElementScript3 WriteTagOpenP{{ m_vTag.push_back(xs); out << m_vIndent.back() << "<" << xs; }} const str& xs WriteTagStartCElementScript4 WriteTagStarttag without attributes-{{ WriteTagOpen(xs); WriteTagClose(); }} const str& xsWriteXMLContentCElementScript5WriteXMLContentJ{{ out << m_vIndent.back() << Encode(xsContent) << endl; }} const str& xsContentWriteXMLDefaultCElementScriptl6WriteXMLDefault{{ int iCountItems = 0; WriteTagStart(xnNode.label()); node pos = xnNode.firstChild(); while(pos != node::npos) { m_ftWriteXML.visit(State, pos, iCountItems); pos = pos.nextSibling(); iCountItems++; } WriteTagEnd(); }} $const node& xnNode, int xiCountItems WriteXMLEndCElementScriptH8 WriteXMLEnd{{ WriteTagEnd(); }} WriteXMLStartCElementScripth: WriteXMLStart{{ //out << "" << endl; out << "" << endl; m_vIndent.push_back(""); WriteTagStart(xsTag); }} const str& xsTagWrite_Csv2TreeXMLCElementScript<Write_Csv2TreeXML{{ int iCountItems = 0; WriteXMLStart("Csv"); node pos = xnNode.firstChild(); while(pos != node::npos) { m_ftWriteXML.visit(State, pos, iCountItems); pos = pos.nextSibling(); iCountItems++; } WriteXMLEnd(); }} $const node& xnNode, int xiCountItems Write_ItemCElementScriptn Write_Item{{ WriteTagOpen("Item"); WriteAttibute("Number", itos(xiCountItems)); WriteTagClose(); WriteXMLContent(trim_copy(xnNode.value())); WriteTagEnd(); }} $const node& xnNode, int xiCountItemsCOptionsProjectProjectOptionsProjectOptionsCOptionSection0?ProjectOptions) CaseSensitiveCScript? CaseSensitive1CharTypeTemplateCScriptCharTypeTemplate1 CommentToCodeCScriptH CommentToCode0 ConfigParamCScriptK ConfigParam""CopyCodeCScriptCopyCode0CreateConstProductionsCScript̍CreateConstProductions0CreateInterfaceCScriptlCreateInterface0CreateWideCharRegexCScript|CreateWideCharRegex0 ExportableCScriptT! Exportable1 ExtraParamCScript87 ExtraParam""GlobalLiteralScannerCScript=GlobalLiteralScanner1GlobalRegexScannerCScript=GlobalRegexScanner0 IgnoreCharsCScript4; IgnoreChars\tIgnoreWhiteSpaceCScript;IgnoreWhiteSpace1InclusionOverlapWarningCScript$InclusionOverlapWarning1 InclusionProdCScript% InclusionProd IndentCharCScriptl IndentCharws IndentDeltaCScript IndentDelta2 InterpretableCScript Interpretable1IsNullableWarningCScript|gIsNullableWarning1LookAheadOverlapWarningCScriptgLookAheadOverlapWarning0MaxLAStackSizeCScript$hMaxLAStackSize10 MaxStackSizeCScriptxh MaxStackSize100NeatlessCScriptT Neatless1OpSystemCScript OpSystem0 PluginTypeCScript  PluginTypeCTT_ParseStatePluginPossibleAttrMismatchWarningCScriptP PossibleAttrMismatchWarning1 PreprocessorCScriptl Preprocessor SeparatedCScriptm Separated1SourceEncodingCScript\mSourceEncoding0SourceOpenModeCScriptmSourceOpenMode0StartSuccNullableWarningCScriptnStartSuccNullableWarning1 StartruleCScriptX& Startrule Csv2TreeXMLStateParamRequiredCScript&StateParamRequired0SubParserOverlapWarningCScript'SubParserOverlapWarning0TargetEncodingCScriptT'TargetEncoding0TargetOpenModeCScript'TargetOpenMode0TestAllLiteralsCScript'TestAllLiterals0TestFileCScriptwTestFileCsv2XMLtest.txtUseIgnoreRegexCScriptdwUseIgnoreRegex0UseLocalOptionsCScriptwUseLocalOptions0