CVersionInfop.Dr. Detlef Meyer-EltzPParsergenerator and Interpreter1.4.1.0  Tetra.exe+Copyright 2002 - 08 Dr. Detlef Meyer-Eltz Tetra.exeTextTransformer1.4.1.0 EOLCToken EOL\r?\n Csv2XMLCProduction_LINKCsv2XML{{ WriteXMLStart("Csv"); }} ( {{ WriteTagStart("Line"); }} Line {{ WriteTagEnd(); }} )* {{ WriteXMLEnd(); }} EOL* 4 LineCProduction_LINKLine{{ int iCountItems = 0; WriteTagOpen("Item"); WriteAttibute("Number", itos(iCountItems)); WriteTagClose(); }} SKIP {{ WriteXMLContent(trim_copy(xState.str())); WriteTagEnd(); }} ( "," {{ iCountItems++; WriteTagOpen("Item"); WriteAttibute("Number", itos(iCountItems)); WriteTagClose(); }} SKIP {{ WriteXMLContent(trim_copy(xState.str())); WriteTagEnd(); }} )* EOL 4 EncodeCElementScript@~ 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_vIndentCElementScript~  m_vIndentvstrm_vTagCElementScript m_vTagvstr WriteAttibuteCElementScript WriteAttibute0{{ out << " " << xsKey << "=" << xsValue; }} $const str& xsKey, const str& xsValue WriteTagCloseCElementScript WriteTagCloseS{{ out << ">" << endl; m_vIndent.push_back(m_vIndent.back() + "\t"); }} WriteTagEndCElementScript  WriteTagEnd{{ m_vIndent.pop_back(); out << m_vIndent.back() << "" << endl; m_vTag.pop_back(); }} WriteTagOpenCElementScript|  WriteTagOpenP{{ m_vTag.push_back(xs); out << m_vIndent.back() << "<" << xs; }} const str& xs WriteTagStartCElementScript8  WriteTagStarttag without attributes-{{ WriteTagOpen(xs); WriteTagClose(); }} const str& xsWriteXMLContentCElementScript WriteXMLContentJ{{ out << m_vIndent.back() << Encode(xsContent) << endl; }} const str& xsContent WriteXMLEndCElementScript  WriteXMLEnd{{ WriteTagEnd(); }} WriteXMLStartCElementScriptl  WriteXMLStart{{ //out << "" << endl; out << "" << endl; m_vIndent.push_back(""); WriteTagStart(xsTag); }} const str& xsTagCOptionsProjectProjectOptionsProjectOptionsCOptionSectionProjectOptions) CaseSensitiveCScriptA CaseSensitive1CharTypeTemplateCScript:CharTypeTemplate1 CommentToCodeCScriptA CommentToCode0 ConfigParamCScript@ ConfigParam""CopyCodeCScript@CopyCode0CreateConstProductionsCScript( CreateConstProductions0CreateInterfaceCScript| CreateInterface0CreateWideCharRegexCScript CreateWideCharRegex0 ExportableCScript  Exportable1 ExtraParamCScriptX  ExtraParam""GlobalLiteralScannerCScript GlobalLiteralScanner1GlobalRegexScannerCScript GlobalRegexScanner0 IgnoreCharsCScriptT  IgnoreChars\tIgnoreWhiteSpaceCScript IgnoreWhiteSpace1InclusionOverlapWarningCScript InclusionOverlapWarning1 InclusionProdCScriptP  InclusionProd IndentCharCScript  IndentCharws IndentDeltaCScript  IndentDelta2 InterpretableCScriptX Interpretable1IsNullableWarningCScriptIsNullableWarning1LookAheadOverlapWarningCScriptLookAheadOverlapWarning0MaxLAStackSizeCScriptTMaxLAStackSize10 MaxStackSizeCScript MaxStackSize100NeatlessCScriptNeatless1OpSystemCScriptPOpSystem0 PluginTypeCScript PluginTypeCTT_ParseStatePluginPossibleAttrMismatchWarningCScriptPossibleAttrMismatchWarning1 PreprocessorCScriptL Preprocessor SeparatedCScript Separated1SourceEncodingCScriptSourceEncoding0SourceOpenModeCScriptHSourceOpenMode0StartSuccNullableWarningCScriptStartSuccNullableWarning1 StartruleCScript StartruleCsv2XMLStateParamRequiredCScriptDStateParamRequired0SubParserOverlapWarningCScriptSubParserOverlapWarning0TargetEncodingCScriptTargetEncoding0TargetOpenModeCScript@TargetOpenMode0TestAllLiteralsCScriptTestAllLiterals0TestFileCScriptTestFileCsv2XMLtest.txtUseIgnoreRegexCScript<UseIgnoreRegex0UseLocalOptionsCScriptUseLocalOptions0