Esempio n. 1
0
        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;
            }
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
 private void Check(GDSTranslator.Input input, GDSTranslator.Output result)
 {
     // TODO : verification.
 }
Esempio n. 5
0
 public virtual void Postprocess(GDSTranslator.Input input, GDSTranslator.Output result)
 {
     Check(input, result);
 }