/// <summary> /// Runs <see cref="ExecutablePath"/> with the specified arguments. <paramref name="standardInput"/> is passed in to the process's standard input stream /// </summary> /// <param name="arguments">configuration arguments</param> /// <param name="standardInput">contents of standard input</param> /// <returns>contents of standard output</returns> private string Run(Collection <string> arguments, string standardInput) { string argumentText = KsuAdapter.MakeArgumentString(arguments); var output = KsuAdapter.RunExecutable(this.ExecutablePath, argumentText, standardInput); return(output); }
/// <summary> /// Generate SrcML from a given string of source code. /// </summary> /// <param name="source">A string containing the source code to parse.</param> /// <param name="language">The source language to use (C,C++,Java,AspectJ). /// If the source languageFilter is either not in this list or is null, the default source language (C++) will be used.</param> /// <returns>XML representing the source.</returns> public string GenerateSrcMLFromString(string source, Language language) { Collection <string> arguments = DefaultNamespaceArguments; arguments.Add("--no-xml-declaration"); arguments.Add(String.Format(CultureInfo.InvariantCulture, "--language={0}", KsuAdapter.GetLanguage(language))); var argumentString = KsuAdapter.MakeArgumentString(arguments); try { var xml = KsuAdapter.RunExecutable(this.src2srcml_exe, argumentString, source); return(xml); } catch (SrcMLRuntimeException e) { throw new SrcMLException("src2srcml encountered an error", e); } }
private void generateSrcMLDoc(string path, string xmlFileName, Language language) { var arguments = DefaultNamespaceArguments; if (language > Language.Any) { arguments.Add(String.Format(CultureInfo.InvariantCulture, "--language={0}", KsuAdapter.GetLanguage(language))); } arguments.Add(String.Format(CultureInfo.InvariantCulture, "\"{0}\"", path)); arguments.Add(String.Format(CultureInfo.InvariantCulture, "--output=\"{0}\"", xmlFileName)); var argumentString = KsuAdapter.MakeArgumentString(arguments); try { KsuAdapter.RunExecutable(this.src2srcml_exe, argumentString); } catch (SrcMLRuntimeException e) { throw new SrcMLException("src2srcml.exe encountered an error", e); } }
private void generateSrcMLDoc(string rootDirectory, string xmlFileName, IEnumerable <string> fileNames) { var arguments = DefaultNamespaceArguments; var tempFileListing = Path.GetTempFileName(); using (StreamWriter writer = new StreamWriter(tempFileListing)) { foreach (var fileName in fileNames) { writer.WriteLine(fileName); } } arguments.Add(String.Format(CultureInfo.InvariantCulture, "--files-from=\"{0}\"", tempFileListing)); arguments.Add(String.Format(CultureInfo.InvariantCulture, "--directory=\"{0}\"", rootDirectory)); arguments.Add(String.Format(CultureInfo.InvariantCulture, "--output=\"{0}\"", xmlFileName)); if (ExtensionMapping.NonDefaultValueCount > 0) { arguments.Add(String.Format(CultureInfo.InvariantCulture, "--register-ext {0}", KsuAdapter.ConvertMappingToString(ExtensionMapping))); } var argumentString = KsuAdapter.MakeArgumentString(arguments); try { KsuAdapter.RunExecutable(this.src2srcml_exe, argumentString); } catch (SrcMLRuntimeException e) { throw new SrcMLException("src2srcml.exe encountered an error", e); } finally { File.Delete(tempFileListing); } }
/// <summary> /// Runs <see cref="ExecutablePath"/> with the specified arguments /// </summary> /// <param name="arguments">the arguments</param> private void Run(Collection <string> arguments) { string argumentText = KsuAdapter.MakeArgumentString(arguments); KsuAdapter.RunExecutable(ExecutablePath, argumentText); }