/// <summary> /// コンフィグファイルの読み込み /// </summary> /// <param name="fileName">ファイル名</param> /// <returns>コンフィグファイル</returns> private RTCOPConfigFile LoadConfigFile(string fileName) { // ファイルチェック string fileName2 = fileName; if (!File.Exists(fileName2)) { fileName2 = SourceRootPath + fileName; if (!File.Exists(fileName2)) { throw new FileNotFoundException(fileName + " が見つかりません", fileName); } } // ファイルオープン return(RTCOPConfigFile.LoadFile(fileName)); }
/// <summary> /// コンパイルマネージャ。 /// </summary> /// <param name="args">コマンドライン引数。</param> public CompileManager(string[] args) { Namespace = Properties.Settings.Default.NameSpace; string newLine = Properties.Settings.Default.LineTerminator.ToLower(); if ((newLine == "\\r") || (newLine == "cr")) { LineTerminator = "\r"; } else if ((newLine == "\\n") || (newLine == "lf")) { LineTerminator = "\n"; } else { LineTerminator = "\r\n"; } string encoding = Properties.Settings.Default.Encoding; if (encoding.ToLower() == "utf-8n") { Encoding = new UTF8Encoding(false); } else { Encoding enc = Encoding; try { enc = Encoding.GetEncoding(encoding); } catch (Exception) { } Encoding = enc; } // コンパイルオプションのチェック CheckCompileOptions(args); // コンフィグファイルの読み込み if (ConfigFilePath != "") { _RTCOPConfigFile = LoadConfigFile(ConfigFilePath); } // プリプロセッサ・コンパイラの生成 _RTCOPPreprocessor = new RTCOPPreprocessor(Macros, IncludePaths, Encoding); _RTCOPCompiler = new RTCOPCompiler(_RTCOPConfigFile); _RTCOPCodeGenerator = new RTCOPCodeGenerator(Namespace, LineTerminator, Target, Environment, IncludePaths); }
/// <summary> /// RTCOPファイルのコンパイラ /// </summary> /// <param name="configFile">コンフィグファイル</param> public RTCOPCompiler(RTCOPConfigFile configFile) { _RTCOPConfigFile = configFile; }