private string DumpGDSManager(GDSTranslator.Input input, string nameSpaceName) { StringBuilder sb = new StringBuilder(partialGDSManager); StringBuilder sbInitBlock = new StringBuilder(); StringBuilder sbGetter = new StringBuilder(); StringBuilder sbFileName = new StringBuilder(); int len = input.csvNames.Length; int fileCount = 0; for (int i = 0; i < len; ++i) { if (input.IsIgnored("csharp", input.csvNames[i])) { continue; } ++fileCount; AddFileName(sbFileName, input.csvNames[i]); CSVParser.Output typeInfo = CSVParser.Parse(input.csvContents[i], CSVParser.PARSE_TYPE_INFO); AddInitBlock(sbInitBlock, input.csvNames[i], fileCount - 1); AddGDSGetter(sbGetter, input.csvNames[i], typeInfo); } sb.Replace(INIT_BLOCK_STUB, sbInitBlock.ToString()); sb.Replace(GDS_GETTER_STUB, sbGetter.ToString()); sb.Replace(FILE_NUMBER_STUB, fileCount.ToString()); sb.Replace(FILE_NAMES_STUB, sbFileName.ToString()); sb.Replace(NAMESPACE_STUB, nameSpaceName); sb.Replace(QUOTE_STUB, "\""); return(sb.ToString()); }
public void DoTranslate(string[] args) { try { InitCfgHandlers(); if (IsNoArgs(args)) { ShowTutorial(); return; } ParseArgsToTranslatorInput(args); LoadIgnoreFileLists(); GDSTranslator translator = new GDSTranslator(); GDSTranslator.Output output = translator.Translate(inputToTranslator); foreach (string lng in output.codeFileNames.Keys) { if (postprocessors.ContainsKey(lng)) { postprocessors[lng].Postprocess(inputToTranslator, output); } } inputToTranslator = null; WriteTranslateResult(output); } catch (FileNotFoundException e) { throw e; } catch (Exception e) { throw e; } }
public override void Postprocess(GDSTranslator.Input input, GDSTranslator.Output result) { string csharpNamespace = ""; for (int i = 0; i < input.dstLanguageNames.Length; ++i) { if ("csharp" == input.dstLanguageNames[i]) { csharpNamespace = input.namespaceNames[i]; break; } } result.codeFileNames["csharp"].Add(CSVPARSER_NAME); result.codeFileContents["csharp"].Add(DumpCSVParser(csharpNamespace)); result.codeFileNames["csharp"].Add(GDS_MANAGER_NAME); result.codeFileContents["csharp"].Add(DumpGDSManager(input, csharpNamespace)); base.Postprocess(input, result); }
private void Check(GDSTranslator.Input input, GDSTranslator.Output result) { // TODO : verification. }
public virtual void Postprocess(GDSTranslator.Input input, GDSTranslator.Output result) { Check(input, result); }